Báo cáo Đồ án 1: Xây dựng game 2D Action Top-Down trên Unity Engine

Tham khảo đồ án xây dựng game 2D Action Top-Down bằng Unity. Báo cáo chi tiết quá trình phân tích, thiết kế gameplay và lập trình các hệ thống.

2024

60
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng Quan Về Đồ Án Xây Dựng Game 2D Action Top Down Bằng Unity

Game 2D Action Top-Down là thể loại game hành động với góc nhìn từ trên xuống, đang khẳng định vị trí quan trọng trong lĩnh vực giải trí hiện đại. Đề tài này tập trung vào việc xây dựng một trò chơi 2D hoàn chỉnh sử dụng Unity Engine, một nền tảng mạnh mẽ và phổ biến nhất hiện nay. Game Action Top-Down không chỉ thu hút người chơi bởi lối chơi dễ tiếp cận mà còn bởi tính tương tác và khả năng kết hợp với nhiều yếu tố sáng tạo. Đặc biệt, việc cân bằng giữa đồ họa, hiệu năng, và trải nghiệm người chơi là bài toán chính trong phát triển sản phẩm. Đồ án này được thực hiện bởi sinh viên Khoa Công nghệ Phần mềm, Trường Đại học Công nghệ Thông tin, dưới sự hướng dẫn của ThS. Đinh Nguyễn Anh Dũng. Mục tiêu là rèn luyện kỹ năng lập trình C#phát triển game trên nền tảng Unity.

1.1. Lý Do Chọn Đề Tài Xây Dựng Game 2D Action Top Down

Thể loại game Action Top-Down đang khẳng định vị trí quan trọng nhờ vào lối chơi linh hoạt và tính tương tác cao. Unity Engine cung cấp các công cụ mạnh mẽ để tạo ra những sản phẩm 2D độc đáo, đáp ứng nhu cầu ngày càng cao của thị trường game. Việc phát triển game 2D giúp sinh viên áp dụng kiến thức lý thuyết vào thực tiễn, từ thiết kế bản đồ đến cơ chế chiến đấu. Đề tài này được chọn nhằm rèn luyện kỹ năng chuyên môn và khám phá tiềm năng của game development trên platform phổ biến nhất.

1.2. Mục Tiêu Chính Của Đề Tài

Mục tiêu chính là phát triển một trò chơi 2D hoàn chỉnh bao gồm đồ họa, âm thanh, và lối chơi hấp dẫn. Sản phẩm sẽ tận dụng các công cụ tích hợp của Unity như hệ thống vật lý (Physics Engine), quản lý hoạt ảnh (Animation), và tối ưu hóa hiệu năng. Quá trình thực hiện giúp rèn luyện kỹ năng C# programming và phát triển các hệ thống phức tạp như AI, Event System, và State Machine trong game development.

II. Cơ Sở Lý Thuyết Và Công Nghệ Sử Dụng Trong Game Development

Unity Engine là nền tảng phát triển game hàng đầu thế giới, cung cấp các công cụ và thư viện toàn diện cho game 2D3D. Công nghệ cốt lõi bao gồm Physics Engine để xử lý va chạm và chuyển động, Sprite Management để quản lý hình ảnh 2D, và Scriptable Object cho việc lưu trữ dữ liệu. GitHub được sử dụng để quản lý code và version control trong quá trình phát triển. Các hệ thống thiết kế như Event System (Pub-Sub pattern), Factory Method kết hợp Object Pooling, State Machine, và thuật toán A pathfinding* là những công nghệ chính trong phát triển game logic. Những kiến thức nền tảng này được kết hợp để tạo ra một trò chơi 2D ổn định và hiệu quả.

2.1. Unity Physics Engine Và Sprite Management

Unity Physics Engine cung cấp các công cụ để xử lý va chạm (Collision Detection) và chuyển động thực tế. Sprite Management quản lý hình ảnh 2D, bao gồm Sprite EditorTexture Management để tối ưu hóa hiệu năng đồ họa. Tilemap được sử dụng để thiết kế bản đồ game một cách hiệu quả, cho phép tạo ra các level phức tạp với chi phí tài nguyên thấp. Các thành phần này là nền tảng để xây dựng game environment ổn định và hấp dẫn.

2.2. Kiến Trúc Game Và Hệ Thống Thiết Kế

