Đang tải... (xem toàn văn)
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNGNGHỆ PHẦN MỀM
ĐỒ ÁN 2
XÂY DỰNG GAME 3D TOP-DOWN VỚI UNITY
GV HƯỚNG DẪN: ThS Đinh Nguyễn Anh Dũng
SINH VIÊN THỰC HIỆN: Nguyễn Hữu Việt :20522152Trần Trung Thành :20521927
TP HỒ CHÍ MINH, 31 THÁNG 12 NĂM 2023
Trang 2LỜI CẢM ƠN
Lời đầu tiên em xin chân thành cảm ơn sự hướng dẫn tận tình của thầy ĐinhNguyễn Anh Dũng - giảng viên hướng dẫn Đồ án 2 đã hỗ trợ những thông tin cần thiết vàgiải đáp những thắc mắc cho nhóm trong suốt quá trình thực hiện đề tài.
Đồng thời nhóm em cũng muốn gửi lời cảm ơn đến các anh chị khóa trên, đặc biệtlà những anh chị trong khoa đã chia sẻ những kinh nghiệm quý báu về môn học cũng nhưnhững kiến thức liên quan.
Vì kiến thức của chúng em vẫn còn hạn hẹp nên không thể tránh khỏi những thiếusót trong quá trình thực hiện đồ án Vì vậy nhóm chúng em luôn mong đợi nhận đượcnhững ý kiến đóng góp quý báu từ phía giảng viên để qua đó có thể rút kinh nghiệm, tựsửa chữa, hoàn thiện bản thân mình trên tinh thần nghiêm túc, tự giác học hỏi Một lầnnữa nhóm chúng em xin chân thành cảm ơn thầy.
Thành phố Hồ Chí Minh, ngày 6 tháng 7 năm 2023
Sinh viên thực hiện
Nguyễn Hữu ViệtTrần Trung Thành
Trang 3Mục lục
LỜI CẢM ƠN 2
ĐỀ CƯƠNG CHI TIẾT 12
Chương 1 : GIỚI THIỆU CHUNG 16
Chương 3 : GIỚI THIỆU VỀ TOP-DOWN GAME 21
3.1.Khái niệm top-down game 21
3.2.1.Hotline Miami Series 22
Trang 43.3.4.Roguelike và Dungeon Crawlers 26
3.3.5.Simulation và Management Games 26
Chương 5 : ĐẶC TẢ USE CASE 29
5.1 Sơ đồ use case 29
5.3.Danh sách use case 37
5.4.Mô tả chi tiết use case 39
5.4.1.Play Game 39
Trang 66.3.3.Mô tả chi tiết 70
Chương 7 : CÀI ĐẶT VÀ KIỂM THỬ 83
7.1.Môi trường cài đặt và kiểm thử 83
Trang 78.4.Hướng phát triển 84TÀI LIỆU THAM KHẢO 85
Trang 8Phụ lục bảng
Bảng 5.1 Danh sách Actor 37
Bảng 5.2 Danh sách use case 39
Bảng 5.3 Đặc tả use case Play game 39
Bảng 5.4 Đặc tả use case Exit game 40
Bảng 5.5 Đặc tả use case Pause game 40
Bảng 5.6 Đặc tả use case Save game 41
Bảng 5.7 Đặc tả use case Restart game 41
Bảng 5.8 Đặc tả use case Exit to menu 42
Bảng 5.9 Đặc tả use case Move 42
Bảng 5.10 Đặc tả use case Dash 43
Bảng 5.11 Đặc tả use case Attack 43
Bảng 5.12 Đặc tả use case Update HP 44
Bảng 5.13 Đặc tả use case Take damaged 44
Bảng 5.14 Đặc tả use case CheckHP 45
Bảng 5.15 Đặc tả use case Dead 46
Bảng 5.16 Đặc tả use case Buff 47
Bảng 5.17 Đặc tả use case Interact with item 47
Bảng 5.18 Đặc tả use case Teleport 48
Bảng 5.19 Đặc tả use case Explosive 48
Bảng 5.20 Đặc tả use case IDLE 49
Bảng 5.21 Đặc tả use case Run 50
Bảng 5.22 Đặc tả use case Walk 50
Bảng 5.23 Đặc tả use case Shoot 51
Bảng 6.1 Danh sách class 53
Bảng 6.2 Chi tiết Class Health 54
Bảng 6.3 Chi tiết Class PlayerHealth 54
Trang 9Bảng 6.4 Chi tiết Class EnemyHealth 55
Bảng 6.5 Chi tiết Class EnemyMovement 55
Bảng 6.6 Chi tiết Class FlyEnemyMovement 55
Bảng 6.7 Chi tiết Class BossMovement 56
Bảng 6.11 Chi tiết Class Vision Range 56
Bảng 6.13 Chi tiết Class PlayerController 58
Bảng 6.14 Chi tiết Class AttackBehavior 59
Bảng 6.15 Chi tiết Class AttackBase 60
Bảng 6.19 Chi tiết Class BossAttackSkill4 60
Bảng 6.20 Chi tiết Class FlyDashAttack 61
Bảng 6.23 Chi tiết Class DataPersistanceManager 61
Bảng 6.24 Chi tiết Class FileDataHandler 62
Bảng 6.25 Chi tiết Class GameData 62
Bảng 6.26 Chuyển đồi state của Player 64
Bảng 6.27 Chuyển đổi state của Player 65
Bảng 6.28 Chuyển đổi state của Destroyar 66
Bảng 6.29 Chuyển đổi state của Engineer 67
Bảng 6.30 Chuyển đổi state của SecurityCyborg1 68
Bảng 6.31 Chuyển đổi state của SecurityCyborg2 68
Bảng 6.32 Danh sách UI 70
Bảng 7.1 Kết quả kiểm thử 83
Phụ lục hình
Trang 10Hình 2.1 Unity logo 18
Hình 2.2 C# logo 19
Hình 2.3 Visual studio logo 20
Hình 2.4 Github logo 21
Hình 5.1 Sơ đồ use case Player 30
Hình 5.2 Sơ đồ use case Destroyar 31
Hình 5.3 Sơ đồ use case DroneRobot 32
Hình 5.4 Sơ đồ use case Engineer 33
Hình 5.5 Sơ đồ use case SecuritiyCyborg1 34
Hình 5.6 Sơ đồ use case SecurityCyborg2 35
Hình 6.1 Sơ đồ Class 52
Hình 6.2 Sơ đồ state của Player 63
Hình 6.3 Sơ đồ state của Boss 64
Hình 6.4 Sơ đồ state của Destroyar 65
Hình 6.5 Sơ đồ state của Engineer 66
Hình 6.6 Sơ đồ state của SecurityCyborg1 67
Hình 6.7 Sơ đồ state của SecurityCyborg2 68
Hình 6.8 Sơ đồ state của Turret 69
Hình 6.14 Shop gun menu 75
Hình 6.15 Shop item menu 76
Hình 6.16 Mission menu 77
Hình 6.17 Setting menu 78
Trang 11Hình 6.18 Pause menu 79
Hình 6.19 Game win menu 80
Hình 6.20 Game over menu 81
Trang 12CÔNG NGHỆ THÔNG TIN
ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Xây dựng game 3D top-down với UnityCán bộ hướng dẫn:
- ThS Đinh Nguyễn Anh Dũng
Thời gian thực hiện: 02/10/2023 – 31/12/2023Sinh viên thực hiện:
- Trần Trung Thành – 20521927 - Nguyễn Hữu Việt – 20522152
Nội dung đề tài:
1 Lý do chọn đề tài
Hiện nay video game là một trong những hình thức giải trí phổ biến nhất của giới trẻtrong thời gian rảnh Do ngày nay gần như ai cũng sở hữu máy tính cá nhân và các hệthống phân phối game rất phổ biến nên các game do những nhóm phát triển nhỏ dễđến được tay người chơi hơn Dựa theo nhu cầu giải trí của mọi người, nhóm emquyết định chọn đề tài phát triển một game 3D top down.
2 Mục tiêu:
- Hiểu rõ cấu trúc và cách sử dụng của Unity Engine
- Tạo ra một sản phẩm game đáp ứng được nhu cầu của người chơi để giải tríđăng tải lên intch.io/simmer.io.
- Thể loại game: top down, action, shooter.- Áp dụng được các thuật toán thông minh.
- Có một đoạn Intro khi vào game.
- Enemies sẽ di chuyển canh gác xung quanh khu vực làm nhiệm vụ Enemies sẽ tiến vào trạng thái tấn công nếu player bước vào khu vực tầm nhìn hoặc tấn
Trang 13công ở khoảng cách gần.
- Người chơi có thể nhận được xu khi hoàn thành nhiệm vụ hoặc hoàn thành màn chơi nhỏ trong nhiệm vụ/ từ bảng thành tựu của game để mua item và nâng cấp vũ khí.
- Người chơi có thể thay đổi và nâng cấp nhiều loại súng khác nhau để thích hợp cho từng tính huống chiến đấu.
- Có các tính năng Pause game, Save game.
4 Đối tượng sử dụng
Bất cứ ai thích chơi thể loại shooter, top down
5 Phương pháp thực hiện
- Làm việc online hoặc offline với giáo viên hướng dẫn.
- Học và nghiên cứu Unity để phát triển các tính năng của game
- Áp dụng các kỹ thuật (Pooling, ) và mẫu thiết kế (Observer, State machine, Singleton, ) để tối ưu trò chơi.
- Áp dụng các thuật toán AI cho enemies (thuật toán tìm đường A*).- Dành 1 hoặc 2 tuần để tiến hành test game, refactor và tối ưu game.- Hoàn thành deadline đúng hạn theo kế hoạch
6 Nền tảng công nghệ
- Nền tảng phát triển: Win 10/11- Môi trường: Unity
- Công cụ: Unity engine, visual studio code- Ngôn ngữ: C#
- Quản lý code: Github
- Công cụ thiết kế: Photoshop, Draw.io
7 Kết quả mong đợi
- Xây dựng hoàn chỉnh game, chạy mượt mà, không xảy ra lỗi crack- Boss và enemies hoạt động đúng như mong muốn.
- Trình phát hiện collision hoạt động tốt, không vượt qua các đối tượng vật cản.- Có thể chơi game trên một số website hoặc window.
8 Hướng phát triển của đề tài
- Thêm csdl để lưu trữ thông tin game.- Phát triển tính năng thêm sự kiện.- Multi player
- Cải tiển thêm các thuật toán AI khác cho Enemies.
- Cải tiến thêm các thuật toán tốt hơn để tối ưu trải nghiệm chơi game.
9 Kế hoạch làm việc
Thời gian thực hiện: Từ ngày 02/10/2023 đến 31/12/2023
Kế hoạch thực hiện đồ án được chia thành 3 giai đoạn chính và nhiều sprint:Giai đoạn 1: Chuẩn bị
Trang 14 Cài đặt animation cho player và enemy Code di chuyển và tấn công của player Code di chuyển và tấn công của enemies Code di chuyển của bullet
- Sprint 3 (22/10/2023 – 4/11/2023)
Xây dựng PlayScene và non-moving object
Code collision giữa player với enemies/ enemy bullet/ non-moving object
Code collision giữa enemies với player/ player bullet/ non-moving object Xây dựng effect giữa player và enemy
Xây dựng map + cài đặt hệ thống camera Code non-moving object
Đặt enemies lên map => hoàn thiện màn chơi Cài đặt hệ thống âm thanh
Cài đặt hệ thống HUB (máu, tiền,…)- Sprint 4 (5/11/2023 – 18/11/2023)
Xây dựng hệ thống Scriptable objects Xây dựng hệ thống buff
Xây dựng hệ thống item (Cài đặt tương tác giữa player và NPC) Xây dựng hệ thống item và mua đồ từ shop
Xây dựng hệ thống Inventory và Upgrade item- Sprint 5 (19/11/2023 – 25/11/2023)
Xây dựng hệ thống nhiệm vụ, thành tựu Xây dựng các map còn lại
Cài đặt chuyển Scene
Cài đặt Pause Game và Save Game- Sprint 6 (26/11/2023 – 9/12/2023)
Cài đặt Menu
Xây dựng các đoạn Intro Scene và Cut SceneGiai đoạn 3: Kết thúc
Trang 15- Sprint 7 (10/12/2023 – 16/12/2023) Test game và sửa lỗi
- Sprint 8 (17/12/2023 – 31/12/2023)
Triển khai game trên các nền tảng như Window, website, … Thu thập đánh giá.
10 Phân công công việc
Công việc Mô tả công việcCông việc
chung
- Tìm hiểu công nghệ- Phân tích thiết kế
- Lập trình player, enemies và boss- Xây dựng Play Scene
- Kiểm thử game- Triển khai game
- Chuẩn bị tài liệu và báo cáo
Công việc cá nhân
- Thiết kế giao diện các màn hình.
- Xây dựng intro scene
- Xây dựng khung sườn cho game- cài đặt save data(game state và
game setting).
- Quản lý tiến độ đồ án
Trang 16Chương 1 : GIỚI THIỆU CHUNG1.1 Tổng quan đề tài
Tên đề tài: Xây dựng game 3D top-down với unityNền tảng công nghệ: Unity Engine
Môi trường phát triển: Desktop - Windows 10
1.2 Lý do chọn đề tài
Hiện nay video game là một trong những hình thức giải trí phổ biến nhất của giớitrẻ trong thời gian rảnh Do ngày nay gần như ai cũng sở hữu máy tính cá nhân và các hệthống phân phối game rất phổ biến nên các game do những nhóm phát triển nhỏ dễ đếnđược tay người chơi hơn Dựa theo nhu cầu giải trí của mọi người, nhóm quyết định chọnđề tài phát triển một game 3D nhỏ.
Game 3D gồm nhiều màn chơi
Một nhân vật do người chơi điều khiển với hệ thống di chuyển cơ bản - đi lênxuống trái phải; khả năng chiến đấu cơ bản – nhấn chuột để bắn súng; các kỹnăng đặc biệt khác như ném boom, lướt, …
Nhiều enemy NPC (quái vật) tự di chuyển và hành động theo AI được cài đặtsẵn, phản ứng theo hành vi của người chơi
Trang 17 Màn chơi được thiết kế thủ công, sử dụng asset có sẵn, với độ rộng thấp Một menu chính khi mở ứng dụng game lên và kết thúc game với các nút cơ
bản
Trang 18Chương 2 : CƠ SỞ LÝ THUYẾT2.1 Unity Engine
Hình 2.1 Unity logo
Unity là một game engine đa nền tảng được phát triển bởi Unity Technologies, lầnđầu tiên được công bố và phát hành vào tháng 6 năm 2005 tại Apple WorldwideDevelopers Conference dưới dạng game engine cho Mac OSX
Unity Engine đã dần dần được mở rộng để hỗ trợ các loại nền tảng desktop,mobile, console và Virtual Reality Nó đặc biệt phổ biến trên IOS, Android và được coilà dễ sử dụng cho người mới bắt đầu phát triển game và các nhà phát triển indie Công cụcó thể được sử dụng để tạo ra game 3D và 2D, cũng như mô phỏng tương tác và các trảinghiệm khác Engine đã được được chấp nhận bởi các ngành bên ngoài trò chơi điện tử,chẳng hạn như phim, ô tô, kiến trúc, kỹ thuật và xây dựng
Unity cung cấp cho người dùng khả năng tạo ra game và trải nghiệm ở cả 2D và3D, đồng thời engine cung cấp một scripting API chính trong C# bằng cách sử dụngMono, cho cả trình soạn thảo Unity editor ở dạng plugin và bản thân các game, cũng nhưchức năng kéo và thả Trước khi C# trở thành ngôn ngữ lập trình chính được sử dụngtrong engine, trước đây engine hỗ trợ Boo, nhưng đã bị xóa khi phát hành Unity 5 vàtriển khai dựa trên Boo của JavaScript được gọi là UnityScript, và không được dùng nữavào tháng 8 năm 2017, sau khi phát hành Unity 2017.1, để sử dụng C#
Trang 19Trong các game 2D, Unity cho phép import các sprite và 2D world renderer tiêntiến Đối với game 3D, Unity cho phép đặc tả kỹ thuật texture compression, mipmap vàcài đặt độ phân giải cho mỗi nền tảng mà engine hỗ trợ và cung cấp hỗ trợ cho bumpmapping, reflection mapping, parallax mapping, screen space ambient occlusion (SSAO),dynamic shadows using shadow maps, render-to-texture và full-screen post-processingeffects.
2.2 C#
Hình 2.2 C# logo
C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội ngũkỹ sư của Microsoft vào năm 2000 C# là ngôn ngữ lập trình hiện đại, hướng đối tượngvà được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.
Trong các ứng dụng Windows truyền thống, mã nguồn chương trình được biêndịch trực tiếp thành mã thực thi của hệ điều hành.Trong các ứng dụng sử dụng NETFramework, mã nguồn chương trình (C#, VB.NET) được biên dịch thành mã ngôn ngữtrung gian MSIL (Microsoft intermediate language) Sau đó mã này được biên dịch bởiCommon Language Runtime (CLR) để trở thành mã thực thi của hệ điều hành.
Trang 20C# với sự hỗ trợ mạnh mẽ của NET Framework giúp cho việc tạo một ứng dụngWindows Forms hay WPF (Windows Presentation Foundation), phát triển game, ứngdụng Web, ứng dụng Mobile trở nên rất dễ dàng.
2.3 Microsoft Visual Studio
Hình 2.3 Visual studio logo
Visual Studio Logo Microsoft Visual Studio là một môi trường phát triển tích hợp(IDE) từ Microsoft Microsoft Visual Studio còn được gọi là "Trình soạn thảo mã nhiềungười sử dụng nhất thế giới ", được dùng để lập trình C++ và C# là chính Nó được sửdụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trangweb, các ứng dụng web và các dịch vụ web Visual Studio sử dụng nền tảng phát triểnphần mềm của Microsoft như Windows API, Windows Forms, Windows PresentationFoundation, Windows Store và Microsoft Silverlight Nó có thể sản xuất cả hai ngôn ngữmáy và mã số quản lý.
Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biêntập mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập trình Các ngônngữ tích hợp gồm có C,[4] C++ và C++/CLI (thông qua Visual C++), VB.NET (thôngqua Visual Basic.NET), C# (thông qua Visual C#) và F# (như của Visual Studio
Trang 212010[5]) Hỗ trợ cho các ngôn ngữ khác như J++/J#, Python và Ruby thông qua dịch vụcài đặt riêng rẽ Nó cũng hỗ trợ XML/XSLT, HTML/XHTML, JavaScript và CSS.
Microsoft cung cấp phiên bản "Express" (đối với phiên bản Visual Studio 2013 trởvề trước) và "Community" (đối với bản Visual Studio 2015 trở về sau) là phiên bản miễnphí của Visual Studio
2.4 GitHub
Hình 2.4 Github logo
GitHub là một hệ thống quản lý dự án và phiên bản code, hoạt động giống nhưmột mạng xã hội cho lập trình viên Các lập trình viên có thể clone lại mã nguồn từ mộtrepository và Github chính là một dịch vụ máy chủ repository công cộng, mỗi người cóthể tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể làm việc.
Github có đầy đủ những tính năng của Git, ngoài ra nó còn bổ sung những tínhnăng về social để các developer tương tác với nhau Github cung cấp các tính năng socialnetworking như feeds, followers, và network graph để các developer học hỏi kinh nghiệmcủa nhau thông qua lịch sử commit.
Trang 22Chương 3 : GIỚI THIỆU VỀ TOP-DOWN GAME3.1 Khái niệm top-down game
Từ lâu, khái niệm game nhập vai hay Role-Playing Game (RPG) đã không còn xa lạ đối với nhiều người RPG đồng thời cũng đại diện cho rất nhiều dòng game nhỏ bên trong nó, chính vì thế RPG đóng vai trò là một yếu tố trong một game hơn là một thể loại cụ thể Dòng game top-down cũng là một phần không thể thiếu trong thế giới đa dạng củagame nhập vai (RPG)
Điểm đặc trưng của top-down game bao gồm:
- Góc nhìn và phong cách thiết kế: Người chơi quan sát môi trường chơi game từ
trên cao, thường là góc nhìn vuông góc Điều này tạo ra một cái nhìn toàn cảnh, giúp người chơi dễ dàng điều khiển nhân vật và xác định vị trí của các đối tượng xung quanh.
- Trọng tâm vào chiến đấu và trí tuệ: Trong top-down game, người chơi thường
phải đối mặt với các thách thức từ đối thủ và bản đồ phức tạp Thậm chí, đôi khi cần sử dụng trí tuệ và chiến lược để vượt qua các câu đố hoặc tình huống.
- Thế giới đa dạng: Top-down game có thể đặt trong các bối cảnh đa dạng, từ thế
giới mở rộng rãi đến các mê cung hẹp Điều này tạo ra cơ hội cho việc khám phá, thu thập vật phẩm và gặp gỡ các nhân vật khác nhau.
3.2 Một số game tiêu biểu
Dòng game shooter top-down đã tạo ra một số tựa game đình đám với gameplaythú vị và cách tiếp cận độc đáo Dưới đây là một số tựa game tiêu biểu:
3.2.1 Hotline Miami Series
Trang 23Được biết đến với hình ảnh pixel art và tốc độ nhanh chóng, series game HotlineMiami đưa người chơi vào một thế giới bạo lực với phong cách top-down Người chơi sẽtrải qua các cấp độ đầy khó khăn, sử dụng sự linh hoạt và chiến lược để hoàn thành cácnhiệm vụ ám sát
Hình 3.5 Game Hotline Miami Series
Game diễn ra trong bối cảnh Miami của thập niên 80, người chơi nhập vai vào mộtkẻ sát nhân thuê Anh ta nhận nhiệm vụ từ điện thoại di động để thực hiện các vụ ám sát và loại bỏ các mục tiêu khác nhau ameplay tập trung vào tốc độ nhanh chóng và phản xạ.Người chơi cần di chuyển nhanh, đánh bại kẻ thù và hoàn thành mục tiêu một cách nhanhnhất có thể Tựa game yêu cầu người chơi thử nghiệm và lặp lại nhiều lần các cấp độ để hiểu rõ định hình và tìm ra cách tiếp cận tốt nhất Hơn nữa người chơi có thể chọn từ một loạt vũ khí khác nhau, mỗi loại vũ khí đều có ưu điểm và nhược điểm riêng.
3.2.2 Nuclear Throne
Trang 24"Nuclear Throne" là một trò chơi hành động roguelike top-down được phát triểnbởi Vlambeer Trong thế giới của "Nuclear Throne," bạn sẽ chiến đấu qua các màn chơingẫu nhiên, thu thập vũ khí và tiến lên hạ ngai vàng
Hình 3.6 Nuclear Throne
Trò chơi đặt bạn vào một thế giới hậu hậu tận thế, nơi đầy rẫy với quái vật, vũ khívà môi trường đầy nguy hiểm "Nuclear Throne" nổi bật với sự đa dạng của các loại vũkhí Từ súng cơ bản đến các loại vũ khí siêu năng lượng và biến thể của chúng, ngườichơi có thể chọn lựa và tận dụng để thích nghi với môi trường chiến đấu Bạn có thể chọntừ một loạt nhân vật với các kỹ năng riêng biệt Mỗi nhân vật có khả năng và mục tiêuriêng, tạo ra sự đa dạng trong cách tiếp cận và chiến đấu.
3.2.3 Helldivers
"Helldivers" là một game hành động top-down co-op được phát triển bởiArrowhead Game Studios Trò chơi này đưa người chơi vào tương lai khi loài ngườichiến đấu với các loài ngoài hành tinh.
Trang 25Hình 3.7 Helldivers
Helldivers được thiết kế để chơi cùng bạn bè hoặc người chơi khác thông qua chếđộ hợp tác đa người chơi Điều này tạo ra trải nghiệm chơi game cộng đồng, nơi mà bạnvà đồng đội của mình phải hợp tác chặt chẽ để vượt qua các thách thức Trong khi gamecó yếu tố hành động cao, nó cũng yêu cầu sự chiến lược và hợp tác elldivers cho phépngười chơi tùy chỉnh nhân vật và chọn từ một loạt vũ khí, thiết bị để thích nghi với cáctình huống chiến đấu khác nhau.
3.3 Một số thể loại game trong dòng game Top-down
Trong dòng game top-down, có một loạt các thể loại đa dạng mà người chơi có thể tậnhưởng Dưới đây là một số thể loại phổ biến:
3.3.1 Shooter
- Top-Down Shooters (STG): Đây là các game tập trung vào việc người chơi điều khiển nhân vật hoặc phương tiện từ góc nhìn từ trên xuống để bắn hạ kẻ địch hoặc tránh né đạn đạo.
- Twin-Stick Shooters: Người chơi điều khiển vũ khí với một cần điều khiển hoặc chuột và bàn phím, thường điều khiển hướng và bắn độc lập.
Trang 263.3.4 Roguelike và Dungeon Crawlers
- Roguelike Games: Thường có yếu tố chết chỉ sống một lần, với việc ngẫu nhiên hóa các màn chơi mỗi lần chơi lại.
- Dungeon Crawlers: Người chơi khám phá và chiến đấu qua các hang động, hầm ngầm, thường từ góc nhìn từ trên xuống.
3.3.5 Simulation và Management Games
- Farming Simulations: Người chơi quản lý và phát triển nông trại từ góc nhìn từ trên xuống.
- City or Base Building Games: Xây dựng và quản lý thành phố hoặc cơ sở từ góc nhìn từ trên xuống.
3.3.6 Puzzle Games
- Tile-Based Puzzles: Các trò chơi logic hoặc câu đố trên lưới, thường từ góc nhìn từ trên xuống.
Trang 27Chương 4 : TỔNG QUAN VỀ GAME4.1 Ý tưởng game
Game xây dựng một thế giới nơi con người đã phát triển công nghệ AI đến mức độtiên tiến Trong tình hình chiến tranh toàn cầu và hậu quả của việc sử dụng AI, con ngườiđang đối mặt với việc các android đã bị mất kiểm soát và các thế lực không ngừng sửdụng android cho việc chiến tranh Và người chơi sẽ nhập vai vào các android chiến đấutiêu diệt các android đã mất kiếm soát và chống lại các thế lực khủng bố nguy hiểm.
Mục tiêu của người chơi là chiến đấu qua các màn chơi ngẫu nhiên, vượt qua cácmức độ khó khăn và đối mặt với nhiều loại kẻ thù khác nhau từ máy móc đến những sinhvật quái dị Người chơi sẽ thu thập vũ khí, nâng cấp và tùy chỉnh android của mình đểthích nghi với các tình huống chiến đấu ngày càng khắc nghiệt.
4.2 Tính năng
- Player có thể tấn công enemy và ngược lại.
- Player được xây dựng có khả năng di chuyển, tấn công bằng súng và một số cáckỹ năng: ném bom; lướt; …
- Enemy được áp dụng các thuật toán để thông minh hơn, có thể rớt vật phẩm khi bịtiêu diệt.
- Game có sự đa dạng vũ khí và item Người chơi có thể thay đổi vũ khí và item hỗtrợ để chiến đấu.
- Bản đồ được thiết kế để tạo một môi trường khắc nghiệt và thử thách đòi hỏiplayer phải có kỹ năng và phản xạ nhanh.
- Player có thể tương tác với npc trong game để nói chuyện và nhận item.- Tính năng Pause game, Save game, Save settings.
4.3 Giới thiệu về các gameObject4.3.1 Trong GamePlayScene
4.1.1.1.Main Camera
Trang 28Camera object do Unity Engine cung cấp với tác dụng kiểm soát màn hình ngườichơi (những gì người chơi thực sự thấy khi chơi game) MainCamera object trong gamecó nhiệm vụ theo dõi Player object, nhờ đó màn hình game luôn luôn quan sát hành độngcủa nhân vật chính và môi trường xung quanh.
Nhân vật chính của game, là đối tượng mà người chơi có thể điều khiển và thựchiện các hành động dựa trên quy tắc của game Player có thể thực hiện tất cả mọi thứđược đề cập ở trên phần tính năng Hệ thống logic game xoay quanh object Player và cậpnhật trạng thái game dựa trên object này Player object tương tác với thế giới game thôngqua những script file PlayerController.cs.
Trang 29Camera object do Unity Engine cung cấp, dùng để quan sát màn hình chính
Nơi vẽ Menu chính, chứa các object con là:
BackGround: vẽ hình nền cho màn hình Menu chính. Title: vẽ tựa đề cho màn hình Menu chính
Play_Button: bắt đầu trò chơi khi người chơi nhấp vào. Setting_Button: chỉnh sửa các cài đặt của trò chơi. Back_Button: Thoát trò chơi.
Hệ thống xử lí các sự kiện của MenuScene
Trang 30Chương 5 : ĐẶC TẢ USE CASE5.1 Sơ đồ use case
5.1.1 Player
Hình 5.8 Sơ đồ use case Player
5.1.2 Destroyar
Trang 31Hình 5.9 Sơ đồ use case Destroyar
5.1.3 DroneRobot
Trang 32Hình 5.10 Sơ đồ use case DroneRobot
5.1.4 Engineer
Trang 33Hình 5.11 Sơ đồ use case Engineer
5.1.5 SecurityCyborg1
Trang 34Hình 5.12 Sơ đồ use case SecuritiyCyborg1
5.1.6 SecurityCyborg2
Trang 35Hình 5.13 Sơ đồ use case SecurityCyborg2
5.1.7 Turret
Trang 36Hình 5.7 Sơ đồ use case Turret
5.2.Danh sách Actor
xem như người chơi trong các use case, do hànhđộng của người chơi tác động vào game tương tựnhư nhân vật.
khu vực của mình và tấn công những kẻ xâmphạm.
khu vực của mình và tấn công kẻ xâm phạm, cókhả năng phát nổ khi sắp chết.
vực của mình và tấn công kẻ thù xâm phạm, cókhả năng sử dụng nhiều loại súng.
5 SecurtityCyborg1 Là lính cyborg canh phòng, di chuyển xungquanh khu vực của mình và tấn công kẻ thù xâm
Trang 37phạm, có khả năng sử dụng nhiều loại súng.6 SecurtityCyborg2 Là lính cyborg canh phòng, di chuyển xung
quanh khu vực của mình và tấn công kẻ thù xâmphạm, có khả năng sử dụng nhiều loại súng.
công kẻ xâm phạm.
Bảng 5.1 Danh sách Actor
5.3.Danh sách use case
ở màn hình Main Menu và tải file save game
ở màn hình Main Menu
trên bàn phím
hoặc thoát game
to Menu” trên Pause Menu
7 Move Use case bắt đầu khi người chơi nhấn một hoặcnhiều nút di chuyển “A, S, W, D” trongGamePlayScene
thương từ các cuộc tấn công như va chạm hay bị bắntrúng,…
Trang 38và nhận sát thương để kiểm tra xem use case Deadcó thể chạy hay không?
thương và lượng máu về 0
đánh bại enemy
15 Interact with item Use case bắt đầu khi player chạm vào các item rơi rakhi đánh bại enemy
dịch chuyển trên map
đổi trạng thái hoặc bắt đầu một cuộc tấn công Tấtcả các hành động khác bị dừng lại
enemy để dẫn đến bị trí hiện tại của player Use casehoạt động trong suốt quá trình tồn tại của enemy
di chuyển đến, giúp enemy đến gần người chơi vàtiến hành tấn công.
Bảng 5.2 Danh sách use case
5.4.Mô tả chi tiết use case5.4.1 Play Game
Trang 393 Chuyển sang GamePlayScene đã lưutừ trước, người chơi bắt đầu chơi game
Main Menu hoặc nút “Quit Game” ở PauseMenu
Trang 40Bảng 5.5 Đặc tả use case Pause game
5.4.4 Save Game
Bảng 5.6 Đặc tả use case Save game
5.4.5 Restart Game
đấu với các enemy và khiến máu trở về 02 Player quay lại địa điểm lưu gamegần nhất
gần nhất và xóa tất cả buff kiếm được
Bảng 5.7 Đặc tả use case Restart game
5.4.6 Exit to Menu
GamePlayScene để hiện lên Pause Menu2 Người chơi nhấn vào nút “Exit toMenu”