1. Trang chủ
  2. » Luận Văn - Báo Cáo

Môn học các công nghệ phần mềm mới đề tài game 3d topdown action adventure

31 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 1,06 MB

Cấu trúc

  • PHẦN 1 GIỚI THIỆU (7)
    • 1.1 Tổng quan (7)
      • 1.1.1 Tóm tắt (7)
      • 1.1.2 Đối tượng hướng đến (7)
      • 1.1.3 Mô tả game (7)
    • 1.2 Mục tiêu và yêu cầu (8)
    • 1.3 Tại sao chọn project game (8)
    • 1.4 Mô hình quản lý dự án (8)
  • PHẦN 2 NGHIÊN CỨU KHẢ THI (9)
    • 2.1 Khía cạnh tài chính (9)
    • 2.2 Khía cạnh kỹ thuật (9)
    • 2.3 Khía cạnh kinh tế (9)
    • 2.4 Khía cạnh hợp pháp (9)
  • PHẦN 3 CHỨC NĂNG VÀ KỊCH BẢN (10)
    • 3.1 Danh sách chức năng (10)
    • 3.2 Danh sách kịch bản (10)
  • PHẦN 4 SƠ ĐỒ LỚP (14)
    • 4.1 Sơ đồ lớp chính (14)
    • 4.2 Sơ đồ lớp AI (15)
    • 4.3 Sơ đồ lớp item (16)
  • PHẦN 5 THIẾT KẾ GAME (17)
    • 5.1 Game rules (0)
    • 5.2 Cấu trúc game (0)
    • 5.3 Gameplay (0)
  • PHẦN 6 THIẾT KẾ CHI TIẾT (18)
    • 6.1 Player (18)
      • 6.1.1 Player Controller (18)
      • 6.1.2 Player Character (18)
      • 6.1.3 Điều khiển (19)
    • 6.2 Enemy (20)
      • 6.2.1 AIController (20)
      • 6.2.2 Enemy Character (22)
    • 6.3 Item (24)
      • 6.3.1 Vũ khí (0)
      • 6.3.2 Đạn (0)
      • 6.3.3 Rương đồ (0)
      • 6.3.4 Healing (0)
    • 6.4 Level Design (25)
      • 6.4.1 Lobby Level (0)
      • 6.4.2 Gameplay Level (0)
  • PHẦN 7 GIAO DIỆN (27)
  • PHẦN 8 KẾT LUẬN (30)
  • PHẦN 9 TÀI LIỆU THAM KHẢO (31)

Nội dung

Phần 1 - Giới thiệu sẽ tìm hiểu tổng quát về đồ án, bao gồm tóm tắt, đối tượng mục tiêu, mô tả, game design và tổng quan quá trình triển khai.1.1 Tổng quanMục tiêu chính của người chơi l

GIỚI THIỆU

Tổng quan

Mục tiêu chính của người chơi là vượt qua màn chơi hiện tại, giải các câu đố trong bản đồ cũng như chiến đấu chống lại các enemy để có thể tiếp tục cuộc hành trình Tùy thuộc vào gamemode của màn chơi mà người chơi phải thực hiện các mục tiêu khác nhau để có thể vượt qua màn chơi đó Nếu người chơi chết khi thanh máu tuột về 0 thì sẽ được respawn lại vị trí checkpoint mới nhất.

Trong ProjectNo5, người chơi sẽ vào vai Kwang, một chiến binh bị nhốt trong hầm ngục và phải tìm cách để thoát ra ngoài.

ProjectNo5 được phát triển dành cho thiết bị Windows với đối tượng hướng đến là các gamer từ 15 tuổi, thích try hard và hứng thú với thể loại topdown, RPG, action và adventure Có thể kể đến các tựa game như Hades, Death Door, Tunic,

Người chơi sẽ vào vai một chiến binh tên Kwang, chiến đấu chống lại kẻ thù cũng như tìm đường thoát ra khỏi hầm ngục Các màn chơi sẽ được thiết kế sẵn với vô số quái vật mà người chơi phải chiến đấu để vượt qua Trong quá trình chơi, người chơi có thể thay đổi vũ khí, trang bị, nhặt các item ngẫu nhiên trên bản đồ và item khi tiêu diệt được quái để tiếp tục hành trình.

Mục tiêu và yêu cầu

Mục tiêu và yêu cầu chính của dự án:

- Tạo ra một game topdown action adventure có thể chơi được.

- Thiết kế và xây dựng các hệ thống trong game với độ linh hoạt và mở rộng cao.