Event System (Pub-Sub pattern) giúp quản lý communication giữa các game object mà không cần coupling chặt. Factory Method kết hợp Object Pooling tối ưu hóa việc tạo và hủy object, cải thiện hiệu năng. State Machine quản lý các trạng thái của nhân vật (Player) và kẻ thù (Enemy), đảm bảo logic game rõ ràng. A Pathfinding* giúp AI Enemy tìm đường đi tư duy nhất đến vị trí của người chơi. Các công nghệ này tạo nên kiến trúc game vững chắc.

III. Thiết Kế Game 2D Action Top Down Gameplay Và Game Loop

Game design cho Action Top-Down tập trung vào vòng lặp game (Game Loop) và cơ chế chiến đấu (Combat Mechanic). Game Loop chính bao gồm các bước: khởi tạo (Initialization), xử lý input (Input Handling), cập nhật logic (Update Logic), và render (Rendering). Vòng lặp ingame xử lý các sự kiện liên quan đến nhân vật, kẻ thù, và môi trường trong quá trình chơi. Người chơi có thể điều khiển nhân vật, tấn công kẻ thù, và tương tác với môi trường. Trò chơi bao gồm nhiều level khác nhau với độ khó tăng dần, kẻ thù đa dạng như Orc Soldier, Orc Rogue, Skeleton General, và các loại đạn (Projectile). Mục tiêu là tiêu diệt tất cả kẻ thù để hoàn thành màn chơi.

3.1. Vòng Lặp Game Và Cơ Chế Điều Khiển

Game Loop chính xử lý toàn bộ luồng game từ khi khởi động đến kết thúc. Vòng lặp ingame quản lý các sự kiện trong lúc chơi, bao gồm cập nhật vị trí nhân vật, kiểm tra va chạm, và cập nhật trạng thái kẻ thù. Hệ thống điều khiển cho phép người chơi di chuyển nhân vật bằng bàn phím hoặc joystick, thực hiện các hành động tấn công (Attack), và sử dụng kỹ năng đặc biệt (Skill). Các input được xử lý liên tục trong Update() để đảm bảo responsive gameplay.

3.2. Nhân Vật Người Chơi Và Kẻ Thù

Người chơi được đại diện bằng nhân vật chính với sprite riêng, có thể di chuyển 8 hướng, tấn công gần (Melee Attack), và nhận sát thương từ kẻ thù. Kẻ thù bao gồm nhiều loại: Orc Soldier (đơn giản), Orc Rogue (nhanh nhẹn), Orc GeneralSkeleton General (BOSS). Mỗi enemy có AI riêng sử dụng State MachineA Pathfinding* để theo đuổi người chơi. Băng đạn (Projectile) từ các kẻ thù gây sát thương khi chạm vào người chơi, yêu cầu kỹ năng躲避(Dodge).

IV. Kiểm Thử Cài Đặt Và Kết Luận Đồ Án Game 2D

Cài đặt và kiểm thử được thực hiện trên môi trường phát triển Unity 2022 trở lên với C# 7.3+. Quá trình kiểm thử bao gồm Unit Testing cho các hệ thống riêng lẻ và Integration Testing để đảm bảo toàn bộ game vận hành ổn định. Kết quả kiểm thử chứng minh rằng game hoạt động như mong đợi, không có lỗi nghiêm trọng (Critical Bug). Các Level được thiết kế và test với người dùng để đảm bảo độ khó cân bằng. Kết luận là đề tài đã hoàn thành mục tiêu xây dựng một trò chơi 2D Action Top-Down chất lượng. Khó khăn gặp phải bao gồm tối ưu hóa hiệu năng (Performance Optimization) và cân bằng gameplay. Hướng phát triển bao gồm thêm Multiplayer, Sound Design, và Visual Effects nâng cao.

4.1. Môi Trường Cài Đặt Và Quá Trình Kiểm Thử

Môi trường cài đặt sử dụng Unity 2022 LTS trên Windows 10/11 hoặc macOS. Source code được quản lý bằng GitHub để đảm bảo version control hiệu quả. Kiểm thử bao gồm test các hệ thống AI, physics, input handling, và UI. Test cases được lập để kiểm tra các edge case và scenario phức tạp. Performance profiling được thực hiện để tối ưu FPS (Frame Per Second) và Memory Usage. Kết quả cho thấy game chạy mượt mà ở 60 FPS trên thiết bị tiêu chuẩn.

