Phát Triển Game Đối Kháng: Hướng Dẫn Chi Tiết và Kỹ Thuật

Chuyên khảo phân tích Phát triển game đối kháng, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo., phục vụ nghiên cứu và ứng dụng thực tiễn

Trường đại học

Đại Học Quốc Gia TP.HCM

Chuyên ngành

Khoa Học Máy Tính

Người đăng

Ẩn danh

Thể loại

Luận Văn Tốt Nghiệp

2021

76
4
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

TÓM TẮT ĐỀ TÀI

DANH SÁCH HÌNH

DANH SÁCH BẢNG

DANH SÁCH TỪ VIẾT TẮT VÀ THUẬT NGỮ

1. CHƯƠNG 1: TỔNG QUAN

1.1. Mục đích nghiên cứu

1.2. Giới hạn đề tài

1.3. Kết quả đạt được

1.4. Cấu trúc luận văn

2. CHƯƠNG 2: KIẾN THỨC CƠ BẢN

2.1. Unity Engine

3. CHƯƠNG 3: KIẾN TRÚC TRÒ CHƠI

4. CHƯƠNG 4: HIỆN THỰC VÀ QUY TRÌNH PHÁT TRIỂN

4.1. Xây dựng với mô hình 3D cho trò chơi đối kháng

4.2. Hiện thực điều khiển nhân vật

4.2.1. State Machine là gì?

4.2.2. Hiện thực State Machine cho điều khiển nhân vật

4.3. Hiện thực phần chơi mạng với Photon PUN 2

4.3.1. Tại sao lại chọn Photon PUN 2?

4.3.2. Cài đặt Photon

4.3.3. Hiện thực chế độ chơi mạng với Photon

4.4. Xây dựng AI cho chế độ luyện tập

4.4.1. Điều khiển trạng thái của AI với State Machine

4.4.2. Tìm đường với giải thuật A* trong đồ thị có hướng

4.5. Cài đặt Camera cho trò chơi

5. CHƯƠNG 5: KẾT LUẬN

5.1. Kết quả đạt được

5.2. Các vấn đề còn tồn tại

5.3. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Hướng Dẫn Phát Triển Game Đối Kháng Chuyên Nghiệp

Ngành công nghiệp game đang phát triển mạnh mẽ, đặc biệt là thể loại game đối kháng. Bài viết này sẽ cung cấp hướng dẫn chi tiết về cách phát triển game đối kháng chuyên nghiệp, từ việc lựa chọn công nghệ đến thiết kế nhân vật và gameplay.

1.1. Tổng Quan Về Ngành Phát Triển Game

Ngành phát triển game đã đạt giá trị 120 tỉ đô vào năm 2019 và tiếp tục tăng trưởng. Sự phát triển của game trên thiết bị di động và console đã tạo ra nhiều cơ hội cho các nhà phát triển.

1.2. Tại Sao Chọn Game Đối Kháng

Game đối kháng không chỉ thu hút người chơi mà còn mang lại nhiều thách thức cho nhà phát triển. Việc xây dựng gameplay hấp dẫn và cân bằng là rất quan trọng.

II. Các Thách Thức Trong Phát Triển Game Đối Kháng

Phát triển game đối kháng gặp nhiều thách thức như thiết kế nhân vật, cân bằng gameplay và tối ưu hóa hiệu suất. Những vấn đề này cần được giải quyết để tạo ra một sản phẩm chất lượng.

2.1. Thiết Kế Nhân Vật Game

Thiết kế nhân vật là một trong những yếu tố quan trọng nhất trong game đối kháng. Cần phải tạo ra các nhân vật độc đáo với kỹ năng và phong cách chiến đấu riêng.

2.2. Cân Bằng Gameplay

Cân bằng gameplay là một thách thức lớn. Các nhân vật cần phải được thiết kế sao cho không có nhân vật nào quá mạnh, đảm bảo sự công bằng cho tất cả người chơi.

III. Phương Pháp Phát Triển Game Đối Kháng Hiệu Quả

Để phát triển game đối kháng hiệu quả, cần áp dụng các phương pháp và công nghệ hiện đại. Việc sử dụng Unity Engine và Photon PUN 2 là những lựa chọn phổ biến.

