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

Đồ án xây dựng game 2d platform với unity

96 13 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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỒ ÁN XÂY DỰNG GAME 2D PLATFORM VỚI UNITY GV HƯỚNG DẪN : ThS Trần Anh Dũng SINH VIÊN THỰC HIỆN : Nguyễn Hữu Việt : 20522152 Trần Trung Thành : 20521927 TH HỒ CHÍ MINH, THÁNG NĂM 2023 LỜI CẢM ƠN Lời em xin chân thành cảm ơn hướng dẫn tận tình thầy Trần Anh Dũng - giảng viên hướng dẫn Đồ án hỗ trợ thông tin cần thiết giải đáp thắc mắc cho nhóm suốt q trình thực đề tài Đồng thời nhóm em muốn gửi lời cảm ơn đến anh chị khóa trên, đặc biệt anh chị khoa chia sẻ kinh nghiệm quý báu môn học kiến thức liên quan Vì kiến thức chúng em cịn hạn hẹp nên khơng thể tránh khỏi thiếu sót q trình thực đồ án Vì nhóm chúng em ln mong đợi nhận ý kiến đóng góp quý báu từ phía giảng viên để qua rút kinh nghiệm, tự sửa chữa, hồn thiện thân tinh thần nghiêm túc, tự giác học hỏi Một lần nhóm chúng em xin chân thành cảm ơn thầy Thành phố Hồ Chí Minh, ngày tháng năm 2023 Sinh viên thực Nguyễn Hữu Việt Trần Trung Thành Mục Lục ĐỀ CƯƠNG CHI TIẾT 13 Chương : GIỚI THIỆU CHUNG 18 1.1 Tổng quan đề tài 18 1.2 Lý chọn đề tài 18 1.3 Đối tượng sử dụng 18 1.4 Phạm vi nghiên cứu 18 Chương : CƠ SỞ LÝ THUYẾT 20 2.1 Unity Engine 20 2.2 C# 21 2.3 Microsoft Visual Studio 22 2.4 GitHub 23 Chương : GIỚI THIỆU VỀ PLATFORM GAME 24 3.1 Khái niệm platform game 24 3.2 Một số game tiêu biểu 24 3.3 Một số phong cách thiết kế 26 3.1.1 Tuyến tính 26 3.1.2 Phi tuyến tính 26 3.1.3 Metroidvania 27 Chương : TỔNG QUAN ỨNG DỤNG 30 4.1 Ý tưởng game 30 4.2 Tính 30 4.3 Giới thiệu gameObject 31 4.3.1 Trong GamePlayScene 31 4.3.2 TrongMenuScene 33 Chương : ĐẶC TẢ USE CASE 34 5.1 Sơ đồ use case 34 5.1.1 Player 34 5.1.2 Slime 34 5.1.3 RockBug 35 5.1.4 FlyEye 36 5.1.5 RockSlug 37 5.1.6 Earth ruin guard (BOSS) 38 5.2 Danh sách Actor 39 5.3 Danh sách use case 40 5.4 Mô tả chi tiết use case 43 5.4.1 Play Game 43 5.4.2 Exit game 44 5.4.3 Pause Game 44 5.4.4 Save Game 44 5.4.5 Restart Game 45 5.4.6 Exit to Menu 45 5.4.7 Move 46 5.4.8 Dash 47 5.4.9 Attack 47 5.4.10 UpdateHp 48 5.4.11 Take Damaged 48 5.4.12 ChechHP 49 5.4.13 Dead 50 5.4.14 Buff 50 5.4.15 Interact with item 51 5.4.16 Teleport 52 5.4.17 Check map 52 5.4.18 IDLE 53 5.4.19 SeekPlayer 54 5.4.20 Walk 54 5.4.21 Fly 55 5.4.22 MeleeAttack 56 5.4.23 RangeAttack 57 5.4.24 DashAttack 57 5.4.25 AttackSkill 58 5.4.26 Appear 59 5.4.27 MissileAttack 59 5.4.28 SpinAround 60 5.4.29 StraightHit 61 5.4.30 MeteoriteFall 62 Chương : PHÂN TÍCH THIẾT KẾ 64 6.1 Phân tích thiết kế 64 6.1.1 Class diagram 64 6.1.2 Danh sách class 64 6.1.3 Chi tiết class 66 6.2 State diagram 81 6.2.1 Player state 81 6.2.2 Boss state 82 6.2.3 EarthSlime state 83 6.2.4 RockSlug state 84 6.2.5 RockBug state 85 6.2.6 FlyEnemy state 86 6.3 Thiết kế UI 87 6.3.1 Yêu cầu 87 6.3.2 Danh sách UI 88 6.3.3 Mô tả chi tiết 88 Chương : CÀI ĐẶT VÀ KIỂM THỬ 93 7.1 Môi trường cài đặt kiểm thử 93 7.2 Kết kiểm thử 93 Chương : KẾT LUẬN 94 8.1 Tổng kết 94 8.2 Kết đạt 94 8.3 Khó khăn hạn chế 94 Chương : HƯỚNG PHÁT TRIỂN 95 TÀI LIỆU THAM KHẢO 96 Danh Sách Bảng Bảng 5.1 Danh sách Actor 40 Bảng 5.2 Danh sách use case 43 Bảng 5.3 Đặc tả use case Play game 44 Bảng 5.4 Đặc tả use case Exit game 44 Bảng 5.5 Đặc tả use case Pause game 44 Bảng 5.6 Đặc tả use case Save game 45 Bảng 5.7 Đặc tả use case Restart game 45 Bảng 5.8 Đặc tả use case Exit to menu 46 Bảng 5.9 Đặc tả use case Move 47 Bảng 5.10 Đặc tả use case Dash 47 Bảng 5.11 Đặc tả use case Attack 48 Bảng 5.12 Đặc tả use case Update HP 48 Bảng 5.13 Đặc tả use case Take damaged 49 Bảng 5.14 Đặc tả use case CheckHP 50 Bảng 5.15 Đặc tả use case Dead 50 Bảng 5.16 Đặc tả use case Buff 51 Bảng 5.17 Đặc tả use case Interact with item 52 Bảng 5.18 Đặc tả use case Teleport 52 Bảng 5.19 Đặc tả use case Check map 53 Bảng 5.20 Đặc tả use case IDLE 54 Bảng 5.21 Đặc tả use case SeekPlayer 54 Bảng 5.22 Đặc tả use case Walk 55 Bảng 5.23 Đặc tả use case Fly 56 Bảng 5.24 Đặc tả use case MeleeAttack 57 Bảng 5.25 Đặc tả use case RangeAttack 57 Bảng 5.26 Đặc tả use case Dash Attack 58 Bảng 5.27 Đặc tả use case Attack skill 59 Bảng 5.28 Đặc tả use case Appear 59 Bảng 5.29 Đặc tả use case Missile Attack 60 Bảng 5.30 Đặc tả use case Spin Around 61 Bảng 5.31 Đặc tả use case Straight hit 62 Bảng 5.32 Đặc tả use case Meteorite Fall 63 Bảng 6.1 Danh sách class 66 Bảng 6.2 Chi tiết Class Health 66 Bảng 6.3 Chi tiết Class PlayerHealth 67 Bảng 6.4 Chi tiết Class EnemyHealth 67 Bảng 6.5 Chi tiết Class EnemyMovement 68 Bảng 6.6 Chi tiết Class FlyEnemyMovement 69 Bảng 6.7 Chi tiết Class BossMovement 69 Bảng 6.8 Chi tiết Class RockBugMovement 70 Bảng 6.9 Chi tiết Class RockSlugMovement 71 Bảng 6.10 Chi tiết Class EarthSlimeMovement 71 Bảng 6.11 Chi tiết Class Vision Range 72 Bảng 6.12 Chi tiết Class CameraManager 72 Bảng 6.13 Chi tiết Class PlayerController 75 Bảng 6.14 Chi tiết Class AttackBehavior 76 Bảng 6.15 Chi tiết Class AttackBase 77 Bảng 6.16 Chi tiết Class BossMeleeAttack 77 Bảng 6.17 Chi tiết Class BossAttackSkill2 77 Bảng 6.18 Chi tiết Class BossAttackSkill3 78 Bảng 6.19 Chi tiết Class BossAttackSkill4 78 Bảng 6.20 Chi tiết Class FlyDashAttack 79 Bảng 6.21 Chi tiết Class FlyRangeAttack 79 Bảng 6.22 Chi tiết Class Tackle 79 Bảng 6.23 Chi tiết Class DataPersistanceManager 80 Bảng 6.24 Chi tiết Class FileDataHandler 80 Bảng 6.25 Chi tiết Class GameData 81 Bảng 6.26 Chuyển đồi state Player 82 Bảng 6.27 Chuyển đổi state Boss 83 Bảng 6.28 Chuyển đổi state Slime 84 Bảng 6.29 Chuyển đổi state RockSlug 85 Bảng 6.30 Chuyển đổi state RockBug 86 Bảng 6.31 Chuyển đổi state FlyEye 87 Bảng 6.32 Danh sách UI 88 Bảng 7.1 Kết kiểm thử 93 S0 Initial S0 S1 S1 IDLE S1 E2 S2 S2 Walk S1 E4 S4 S3 Jump S1 E5 S5 S4 Attack S1 E6 S6 S5 Hit S2 E1 S1 S6 Dead S2 E3 S3 S7 Final S2 E6 S6 S3 E1 S1 Alias Action S3 E2 S2 E1 toIDLE 10 S3 E6 S6 E2 toWalk 11 S4 E1 S1 E3 toJump 12 S4 E6 S6 E4 toAttack 13 S5 E1 S1 E5 attacked 14 S5 E6 S6 E6 dead 15 S6 Bảng 6.26 Chuyển đồi state Player 6.2.2 Boss state S7 Hình 6.3 Sơ đồ state Boss Alias State No State Action/Event ResultState S0 Initial S0 S1 IDLE S1 E1 S2 S2 Attack S1 E3 S3 S3 Hit S1 E4 S4 S4 Dead S1 E6 S6 S5 Final S2 E3 S3 S2 E4 S4 Alias Action S3 E2 S1 E1 toAttack S4 E2 ToIDLE E3 attacked E4 dead S1 Bảng 6.27 Chuyển đổi state Boss 6.2.3 EarthSlime state S5 Hình 6.4 Sơ đồ state Slime Alias State No State Action/Event ResultState S0 Initial S0 S1 WalkAround S1 E1 S2 S2 Attack S1 E3 S3 S3 Hit S1 E4 S4 S4 Dead S1 E6 S6 S5 Final S2 E3 S3 S2 E4 S4 Alias Action S3 E2 S1 E1 toAttack S4 E2 ToWalk E3 attacked E4 dead S1 Bảng 6.28 Chuyển đổi state Slime 6.2.4 RockSlug state S5 Hình 6.5 Sơ đồ state RockSlug Alias State No State Action/Event ResultState S0 Initial S0 S1 WalkAround S1 E1 S2 S2 Attack S1 E3 S3 S3 Hit S1 E4 S4 S4 Dead S1 E6 S6 S5 Final S2 E3 S3 S2 E4 S4 Alias Action S3 E2 S1 E1 toAttack S4 E2 ToWalk E3 attacked E4 dead S1 Bảng 6.29 Chuyển đổi state RockSlug 6.2.5 RockBug state S5 Hình 6.6 Sơ đồ state RockBug Alias State No State Action/Event ResultState S0 Initial S0 S1 WalkAround S1 E1 S2 S2 Attack S1 E3 S3 S3 Hit S1 E4 S4 S4 Dead S1 E6 S6 S5 Final S2 E3 S3 S2 E4 S4 Alias Action S3 E2 S1 E1 toAttack S4 E2 ToWalk E3 attacked E4 dead S1 Bảng 6.30 Chuyển đổi state RockBug 6.2.6 FlyEnemy state S5 Hình 6.7 Sơ đồ state FlyEye Alias State No State Action/Event ResultState S0 Initial S0 S1 WalkAround S1 E1 S2 S2 Attack S1 E3 S3 S3 Hit S1 E4 S4 S4 Dead S1 E6 S6 S5 Final S2 E3 S3 S2 E4 S4 Alias Action S3 E2 S1 E1 toAttack S4 E2 ToWalk E3 attacked E4 dead S1 Bảng 6.31 Chuyển đổi state FlyEye 6.3 Thiết kế UI 6.3.1 Yêu cầu - Làm giao diện người dùng quán, dễ sử dụng S5 - Vơ hiệu hóa chức theo ngữ cảnh - Sử dụng hình hiệu 6.3.2 Danh sách UI STT Tên UI Main menu Screen Settings menu Controls Menu Pause menu Player’s health bar Enemy’s health bar Bảng 6.32 Danh sách UI 6.3.3 Mơ tả chi tiết 6.3.3.1 Main menu Screen Hình 6.8 UI Main menu screen Người dùng vào Main menu Screen chạy game Main menu Screen có: image làm background, text object làm title, buttons: Play game button, Options game button, Exit game button, info game button Chức năng: - Nhấn nút “Play game”: Tải file save game chuyển sang GamePlayScene - Nhấn nút “Options”: Mở Settíngs menu - Nhấn nút “Exit game”: Thốt game - Nhấn nút “Info game”: Hiện thơng tin game 6.3.3.2 Settings game Hình 6.9 UI Settings menu Settings menu giúp thay đổi cài đặt game Settings menu có text object làm settings title(language, damegedvalues, sound), buttons: left language button, right language button, Settíngs button, Controls button, Back button, toggle button: enableDamgeValue buton, slider: sound slider, Chức năng: - Nhấn nút “left language”: đổi ngôn ngữ - Nhấn nút “right language”: đổi ngôn ngữ - Nhấn nút “enableDamgeValue”: thay đổi cài đặt không hiên giá trị sát thương - Kéo thả slider “Sound”: tăng/ giảm âm lượng - Nhấn nút “Controls”: mở Controls menu - Nhấn nút “Back”: quay lại Main menu 6.3.3.3 Controls menu Hình 6.10 UI Controls menu Controls menu chứa cài đặt điều khiển player Controls menu có: text object để control title, 10 button: ControlSetting button cài đặt điều khiển nhân vật, Settíngs button, Controls button, Back button Chức năng: - Nhấn vào nút ControlSetting nhấn phím hình: phím điều khiển thay đổi thành phím vừa cài đặt - Nhấn nút “Settíngs”: mở Settings menu - Nhấn nút “Back”: quay lại Main menu 6.3.3.4 Pause menu Hình 6.11 UI Pause menu Pause menu chứa lựa chọn người chơi tạm dừng game Pause menu có: text object làm title, button: Resume button, BacktoMenu button, Quit game button Chức năng: - Nhấn nút “Resume”: Tiếp tục game - Nhấn nút “BacktoMenu”: Chuyển hình MainMenu - Nhấn nút “Quit Game”: Thốt game 6.3.3.5 Player’s health bar Hình 6.12 UI Player's health bar Player’s health bar chứa heart object thể lượng Hp player 6.3.3.6 Enemy’s health bar Hình 6.13 UI Enemy's health bar Enemy’s health bar hình chữ nhật màu đỏ thể lượng Hp player Chương : CÀI ĐẶT VÀ KIỂM THỬ 7.1 Môi trường cài đặt kiểm thử Mơi trường nhóm cài đặt kiểm thử: Windows 10 Để kiểm tra quản lí source code, cần có Unity Editor, launch qua Unity Hub, hướng dẫn cài đặt theo link sau: Unity - Manual: Installing Unity using the Hub (unity3d.com) Để chạy thử game, tải file DungeonEscape.zip qua link GitHub đồ án: https://github.com/Moonbanner/Dungeon_Escape_Game 7.2 Kết kiểm thử Tính STT Mức độ hoàn thiện Điều khiển nhân vật 100% Hệ thống enemy 100% Hệ thống Combat 100% Thiết kế chơi 80% Giao diện menu 100% Bảng 7.1 Kết kiểm thử Chương : KẾT LUẬN 8.1 Tổng kết − Đạt chung khoảng 85% kế hoạch đề ra, với sản phẩm game chơi được, chưa đạt quy mô mong muốn − Phân đoạn kiểm thử hoàn thành kĩ, với đồ án khơng có lỗi q rõ rệt 8.2 Kết đạt − Game có animation mượt mà, đẹp mắt − Điều khiển người chơi thoải mái, không lứng cứng, cầu kì − Tính khơng nhiều chăm chút kĩ lưỡng − Thơng qua q trình làm đồ án, nhóm có thêm nhiều kiến thức Unity Engine, cách thức Engine vận hành sử dụng giao diện Unity Editor, sửa lỗi có liên quan gặp vấn đề Visual Studio IDE lúc viết script cho đồ án 8.3 Khó khăn hạn chế − Các tính chưa đạt theo kế hoạch chủ yếu nằm phần chơi có độ dài thấp số lượng kẻ địch khơng phong phú − Một số hiệu ứng công người chơi enemy đôi lúc thô sơ, thiếu tự nhiên nhóm chưa thơng thạo animator − Game chưa thực có UI rõ ràng − Game khơng có âm Chương : HƯỚNG PHÁT TRIỂN Dự án nhiều tiềm phát triển tương lai Dưới số hướng nghiên cứu mà thực hiện: • Mở rộng nội dung cấp độ: Xây dựng thêm cấp độ nhiệm vụ mới, đồng thời bổ sung thêm vật phẩm kẻ địch để tăng tính thử thách đa dạng hóa trị chơi • Cải thiện đồ họa hiệu ứng âm thanh: Nâng cao chất lượng đồ họa hiệu ứng âm để tạo trải nghiệm trực quan tăng cường hứng thú người chơi TÀI LIỆU THAM KHẢO Các Công nghệ tiêu biểu sử dụng trình phát triển [1] UnityEngine: https://unity.com/ [2] Blender: https://www.Blender.org/ [3] Visual Studio: https://visualstudio.microsoft.com/ Tài liệu hướng dẫn ngơn ngữ lập trình [4] C# Doc: https://learn.microsoft.com/en-us/dotnet/csharp/ [5] UnityDoc: https://docs.unity3d.com/Manual/index.html Tài liệu code mẫu tham khảo trình xây dựng hệ thống logic trò chơi [6] UnityForum: https://forum.unity.com/ [7] SaiChannel: https://www.youtube.com/@SaiGame/featured [8] stackoverflow: https://stackoverflow.com/

Ngày đăng: 04/09/2023, 20:29

Xem thêm:

w