4.2. Kết Quả Đạt Được Và Hướng Phát Triển Tương Lai

Kết quả đạt được: Hoàn thành một game 2D Action Top-Down hoàn chỉnh với 3+ levels, 5+ enemy types, UI menu, và save/load system. Sản phẩm đáp ứng tất cả requirement ban đầu. Khó khăn gặp phải bao gồm tối ưu hóa graphics rendering và cân bằng độ khó game. Hướng phát triển bao gồm thêm Multiplayer Co-op, Sound Effect & Music, Particle Effects, Boss AI nâng cao, và Mobile port. Đề tài đã mang lại giá trị thực tiễn cho game development education.

28/12/2025

Trích đoạn nội dung tài liệu

Chương 1: TỔNG QUAN 1.1 Lí do chọn đề tài Thể loại game hành động góc nhìn từ trên xuống (Action Top-Down) đang dần khẳng định vị trí quan trọng trong lĩnh vực giải trí, nhờ vào lối chơi dễ tiếp cận và khả năng tạo ra các trải nghiệm thú vị. Đặc biệt, với sự hỗ trợ của Unity Engine, các nhà phát triển có thể tận dụng các công cụ mạnh mẽ để tạo ra những sản phẩm 2D độc đáo, đáp ứng nhu cầu ngày càng cao của thị trường. Game 2D Action Top-Down không chỉ thu hút bởi lối chơi linh hoạt mà còn bởi tính tương tác và khả năng kết hợp với nhiều yếu tố sáng tạo, như thiết kế bản đồ đa dạng hay cơ chế chiến đấu độc đáo. Tuy nhiên, việc cân bằng giữa đồ họa, hiệu năng, và trải nghiệm người chơi vẫn là một bài toán khó.

Để giải quyết điều này, các sản phẩm game cần được tối ưu hóa không chỉ về mặt kỹ thuật mà còn phải đảm bảo sự hấp dẫn lâu dài cho người chơi. Với những lý do trên, em đã quyết định lựa chọn đề tài "Xây dựng Game 2D Action Top-Down" nhằm rèn luyện kỹ năng lập trình và phát triển game trên Unity Engine, đồng thời tạo ra một sản phẩm giải trí mang tính sáng tạo cao. Qua đồ án này, em hy vọng không chỉ cải thiện kỹ năng cá nhân mà còn góp phần khám phá tiềm năng của thể loại game này, mang lại giá trị thực tiễn cho ngành công nghiệp game.2 Mục tiêu đề tài Phát triển sản phẩm game hoàn chỉnh Mục tiêu chính của đề tài là xây dựng một trò chơi 2D thể loại Action Top-Down hoàn chỉnh, bao gồm các yếu tố đồ họa, âm thanh, và lối chơi tương tác hấp dẫn. Trò chơi sẽ được thử nghiệm và tinh chỉnh để đảm bảo vận hành ổn định, đáp ứng các tiêu chuẩn cơ bản của một sản phẩm game chất lượng.

Ứng dụng công nghệ unity 1 Đề tài tập trung vào việc khai thác các tính năng của Unity Engine, một nền tảng mạnh mẽ và phổ biến trong phát triển game. Từ đó, sản phẩm sẽ tận dụng các công cụ tích hợp sẵn của Unity như hệ thống vật lý, quản lý hoạt ảnh và tối ưu hóa hiệu năng. Phát triển kỹ năng chuyên môn Quá trình thực hiện đề tài sẽ giúp rèn luyện kỹ năng lập trình, đặc biệt là trong môi trường C# và Unity. Ngoài ra, việc thiết kế và triển khai các hệ thống như AI, quản lý bản đồ, và cơ chế chiến đấu cũng sẽ nâng cao khả năng giải quyết vấn đề thực tế.