3.1. Sử Dụng Unity Engine

Unity Engine là một trong những công cụ phát triển game phổ biến nhất. Nó hỗ trợ phát triển game 2D và 3D, giúp tiết kiệm thời gian và công sức cho nhà phát triển.

3.2. Tích Hợp Photon PUN 2

Photon PUN 2 là giải pháp lý tưởng cho việc phát triển chế độ chơi mạng. Nó cung cấp các công cụ cần thiết để tạo ra trải nghiệm chơi game mượt mà và hấp dẫn.

IV. Ứng Dụng Thực Tiễn Trong Phát Triển Game Đối Kháng

Việc áp dụng các lý thuyết và phương pháp vào thực tiễn là rất quan trọng. Các sản phẩm game đối kháng thành công đã chứng minh tính khả thi của các phương pháp này.

4.1. Kết Quả Nghiên Cứu Từ Các Game Thành Công

Nhiều game đối kháng nổi tiếng như Street Fighter và Tekken đã áp dụng các phương pháp phát triển hiệu quả, tạo ra những sản phẩm chất lượng cao.

4.2. Phân Tích Thị Trường Game Đối Kháng

Thị trường game đối kháng đang có sự tăng trưởng mạnh mẽ, với nhiều cơ hội cho các nhà phát triển mới. Việc nắm bắt xu hướng thị trường là rất quan trọng.

V. Kết Luận Về Tương Lai Của Game Đối Kháng

Tương lai của game đối kháng rất hứa hẹn với sự phát triển của công nghệ và nhu cầu ngày càng cao từ người chơi. Các nhà phát triển cần tiếp tục đổi mới và sáng tạo.

5.1. Xu Hướng Phát Triển Game Đối Kháng

Xu hướng phát triển game đối kháng sẽ tiếp tục tập trung vào việc cải thiện trải nghiệm người chơi và tích hợp công nghệ mới như VR và AR.

5.2. Cơ Hội Cho Các Nhà Phát Triển Mới

Với sự phát triển của công nghệ, các nhà phát triển mới có nhiều cơ hội để tham gia vào ngành công nghiệp game đối kháng, tạo ra những sản phẩm độc đáo và sáng tạo.

15/07/2025

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

Chương I đã giới thiệu chung về ngành game, giới thiệu mục đích và giới hạn của đề tài, hướng dẫn cách chơi, kết quả đạt được của đề tài và cấu trúc luận văn trên. Chương II giới thiệu cơ bản về Unity Engine và lí do tại sao chọn Unity Engine, đồng thời giới thiệu các khái niệm thường sử dụng trong phát triển game nói chung và Unity nói riêng. Chương III trình bày sơ đồ tổng quan thiết kế hệ thống của trò chơi. Trình bày các lớp chính của hệ thống trò chơi.

Chương IV giải thích về quy trình xây dựng trò chơi và các giải thuật được sử dụng. Chương V là các kết luận đồng thời nêu ra hướng phát triển của trò chơi. 7 CHƯƠNG 2: KIẾN THỨC CƠ BẢN 2.1 Unity Engine Các trò chơi được hiện thực bằng nhiều framework hay engine khác nhau, tùy thuộc vào nhu cầu mà nhà phát triển game lựa chọn cho phù hợp (đồ họa, hiệu năng, tốc độ xử lí, thời gian phát triển trò chơi,…). Sinh viên sẽ nêu rõ lí do tại sao lại lựa chọn Unity Engine.

Một số framework/engine chuyên dùng cho game 2D như Cocos2D-x, GameMaker Studio, hay cả 2D/3D như Unity, Unreal Engine, Godot Engine… Vì đề tài tập trung vào phần 3D nên ta sẽ chọn một trong các game engine phổ biến sau: Unity, Unreal Engine và Godot Engine. So sánh: - Godot Engine: Ra mắt lần đầu năm 2014 bởi Juan Linietsky và Ariel Manzur. Là một game engine mã nguồn mở, chạy được trên đa nền tảng (Window/Linux/MacOS) và hoàn toàn miễn phí. Godot hỗ trợ nhiều ngôn ngữ lập trình khác nhau như C++, C# và GDScript do chính Godot team tự phát triển.

