Luận văn tốt nghiệp về phát triển game đối kháng trong khoa học máy tính

Khóa luận đánh giá tốt nghiệp: Phát triển game đối kháng trong khoa học máy tính, tiếp cận đa chiều, kết quả có tính khả thi cao trong lĩnh vực khoa

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
8
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về game đối kháng

Ngành công nghiệp game đối kháng đã trở thành một phần không thể thiếu trong lĩnh vực giải trí, đặc biệt là trong bối cảnh phát triển công nghệ hiện đại. Trò chơi đối kháng không chỉ thu hút người chơi bởi sự cạnh tranh mà còn nhờ vào các yếu tố như đồ họa, âm thanh và gameplay. Game đối kháng thường yêu cầu người chơi phải có kỹ năng cao để có thể chiến thắng đối thủ, do đó, việc phát triển một trò chơi có tính cạnh tranh cao là một thách thức lớn cho các nhà phát triển. Việc lựa chọn phát triển game trong lĩnh vực này không chỉ giúp người chơi có những trải nghiệm thú vị mà còn nâng cao khả năng tư duy chiến thuật và phản xạ. Theo một nghiên cứu, thị trường game đối kháng đã ghi nhận sự tăng trưởng mạnh mẽ trong những năm gần đây, đặc biệt với sự ra mắt của các tựa game nổi tiếng như Street Fighter và Tekken. Điều này cho thấy rằng ngành khoa học máy tính cần phải chú trọng hơn vào việc phát triển các nền tảng và công nghệ hỗ trợ cho việc phát triển game.

II. Kiến thức cơ bản trong phát triển game

Việc phát triển game yêu cầu một nền tảng kiến thức vững chắc về các khái niệm cơ bản trong khoa học máy tính. Các nhà phát triển cần hiểu rõ về các công nghệ như Unity Engine, một trong những công cụ phổ biến nhất hiện nay để xây dựng trò chơi. Unity không chỉ hỗ trợ phát triển game 2D mà còn rất mạnh mẽ trong việc xây dựng game 3D. Ngoài ra, việc nắm vững các khái niệm như thiết kế game, lập trình game, và nghiên cứu game sẽ giúp các nhà phát triển có thể tạo ra những sản phẩm chất lượng hơn. Theo một báo cáo, Unity đã trở thành lựa chọn hàng đầu cho nhiều studio game độc lập, nhờ vào sự dễ sử dụng và cộng đồng hỗ trợ rộng lớn. Điều này cho thấy rằng việc nắm vững kiến thức cơ bản sẽ giúp các nhà phát triển có lợi thế cạnh tranh trong ngành công nghiệp game.

III. Quy trình phát triển game đối kháng

Quy trình phát triển một trò chơi đối kháng bao gồm nhiều bước quan trọng, từ việc lên ý tưởng đến việc hiện thực hóa sản phẩm cuối cùng. Đầu tiên, các nhà phát triển cần xác định rõ mục đích nghiên cứu và các tính năng chính của game. Sau đó, việc thiết kế giao diện người dùng cũng rất quan trọng, vì nó ảnh hưởng trực tiếp đến trải nghiệm của người chơi. Tiếp theo, việc lập trình các cơ chế gameplay như điều khiển nhân vật, tính toán va chạm, và trí tuệ nhân tạo cho các đối thủ trong game là những công đoạn không thể thiếu. Hơn nữa, việc phát triển chế độ chơi mạng cũng rất quan trọng, đặc biệt trong bối cảnh game đối kháng hiện nay, nơi mà người chơi có thể thi đấu với nhau qua internet. Cuối cùng, việc kiểm tra và tối ưu hóa game trước khi phát hành là bước quan trọng để đảm bảo rằng người chơi sẽ có trải nghiệm tốt nhất.

IV. Ứng dụng thực tiễn của luận văn

Luận văn về phát triển game đối kháng không chỉ mang lại kiến thức lý thuyết mà còn có nhiều ứng dụng thực tiễn. Việc áp dụng các công nghệ như Unity trong phát triển game giúp sinh viên có thể thực hành và nâng cao kỹ năng lập trình của mình. Hơn nữa, việc phát triển game còn giúp sinh viên hiểu rõ hơn về quy trình làm việc trong ngành công nghiệp game, từ khâu ý tưởng đến sản phẩm hoàn chỉnh. Theo nghiên cứu, những sinh viên tham gia vào các dự án phát triển game thường có khả năng làm việc nhóm và giải quyết vấn đề tốt hơn. Điều này cho thấy rằng việc phát triển game không chỉ là một hoạt động giải trí mà còn là một cách học tập hiệu quả trong ngành khoa học máy tính.

V. Kết luận và hướng phát triển

Luận văn đã cung cấp cái nhìn tổng quan về game đối kháng, từ lý thuyết đến thực hành. Các kết quả đạt được cho thấy rằng việc phát triển game không chỉ đơn thuần là tạo ra một sản phẩm giải trí mà còn là một quá trình học hỏi và phát triển kỹ năng. Hướng phát triển trong tương lai có thể bao gồm việc mở rộng các tính năng của game, cải thiện đồ họa và âm thanh, cũng như nghiên cứu thêm về trí tuệ nhân tạo trong game. Việc áp dụng các công nghệ mới như VR và AR cũng có thể mở ra nhiều cơ hội mới trong việc phát triển game. Tóm lại, ngành công nghiệp game đang trên đà phát triển mạnh mẽ và việc tham gia vào lĩnh vực này sẽ mang lại nhiều cơ hội cho các nhà phát triển trẻ.

10/01/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 đủ

Bài viết "Luận văn tốt nghiệp về phát triển game đối kháng trong khoa học máy tính" của tác giả Nguyễn Văn Thuần, dưới sự hướng dẫn của ThS. Vương Bá Thịnh, trình bày những khía cạnh quan trọng trong việc thiết kế và phát triển game đối kháng. Luận văn không chỉ cung cấp cái nhìn tổng quan về quy trình phát triển game mà còn nhấn mạnh các kỹ thuật lập trình và công nghệ cần thiết để tạo ra một trò chơi hấp dẫn và tương tác. Đặc biệt, nó còn mang lại lợi ích cho những ai muốn tìm hiểu sâu hơn về lĩnh vực phát triển game, từ việc nắm bắt các xu hướng mới cho đến việc áp dụng các công nghệ hiện đại trong lập trình.

Nếu bạn quan tâm đến các khía cạnh khác của khoa học máy tính, bạn có thể tham khảo thêm các bài viết sau: Luận Văn Thạc Sĩ: Ứng Dụng Active Learning trong Lựa Chọn Dữ Liệu Gán Nhãn cho Bài Toán Nhận Diện Giọng Nói, nơi bạn sẽ tìm thấy thông tin về việc sử dụng các phương pháp học máy trong khoa học máy tính. Ngoài ra, bài viết Triển khai ứng dụng mạng neural để phát hiện xâm nhập trái phép cũng sẽ mở rộng kiến thức của bạn về ứng dụng công nghệ trong bảo mật thông tin. Cuối cùng, Các Kỹ Thuật Kiểm Thử Dòng Dữ Liệu Tĩnh Trong Luận Văn Thạc Sĩ Kỹ Thuật Phần Mềm sẽ giúp bạn hiểu rõ hơn về các kỹ thuật kiểm thử phần mềm, một phần không thể thiếu trong quá trình phát triển game.