Đáp ứng nhu cầu người chơi Sản phẩm được thiết kế để mang lại trải nghiệm thú vị, phù hợp với sở thích của người chơi yêu thích thể loại game hành động. Việc tập trung vào lối chơi mượt mà, đồ họa trực quan và cơ chế chiến đấu hấp dẫn sẽ đảm bảo sản phẩm đáp ứng được kỳ vọng của người dùng hiện đại.3 Đối tượng và phạm vi nghiên cứu 1.1 Đối tượng nghiên cứu Đề tài tập trung vào các nội dung nghiên cứu chính như sau:  Lối chơi (Gameplay): Xây dựng cơ chế di chuyển, chiến đấu, và tương tác giữa nhân vật với môi trường và kẻ địch trong game.  Thiết kế đồ họa: Nghiên cứu và áp dụng các kỹ thuật thiết kế đồ họa 2D để tạo ra hình ảnh trực quan, phù hợp với thể loại Action Top-Down.  Công nghệ Unity Engine: Sử dụng Unity để tìm hiểu và khai thác các tính năng như hệ thống vật lý, quản lý hoạt ảnh, và tối ưu hóa hiệu năng.2 Phạm vi nghiên cứu Phạm vi công nghệ:  Sử dụng Unity Engine làm nền tảng chính để phát triển trò chơi.

 Áp dụng ngôn ngữ lập trình C# để xây dựng cơ chế gameplay và xử lý logic trong game.  Tập trung vào các kỹ thuật phát triển game 2D như hệ thống hoạt ảnh, tương tác vật lý, và quản lý tài nguyên đồ họa. Phạm vi nội dung: 2  Phát triển một trò chơi thể loại Action Top-Down với lối chơi tập trung vào di chuyển và chiến đấu.  Không mở rộng sang các yếu tố phức tạp như xây dựng cốt truyện, hệ thống nhiệm vụ hoặc chơi mạng nhiều người.

Phạm vi kỹ thuật:  Đảm bảo trò chơi hoạt động ổn định, tối ưu hóa hiệu năng để chạy mượt mà trên các cấu hình máy tính phổ thông.  Sử dụng đồ họa 2D với phong cách đơn giản nhưng rõ ràng, phù hợp với định hướng gameplay. Phạm vi người dùng:  Sản phẩm được thiết kế dành cho người chơi yêu thích thể loại game hành động đơn giản trên nền tảng PC.  Hướng đến đối tượng người chơi từ 12 tuổi trở lên, phù hợp với trải nghiệm giải trí nhẹ nhàng và dễ tiếp cận.

3 Chương 2 : CƠ SỞ LÝ THUYẾT 2.1 Unity Engine Hình ảnh 1. Logo unity Unity là một công cụ phát triển game phổ biến, hỗ trợ cả 2D và 3D, được sử dụng rộng rãi trong ngành công nghiệp game. Với giao diện trực quan và khả năng tích hợp mạnh mẽ, Unity cho phép các nhà phát triển dễ dàng xây dựng, chỉnh sửa, và triển khai game trên nhiều nền tảng như PC, mobile, và console. Đặc biệt, Unity hỗ trợ các ngôn ngữ lập trình như C# và JavaScript, trong đó C# là ngôn ngữ chính được sử dụng trong đề tài này.

Các tính năng chính của Unity trong phát triển game 2D  Sprite và Texture Management: Unity cung cấp Sprite Editor và các công cụ quản lý Texture để tối ưu hóa đồ họa 2D.  Tilemap System: Hệ thống Tilemap giúp dễ dàng xây dựng bản đồ và môi trường trong game với độ chính xác cao và tiết kiệm thời gian.  Animation System: Unity hỗ trợ Animator và Animation Timeline để tạo các chuyển động mượt mà cho nhân vật và đối tượng.  Physics Engine: Công cụ vật lý tích hợp của Unity giúp xử lý các hiệu ứng va chạm và tương tác vật lý trong game một cách chính xác.

4  Audio Management: Unity cho phép tích hợp và quản lý âm thanh dễ dàng, từ nhạc nền đến hiệu ứng âm thanh trong game.2 C# trong Unity Hình ảnh 2. Logo C# C# (C-Sharp) là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, nổi bật với cú pháp rõ ràng, dễ đọc, và mạnh mẽ. C# là ngôn ngữ đa năng, được sử dụng rộng rãi trong nhiều lĩnh vực như phát triển phần mềm, ứng dụng di động, và game. Với các tính năng như quản lý bộ nhớ tự động, khả năng tích hợp với .NET Framework, và thư viện phong phú, C# cho phép lập trình viên phát triển các ứng dụng nhanh chóng và hiệu quả.