Hiệu năng mượt mà, phù hợp với phát triển game 2D. Nó cũng hỗ trợ phát triển game đa nền tảng nhưng còn ít. Điểm yếu: Engine hỗ trợ phát triển game 3D với PBR (Physically based rendering) với shader tùy chỉnh, post-processing nhưng còn nhiều hạn chế, hiệu năng kém hơn so với Unity và Unreal. Cộng dồng Godot còn nhỏ, tài liệu ít.

8 Hình 6: Cửa sổ editor của Godot Engine - Unity Engine: Là game engine đa nền tản phát triển bởi Unity Technologies, ra mắt lần đầu năm 2005. Các chức năng của Unity chủ yếu được viết bằng C# (hai ngôn ngữ lập trình cũ cũng được hỗ trợ là Boo và UnityScript đã bị loại bỏ vào các phiên bản Unity mới). Unity chạy được trên nhiều nền tảng, đồng thời hỗ trợ xây dựng game trên nhiều hệ máy khác nhau: bao gồm cả PC (Windows/ Mac OS), Mobile (iOS, Android…) và hệ máy console, VR/AR. Hình 7: Các nền tảng được Unity hỗ trợ Miễn phí cho người dùng cá nhân, ngoài ra còn bản trả phí cho người dùng/ studio có thu nhập trên 100000$ nhưng đi kèm với phúc lợi hỗ trợ khác nhau cùng nhiều tính năng mới.

9 Unity xây dựng một thư viện rộng lớn gọi là Unity Asset Store, giúp người dùng có thể chia sẻ, mua bán các công cụ, mô hình 3D, âm thanh,… để giúp quá trình phát triển game nhanh hơn. Ngoài những tài liệu hướng dẫn sử dụng Unity cơ bản, Unity còn có các khóa đào tạo trên trang chủ Unity Learn với chất lượng cao và hoàn toàn miễn phí. Cộng đồng rộng lớn có thể chia sẻ, giúp đỡ để phát triển game tốt hơn.Không những có thể phát triển game, Unity còn được dùng để làm phim, hoạt hình, ứng dụng mô phỏng dùng trong học tập hay dùng trong kiến trúc và xây dựng nhờ các bộ công cụ về camera như Cinemachine, Timeline hay mô phỏng vật lí tốt. Unity được sử dụng bởi nhiều công ti lớn như Ubisoft, Square Enix,.

đồng thời cũng là lựa chọn của các nhà phát triển game độc lập. Hình 8: Cảnh trong Adam – phim của Unity Điểm yếu: Unity khá nặng, các file thực thi từ game cũng có dung lượng không hề nhỏ. So sánh về mặt đồ họa, Unity làm tốt hơn Godot rất nhiều; Unity hỗ trợ nhiều đường ống đồ họa khác nhau như HDRP, URP; hỗ trợ viết shader cho lập trình viên với Shaderlab đồng thời có các công cụ cho các họa sĩ 3D như Shader Graph hay Visual Effect Graph. So với Unreal, Unity cần bỏ nhiều thời gian và công sức hơn để đạt được đồ họa như Unreal.

Tuy nhiên tiềm năng của Unity là không giới hạn. Một số game nổi tiếng như Cuphead (Studio MDHR), Ori and the Blind Forest (Moon Studios), Subnautica (Unknown Worlds Entertainment), Pokemon Go (Niantic)… 10 - Unreal Engine: Hình 9: Cửa sổ Editor của Unreal Engine 4 Được phát triển bởi Epic Games, phiên bản đầu tiên ra mắt vào năm 1998 và phổ biến nhất là Unreal Engine 4 (UE4) vào năm 2014 đến nay. Phiên bản UE5 dự kiến ra mắt vào cuối năm 2021. Unreal Engine cũng được sử dụng miễn phí.

Tuy nhiên Epic Games thu phí 5% doanh thu nếu game của bạn đạt trên 1 triệu đô; phí này được bỏ qua nếu game được đăng kí bán trên Epic Games Store. Các chức năng của Unreal Engine 4 được viết bằng C++. Unreal đồng thời hỗ trợ Blueprints hay Blueprints Visual Scripting mà người dùng không cần phải có kiến thức lập trình. Unreal cũng có thể chạy được trên nhiều nên tảng, đồng thời hỗ trợ xây dựng game trên trên PC, Mobile và hệ máy console, VR/AR, tương tự Unity.