- Các hệ thống hướng tới: AI system, item and inventory system, stats and level system, levels, game modes.

- Sử dụng VFX và SFX hợp lý.

- User Interface dễ nhìn, dễ tiếp cận.

Tại sao chọn project game

Video game không chỉ giống các phần mềm khác được tạo ra để mang lại lợi ích cho cuộc sống hằng ngày của người dùng, mà hơn hết game tập trung phục vụ cho mục đích giải trí của người dùng Vì vậy, hơn bất cứ thứ gì khác, cần tập trung vào trải nghiệm của người dùng, người dùng muốn gì từ game, làm sao để nó giải trí hơn, làm sao để người dùng muốn chơi hơn Bên cạnh đó, game yêu cầu nhiều về thiết kế, kịch bản chi tiết để các hệ thống trong game có thể liên kết được với nhau tạo ra một sản phẩm hoàn chỉnh Vì vậy em nghĩ game là một đồ án phù hợp và đủ thử thách để báo cáo hoàn thành môn học.

Mô hình quản lý dự án

Mô hình quản lý dự án được chọn để phát triển và thực hiện là mô hình Agile - là một phương pháp phát triển phần mềm sử dụng các vòng lặp ngắn Ý tưởng chính là không thực hiện toàn bộ dự án từ bắt đầu đến kết thúc mà thực hiện từng hệ thống, chức năng, các phần nhỏ của project trong một khoảng thời gian ngắn nhất định Kết quả của mỗi vòng lặp như vậy được dùng để điều chỉnh kế hoạch của dự án.

NGHIÊN CỨU KHẢ THI

Khía cạnh tài chính

ProjectNo5 là game offline, free to play nên sẽ không cần phí hosting server, không cần phí tải game, các item và nhân vật được mở hoàn toàn miễn phí, không áp dụng quảng cáo trên game nên cũng không tiêu thụ internet data.

Khía cạnh kỹ thuật

Các công cụ và công nghệ được sử dụng trong quá trinh thực hiện ProjectNo5:

- Game Engine: Unreal Engine 4 (version 4.27.2).

- Image Editor: Adobe Photoshop CC 2022.

Khía cạnh kinh tế

Nguồn tài nguyên yêu cầu cho dự án:

- Máy phát triển: laptop/PC Ram tối thiểu 16GB và GPU tối thiểu GTX 1080 hoặc RTX 2070.

- Asset được sử dụng của dự án là asset miễn phí hoặc asset có phí nhưng được tải từ các nguồn miễn phí.

- Các công cụ và phần mềm sử dụng miễn phí và crack.

Khía cạnh hợp pháp

Dự án chỉ phục vụ mục đích học tập và nghiên cứu, không đem lại lợi nhuận nên các asset được sử dụng có bao gồm các asset tính phí, có license.

CHỨC NĂNG VÀ KỊCH BẢN

Danh sách chức năng

- Quản lý skill tree system.

Danh sách kịch bản

3.2.1 Usecase tương tác world item object

Trigger overlapping với world item object

Kiểm tra overlapping actor có phải player và item object type để thực hiện tương tác tương ứng:

- Add can interact item object nếu là equipment, thực hiện interact nếu là usable object

Kiểm tra list các item object có thể tương tác

Thực hiện tương tác với item có priority cao nhất (nếu có)

Cập nhật và trả về kết quả Xem kết quả

Hiển thị TabCanvas, mở CharacterStatTab, cập nhật thông tin Tab.

Trả về kết quả Xem kết quả

3.2.3 Usecase xem upgrade advance stat

Hiển thị TabCanvas, mở CharacterStatTab, cập nhật thông tin Tab.

Lấy giá trị UpgradePoints của AdvanceStat, set button increase enable hoặc disable dựa vào giá trị UpgradePoints Click vào ButtonIncrease

Nếu click thành công, tăng giá trị

AdvanceStat tương ứng lên 1 dựa vào id của button Cập nhật và trả về kết quả Xem kết quả

3.2.4 Usecase xem thông tin skill tree node

Hiển thị TabCanvas, mở CharacterStatTab, cập nhật thông tin Tab

Hiển thị SkillTreeTab, cập nhật thông tin Chọn SkillTreeNode

Lấy thông tin SkillTreeNode từ DataAsset tương ứng, hiển thị thông tin Node Trả về kết quả

3.2.5 Usecase unlock skill tree node

Hiển thị TabCanvas, mở CharacterStatTab, cập nhật thông tin Tab

Hiển thị SkillTreeTab, cập nhật thông tin Chọn SkillTreeNode