Đặc điểm nổi bật của C# trong phát triển phần mềm  Hướng đối tượng (OOP): C# hỗ trợ đầy đủ các tính năng của lập trình hướng đối tượng như kế thừa, đóng gói, đa hình và trừu tượng hóa, giúp tổ chức mã nguồn rõ ràng và dễ bảo trì.  Quản lý bộ nhớ tự động: Với cơ chế Garbage Collection, C# tự động giải phóng bộ nhớ không còn được sử dụng, giảm thiểu nguy cơ rò rỉ bộ nhớ. 5  Tích hợp LINQ và thao tác dữ liệu: C# cung cấp các công cụ mạnh mẽ để xử lý dữ liệu, hỗ trợ tốt trong các dự án liên quan đến truy vấn và xử lý dữ liệu. C# trong Unity Trong Unity, C# là ngôn ngữ lập trình chính được sử dụng để xây dựng logic của trò chơi, tương tác giữa các đối tượng, và xử lý sự kiện.

Unity cung cấp một hệ thống API phong phú bằng C#, cho phép lập trình viên dễ dàng truy cập và điều khiển các thành phần trong engine. Các ứng dụng của C# trong Unity  Xử lý sự kiện (Event Handling): C# được sử dụng để lắng nghe và phản hồi các sự kiện trong game như nhấn phím, va chạm, hoặc tương tác với đối tượng.  Lập trình vòng đời game: Unity sử dụng các phương thức vòng đời như Start(), Update(), và FixedUpdate() để xử lý logic game theo từng khung hình.  Tương tác vật lý: Với C#, lập trình viên có thể tích hợp hệ thống vật lý của Unity để xử lý va chạm, lực hấp dẫn, và các hiệu ứng vật lý khác.

 Quản lý nhân vật và AI: C# cho phép lập trình logic cho nhân vật và trí tuệ nhân tạo (AI), từ di chuyển đơn giản đến hành vi phức tạp.  Tạo hiệu ứng động: Các hiệu ứng hoạt ảnh, ánh sáng, và hiệu ứng hạt (particles) được điều khiển linh hoạt thông qua các script C#.3 Unity Tilemap Hình ảnh 3. Tile map trong unity Tilemap là một hệ thống trong Unity cho phép phát triển các bản đồ 2D bằng cách sử dụng các ô lưới (tiles) để tạo nên môi trường trong game. Hệ thống này được thiết kế để tối ưu hóa quy trình thiết kế bản đồ, đặc biệt là trong các trò chơi 2D.

Tilemap cung cấp các công cụ trực quan để tạo, chỉnh sửa, và quản lý các lớp bản đồ (map layers) một cách dễ dàng. Các thành phần chính của Unity Tilemap  Tilemap Grid: Là cấu trúc lưới cơ bản để chứa các Tilemap, cung cấp bố cục các ô vuông cho các tiles.  Tilemap Component: Thành phần lưu trữ các tiles trên lưới và xử lý cách chúng hiển thị trong game.  Tiles: Các ô vuông đại diện cho hình ảnh, đối tượng hoặc tài nguyên cụ thể được đặt trên lưới.

 Tile Palette: Công cụ quản lý các tiles, cho phép dễ dàng chọn và vẽ tiles lên bản đồ.4 Unity Physics Engine Hình ảnh 4. Vật lý trong unity Unity Physics Engine là một hệ thống tích hợp sẵn trong Unity, hỗ trợ mô phỏng các hiệu ứng vật lý thực tế trong trò chơi. Hệ thống này giúp xử lý các hiện tượng như va chạm, trọng lực, lực đẩy, và chuyển động của các đối tượng trong môi trường 2D hoặc 3D. Unity cung cấp hai hệ thống vật lý: 2D Physics (dựa trên Box2D) và 3D Physics (dựa trên NVIDIA PhysX), trong đó 2D Physics là trọng tâm trong các trò chơi 2D.

Các thành phần chính của Unity Physics Engine  Rigidbody 2D: Là thành phần cho phép đối tượng chịu ảnh hưởng của các lực vật lý, như trọng lực và lực đẩy. Rigidbody quản lý chuyển động và tương tác vật lý của đối tượng trong không gian 2D.  Collider 2D: Định nghĩa khu vực va chạm của đối tượng, hỗ trợ nhiều loại collider như Box Collider 2D, Circle Collider 2D, Polygon Collider 2D. Collider giúp phát hiện và xử lý va chạm giữa các đối tượng.

 Physics Material 2D: Quản lý các thuộc tính vật lý của bề mặt, như ma sát và độ nảy, để mô phỏng hành vi thực tế khi các đối tượng tương tác với nhau.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