Unreal Marketplace cũng là nơi người dùng mua bán các dự án mẫu, blueprints có sẵn,… tương tự Asset Store. Ngoài ra Unreal cũng có những video giới thiệu tính năng giải đáp thắc mắc trên youtube của mình. Cộng đồng thành viên lớn hỗ trợ lẫn nhau. Unreal Engine cũng hỗ trợ dùng trong kiến trúc, làm phim như Unity.

Hiện tại Unreal Engine 5 cũng đang trong quá trình phát triển và hoàn thiện. 11 Hình 10: STAR WARS Tech Demo trên Unreal Engine 4 Tuy nhiên ban đầu Unreal Engine 4 xây dựng cho mục đích phát triển các game AAA. Từ đó họ mở rộng hơn và hướng đến các nhà phát triển game độc lập hay các studio nhỏ có kinh phí thấp. Điều này ngược lại với Unity vốn là sự lựa chọn tốt hơn cho nhóm người dùng này.

Một số tựa game nổi tiếng được xây dựng từ Unreal Engine 4 như: Final Fantasy VII (REMAKE) (Square Enix), Fornite (Epic Games),… Unity Engine và Unreal Engine có sự cạnh tranh mạnh mẽ về các tính năng, cộng đồng phát triển hay tài liệu nghiên cứu. Tuy nhiên Unity được ưa chuộng cho các trò chơi độc lập kinh phí thấp hơn. Đồng thời, Unity cũng được lựa chọn nhiều hơn tại thị trường Việt Nam. Vì vậy, đây là sự lựa chọn tốt để học tập, nghiên cứu và phát triển game.

12 Tổng kết các tiêu chí đánh giá lựa chọn của sinh viên, ngoài các tính năng mà các engine trên đều cung cấp, ta có: Tiêu chí Godot Engine Unity Engine Unreal Engine Phổ biến với các Phổ biến với nhiều Xuất hiện muộn, độ công ti, studio vừa và công ti lớn trên thế Độ phổ biến phổ biến còn thấp, nhỏ, nhà phát triển giới, không phổ biến nhất là ở Việt Nam game độc lập, rất phổ nhiều ở Việt Nam biến ở Việt Nam 5% chi phí với doanh Miễn phí cho studio thu trên 1 triệu $. nhỏ với doanh thu Miễn phí với trò chơi Chi phí Miễn phí dưới 100. phát hành trên Epic Bản trả phí có hỗ trợ Games (độc quyền nhiều tính năng hơn phân phối) Tài liệu hướng dẫn Tài liệu hướng dẫn nhiều và phổ biến cả khá đa dạng tuy tiếng Việt và tiếng nhiên chủ yếu là Dễ tiếp cận như tài Anh. Có trang Unity tiếng Anh.

Mục tiêu Tài liệu hướng dẫn liệu hướng dẫn còn Learn hỗ trợ cho ban đầu vốn không hạn chế người mới tiếp cận nhắm tới các nhà Unity nói riêng và phát triển game độc ngành phát triển lập. game nói chung Hỗ trợ tốt cả game 2D và 3D tuy nhiên Chủ yếu là game 3D Chủ yếu là game 2D, Tiêu chí hướng tới khó dễ dàng đạt được với chi phí phát triển Hỗ trợ game 3D đồ họa xuất sắc so cao (AAA) với Unreal Bảng 1: So sánh các Game Engine Sinh viên, với việc phát triển đề tài luận văn theo hơi hướng của các nhà phát triển game độc lập, không có chi phí cao, lựa chọn Unity Engine là phù hợp về mục tiêu đề tài, đồng thời là nền tảng cho công việc sau này của sinh viên.2 Các khái niệm trong phát triển game Để dễ dàng hơn trong việc giới thiệu các phần sau trong luận văn, sinh viên sẽ nói về một số khái niệm chính trong dùng trong phát triển game so với phát triển phần mềm khác: - Các đối tượng trong game được gọi là các Game Object. Các thành phần được gắn vào các đối tương này gọi là các Component. Mọi script kế thừa từ lớp MonoBehaviour của Unity sẽ có thể trở thành component để có thể gắn vào đối tượng nhằm thực hiện các tính năng theo yêu cầu.