Lấy thông tin SkillTreeNode từ DataAsset tương ứng, hiển thị thông tin Node Chọn UpgradeNode button

Lấy thông tin SkillTreeNode, thực hiện unlock nếu chưa unlock Trả về kết quả Xem kết quả

3.2.6 Usecase thay đổi camera view

Trigger scroll middle mouse button

Kiểm tra giá trị scroll, kiểm tra và thực hiện zoom camera in nếu giá trị scroll > 0, zoom out nếu < 0 Cập nhật và trả về kết quả Xem kết quả

3.2.7 Usecase thực hiện light attack

Trigger light attack input (left mouse button)

Kiểm tra State hiện tại của StateMachine, truyền giá trị input vào State Kiểm tra điều kiện và thực hiện light attack nếu thõa

Cập nhật và trả về kết quả Xem kết quả

3.2.7 Usecase thực hiện heavy attack

Trigger heavy attack input (right mouse button)

Kiểm tra State hiện tại của StateMachine, truyền giá trị input vào State Kiểm tra điều kiện và thực hiện light attack nếu thõa

Cập nhật và trả về kết quả Xem kết quả

SƠ ĐỒ LỚP

Sơ đồ lớp chính

Sơ đồ lớp AI

Sơ đồ lớp Enemy AI

Sơ đồ lớp item

THIẾT KẾ GAME

Gameplay

Player Controller là class chính của người chơi, dùng để xử lý các widget (user interface), nhận input từ người chơi, quản lý các chỉ số, skill tree,… Phần game demo chỉ sử dụng một Player Controller là PlayerController_PlayerGameplay.

Các components của PlayerController_PlayerGameplay.

Player Character là nhân vật mà người chơi điều khiển Input từ người chơi được PlayerController xử lý và truyền cho Player Character, Player Character sẽ cho ra output dựa trên input đó Output khác nhau với các nhân vật khác nhau, tạo sự đa dạng và linh hoạt cho nhân vật mà người chơi điều khiển Mỗi PlayerCharacter sẽ có một StateMachineComponent,CombatComponent riêng, phù hợp với từng nhân vật Phần game demo chỉ sử dụng mộtPlayerCharacter.

THIẾT KẾ CHI TIẾT

Player

Player Controller là class chính của người chơi, dùng để xử lý các widget (user interface), nhận input từ người chơi, quản lý các chỉ số, skill tree,… Phần game demo chỉ sử dụng một Player Controller là PlayerController_PlayerGameplay.

Các components của PlayerController_PlayerGameplay.

Player Character là nhân vật mà người chơi điều khiển Input từ người chơi được PlayerController xử lý và truyền cho Player Character, Player Character sẽ cho ra output dựa trên input đó Output khác nhau với các nhân vật khác nhau, tạo sự đa dạng và linh hoạt cho nhân vật mà người chơi điều khiển Mỗi PlayerCharacter sẽ có một StateMachineComponent,CombatComponent riêng, phù hợp với từng nhân vật Phần game demo chỉ sử dụng mộtPlayerCharacter.

AWSD để di chuyển nhân vật lần lượt theo hướng trái, lên, xuống, phải theo hướng của camera.

Chuột trái để sử dụng Light Attack.

Chuột phải để sử dụng Heavy Attack.

Esc để pause và unpause game.

Tab để mở tab menu.

Enemy

AIController được xem như là bộ não của enemy, sử dụng để đưa ra các quyết định và phản ứng với input từ game Khác với PlayerController nhận input từ người chơi, AIController nhận input từ môi trường và các điều kiện khác của game.

Mỗi AIController của mỗi loại enemy sẽ chạy một BehaviorTree riêng biệt, tạo nên sự đa dạng trong output của enemy.

EnemyCharacter là nhân vật mà AIController điều khiển Mỗi EnemyCharacter sẽ có một AIController riêng biệt.

Phần demo sẽ có 3 loại enemy khác nhau: Skeleton (short range), SkeletonBow (long range) vàNarbash (mini boss).

Item

Item bao gồm những vật phẩm mà player có thể nhặt và tương tác được trong game.

Phần demo có 3 lại item: Equipment, UsableItem và TriggerOnlyItem.

Có 2 lại item trang bị là spear và bow Khi đổi trang bị, các state của người chơi cũng đổi.

Item có thể sử dụng được.

Level Design

Level là một map, một scene thực tế có trong game, là một phần của game Level chứa tất cả những gì người chơi có thể thấy và tương tác với, ví dụ như môi trường, vật thể, giao diện, nhân vật,…

GIAO DIỆN

Ngày đăng: 09/04/2024, 16:16

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w