Game Object luôn bao gồm các component cơ bản như Transform chứa 3 thông tin chính: vị trí (Position), góc quay (Rotation) và tỉ lệ (Scale); đây là component quan trọng nhất để xác định vị trí của đối tượng trong game cũng như để thực hiện các phép biến đổi đối tượng, không thể xóa đi. - Để đối tượng có thể trích xuất hình ảnh trong game, Các đối tượng phải có các component thừa kế từ Renderer như Sprite Renderer (dùng cho sprite – các đối tượng hình học 2D) hay Mesh Renderer (dùng cho các đối tượng sử dụng lưới mô hình 3D). - Scene hay cảnh được xem như một không gian game chứa các Game Object. Việc chia các scene giúp việc quản lí dễ dàng hơn.

Chẳng hạn như tách biệt màn chơi và màn hình khi người chơi vào game, không cần phải load mọi Game Object mà chỉ khi chơi mới cần thiết. Trong trò chơi sinh viên phân ra scene gồm màn hình chính, scene ở chế độ chơi đơn và scene ở chế độ chơi mạng. - Camera để kết xuất hình ảnh trong trò chơi lên màn hình máy tính, liên quan tới các đối tượng với Renderer đã đề cập ở trên. Một trò chơi có thể có nhiều camera để thực hiện các chức năng khác nhau.

Sinh viên sẽ đề cập chi tiết ở ở chương IV mục Camera. 14 CHƯƠNG 3: KIẾN TRÚC TRÒ CHƠI Hình 11: Kiến trúc chính của trò chơi 15 Hình 12: Class Diagram tổng quát 16 3.1 Hệ thống quản lí chính của game Hệ thống chính của game (Game Systems) quản lí hầu hết các yếu tố trong game, bao gồm Manager quản lí toàn bộ các tài nguyên nói chung và GameplayManager quản lí các hoạt động trong scene khi bắt đầu. Manager bao gồm các class chính thể hiện ở hình 13: - GameAssets quản lí các tệp tài nguyên dùng trong game như tệp tin âm thanh. - AudioManager quản lí các cài đặt như âm lượng, bật tắt âm thanh hiệu ứng hoặc nhạc nền.

File âm thanh được lấy từ GameAssets.

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

Tài liệu "Hướng Dẫn Phát Triển Game Đối Kháng Chuyên Nghiệp" cung cấp một cái nhìn tổng quan về quy trình phát triển game đối kháng, từ khâu lên ý tưởng cho đến việc triển khai và tối ưu hóa sản phẩm. Nó nhấn mạnh tầm quan trọng của việc hiểu rõ cơ chế gameplay, thiết kế nhân vật, và cách tạo ra trải nghiệm người chơi hấp dẫn. Độc giả sẽ tìm thấy những chiến lược hữu ích để phát triển kỹ năng lập trình và thiết kế game, cũng như cách thức để thu hút và giữ chân người chơi.

Để mở rộng kiến thức của bạn về lĩnh vực này, bạn có thể tham khảo tài liệu Khóa luận tốt nghiệp kỹ thuật phần mềm phát triển game phối hợp trực tuyến, nơi bạn sẽ tìm thấy những phương pháp phát triển game đa người chơi. Ngoài ra, tài liệu Khóa luận tốt nghiệp hệ thống thông tin xây dựng game lấy bối cảnh đại dịch covid 19 sẽ giúp bạn hiểu rõ hơn về cách xây dựng bối cảnh và cốt truyện trong game. Cuối cùng, tài liệu Phát triển game chiến thuật thủ thành online multiplayer khóa luận tốt nghiệp sẽ cung cấp cho bạn những kiến thức về phát triển game chiến thuật, một thể loại đang rất được ưa chuộng hiện nay. Những tài liệu này sẽ giúp bạn mở rộng hiểu biết và nâng cao kỹ năng trong lĩnh vực phát triển game.