Việc chọn đề tài game có thể tận dụng những tiềm năng và khả năng mà công nghệ thông tin mang lại để tạo ra một trải nghiệm tuyệt vời cho người chơi.. Đề tài game cho phép em áp dụng và
Mục tiêu của đề tài
- Tạo ra một trò chơi hành động chất lượng cao: Mục tiêu là xây dựng một trò chơi với đồ họa đẹp mắt, âm thanh hấp dẫn và gameplay mượt mà, mang lại trải nghiệm hành động tuyệt vời cho người chơi.
- Thiết kế cấp độ và mức độ khó đa dạng: Mục tiêu là tạo ra một loạt các cấp độ khác nhau với mức độ khó tăng dần, từ dễ đến khó, để thử thách người chơi và giữ cho trò chơi hấp dẫn.
- Cung cấp hệ thống điều khiển linh hoạt và phản ứng: Mục tiêu là tạo ra một hệ thống điều khiển dễ dùng, cho phép người chơi di chuyển phi công và tấn công kẻ thù một cách linh hoạt và phản ứng nhanh.
Mục đích là cung cấp một loạt kẻ thù sở hữu khả năng tấn công và hành vi khác nhau để người chơi ứng phó hiệu quả, đồng thời tạo nên các vũ khí và nâng cấp giúp đa dạng hóa chiến thuật.
- Tích hợp hệ thống điểm số và thành tích: Mục tiêu là cung cấp một hệ thống điểm số để ghi nhận thành tích của người chơi và khuyến khích sự cạnh tranh Cũng như cung cấp các thành tích, thành tích cá nhân và thành tích xã hội để thúc đẩy sự chơi lại và nâng cao trải nghiệm của người chơi.
Mục tiêu nghiên cứu
Nghiên cứu quy trình xây dựng trò chơi bằng UE5: Mục tiêu này nhằm tìm hiểu và nắm vững quy trình phát triển trò chơi trong môi trường UE5 Bằng cách tìm hiểu về các công cụ, tài liệu và nguyên tắc phát triển game trong UE5, nghiên cứu sẽ giúp hiểu rõ các bước quan trọng từ việc thiết kế, lập trình, tạo hình đến kiểm tra và triển khai trò chơi.
TỔNG QUAN VỀ ĐỀ TÀI 5
1 Lý do chọn đề tài 5
2 Mục tiêu của đề tài: 5
Chương 1: NỘI DUNG LÝ THUYẾT 8
I Công cụ Unreal Engine (UE) 8
II Giới thiệu về Blueprint Visual Scripting 10
III Các nội dung cần thực hiện 11
Chương 2: PHÂN TÍCH, THIẾT KẾ VÀ TRIỂN KHAI GAME 13
2 Mô hình phân rã chức năng 14
II THIẾT KẾ VÀ TRIỂN KHAI GAME 15
1 Thực hiện thiết kế các Scene cho game 15
2 Thực hiện Task tạo animation và animator cho game 18
3 Xử lý logic cho các giải đố và quái vật trong game 22
4 Xử lý logic cho nhân vật trong game 25
5 Thu âm thanh cho game 28
6 Thiết kế map hướng dẫn 30
NỘI DUNG LÝ THUYẾT
Công cụ Unreal Engine (UE)
Unreal engine (UE) là một game engine - phần mềm dùng để xây dựng và thiết kế một trò chơi điện tử (video game); do lập trình viên 28 tuổi Tim Sweeney sáng tạo ra. Unreal Engine cho phép người dùng sáng tạo ra các hình ảnh 3D, các hiệu ứng tương tác với chất lượng hình ảnh cao và chuyển động mượt mà Nó nổi bật với tính tùy biến bản đồ cao, có thể tạo ra môi trường giàu vật thể với ánh sáng và màu sắc phong phú, mờ vân bề mặt khi ở xa Ngoài ra, game engine còn có thể xử lý hiệu ứng âm thanh, hiệu ứng ánh sáng, hiệu ứng va chạm vật lý, xây dựng trí tuệ nhân tạo (AI) để điều khiển hành động của nhân vật trong game
Unreal Engine có thể sử dụng cho việc phát triển game trên nhiều nền tảng từ PC đến các hệ máy console như PS4, Xbox One và Nintendo Switch Bên cạnh đó, nó cũng hỗ trợ hai ngôn ngữ lập trình là C++ và Python Unreal Engine đã tạo ra một cuộc cách mạng trong lịch sử ngành game, giúp tiết kiệm được nhiều thời gian công sức mà vẫn mang lại hiệu quả cao.
2 Lịch sử hình thành Unreal Engine.
Unreal Engine được phát triển bởi công ty Epic Games, do Tim Sweeney sáng lập vào năm 1991 Ban đầu, công ty tập trung vào việc phát triển các trò chơi cho PC, sau đó chuyển sang phát triển công cụ để hỗ trợ các nhà phát triển tạo ra các trò chơi độc đáo.
Phiên bản đầu tiên của Unreal Engine được phát hành vào năm 1998 với tên gọi Unreal Engine 1 Ban đầu, nó được sử dụng để phát triển các trò chơi trên PC như Unreal và Unreal Tournament.
Sau đó, Unreal Engine tiếp tục được phát triển và cập nhật với các phiên bản khác như Unreal Engine 2, Unreal Engine 3, Unreal Engine 4 và phiên bản mới nhất là Unreal Engine 5 được giới thiệu vào năm 2021 Mỗi phiên bản đều có những cải tiến và tính năng mới để hỗ trợ các nhà phát triển tạo ra các sản phẩm chất lượng cao và đa dạng trên nhiều nền tảng khác nhau.
Ngày nay, Unreal Engine đã trở thành một trong những công cụ phát triển trò chơi và ứng dụng thời gian thực phổ biến nhất thế giới, được sử dụng rộng rãi trong nhiều trò chơi đình đám và các ứng dụng thực tế ảo.
Một số game UE nổi bật bao gồm: Fortnite, Gears of War, BioShock Infinite, Batman:Arkham Asylum, Rocket League, PlayerUnknown's Battlegrounds, Sea of Thieves….
3 Mục đích hình thành và phát triển
Sự ra đời của Unreal Engine cung cấp cho các nhà phát triển game một bộ công cụ nền tảng, giúp đơn giản hóa quá trình phát triển đồ họa Công cụ này cho phép tạo ra các trò chơi có đồ họa chân thực mà không mất nhiều thời gian và công sức Đặc biệt trong ngành công nghiệp game đầy cạnh tranh và phát triển nhanh chóng, sản phẩm sáng tạo trở nên thiết yếu Unreal Engine ra đời nhằm giải quyết nhu cầu cấp thiết về tiết kiệm chi phí và khuyến khích sự sáng tạo, từ đó giảm giá thành và tiếp tục thu hút người dùng.
Bên cạnh đó, Unreal Engine cũng thúc đẩy sự cạnh tranh trong nội bộ ngành công nghiệp game Các nhà phát triển phải không ngừng cải tiến để vừa đạt được chuẩn đồ họa hiện tại, vừa đột phá hơn so với đối thủ để tạo dấu ấn riêng.
4 Tính năng và công dụng phổ biến
-Mobile: Unreal Engine đưa đến cho bạn những công cụ để tạo ra một tựa game từ 2D đến 3D với đồ họa xuất sắc trên các hệ máy iOS và Android.
-Blueprints: Blueprints Visual Scripting cho phép bạn nhanh chóng chạy thử nghiệm và xuất bản ra một tựa game hoàn chỉnh một cách nhanh chóng Bạn cũng có thể thử sức tạo ra game của riêng mình mà không nhất thiết phải biết quá nhiều về lập trình
-Tools: Unreal là một bộ công cụ đầy đủ để giúp bạn xây dựng hoàn hảo mọi khía cạnh của Project Ngoài ra còn có những tính năng nâng cao như: physically-based rendering, UI, animation, visual effects, networking, và asset management.
-Source Code: Mọi nhà phát triển Game sử dụng Unreal Engine đều được sử dụng trình chỉnh sửa mã nguồn C++ (C++ Editor Source Code) Unreal Engine có thể tùy chỉnh và gỡ lỗi cho tựa game của mình.
-Marketplace: Cung cấp cho bạn những bảng mã về game giúp bạn có thể tăng tốc tiến độ lập trình và phát triển một Game bằng những dự án mẫu, art, audio, blueprint logic sẵn có thậm chí là những dòng code C++ đã được viết trước.
5 Ưu thế và khuyết điểm của Unreal Engine
+ Tính đa nền tảng: Unreal Engine hỗ trợ phát triển trên nhiều nền tảng khác nhau, bao gồm PC, console và di động.
+ Tính linh hoạt: Unreal Engine cung cấp nhiều tính năng và công cụ để phát triển các loại trò chơi khác nhau, từ game FPS, RPG, đua xe đến game phiêu lưu.
+ Tính mở rộng: Unreal Engine có thể được tùy chỉnh và mở rộng bằng cách sử dụng các plugin và công cụ bổ sung của bên thứ ba.
+ Tính năng thực tế ảo: Unreal Engine cung cấp một loạt các công cụ thực tế ảo để phát triển các ứng dụng và trò chơi trải nghiệm thực tế ảo (VR) và thực tế tăng cường (AR).
+ Tính tương thích: Unreal Engine tương thích với các công nghệ khác, bao gồm các công nghệ đồ họa hiện đại như NVIDIA RTX và DirectX 12.
Giới thiệu về Blueprint Visual Scripting
BluePrint là một hệ thống trực quan và mạnh mẽ trong Unreal Engine 5 (UE5) để xây dựng logic trò chơi và hành vi của các đối tượng trong môi trường 3D Nó là một công cụ lập trình không cần viết mã, cho phép người dùng tạo ra các tác vụ, chức năng và hành vi trong trò chơi một cách dễ dàng
Trong BluePrint, người dùng sử dụng một giao diện trực quan dựa trên nút kéo và thả để tạo ra các đối tượng và xây dựng logic BluePrint hỗ trợ một loạt các nút và chức năng có thể được kết hợp lại để tạo ra các hành vi phức tạp Người dùng có thể kéo và thả các nút, kết nối chúng lại với nhau và thiết lập các thông số để xác định cách các đối tượng trong trò chơi tương tác với nhau và với người chơi
BluePrint hỗ trợ việc tạo ra các tác vụ như di chuyển đối tượng, kiểm tra va chạm, xử lý sự kiện, tạo hiệu ứng đặc biệt, điều khiển ánh sáng và âm thanh, và nhiều hơn nữa
Nó cũng cho phép người dùng tạo ra các biểu đồ trạng thái phức tạp để quản lý hành vi của nhân vật trong trò chơi, ví dụ như trạng thái đứng, chạy, nhảy
BluePrint không yêu cầu kiến thức lập trình sâu, cho phép người dùng không phải viết mã để tạo ra các hành vi trong trò chơi Tuy nhiên, nó cũng cung cấp một môi trường mạnh mẽ cho các lập trình viên chuyên nghiệp để tạo ra các hàm tùy chỉnh và mở rộng khả năng của BluePrint UE5 cung cấp một số tính năng mới cho BluePrint, bao gồm cải tiến hiệu suất, khả năng tương thích với công nghệ Nanite và Lumen, tích hợp hệ thống động vật và đồng cảnh (World Partition), và nhiều cải tiến khác giúp người dùng tạo ra trải nghiệm trò chơi chất lượng cao
Tóm lại, BluePrint là một công cụ mạnh mẽ và trực quan trong UE5 cho phép người dùng xây dựng logic và hành vi trong trò chơi một cách dễ dàng và không cần viết mã Nó phù hợp cho cả người dùng không chuyên nghiệp và lập trình viên kinh nghiệm để tạo ra các trò chơi độc đáo và phong phú.
Các nội dung cần thực hiện
Để xây dựng game hoàn chỉnh, cần có các nội dung sau:
Thiết kế môi trường và nhân vật đóng vai trò quan trọng trong việc tạo sức hấp dẫn cho câu chuyện Người sáng tạo nội dung cần thiết kế một ngôi làng trên đảo, bao gồm các khu vực khác nhau như làng chài, khu nhà ở và khu vực đồn trú Ngoài ra, họ cần tạo ra các nhân vật có chiều sâu, chẳng hạn như Đặc P và phần tử khủng bố, để người đọc có thể đồng cảm và liên hệ với họ.
- Hệ thống cơ chế chơi: Điều khiển và tương tác với nhân vật, môi trường và vật phẩm, cần phát triển hệ thống chơi phù hợp với câu chuyện, ví dụ như tìm kiếm các vật phẩm cần thiết để giải cứu con tin.
- Cơ chế chiến đấu: Cần thiết kế hệ thống chiến đấu để người chơi có thể đối đầu với phần tử khủng bố và bảo vệ mình.
- Âm thanh và hình ảnh: Thiết kế âm thanh và hình ảnh phù hợp để tạo cảm giác kịch tính, căng thẳng và hấp dẫn cho người chơi.
- Kịch bản và nhân vật phụ: Tạo ra kịch bản chính và các nhân vật phụ để phát triển câu chuyện và giúp người chơi hiểu rõ hơn về thế giới game.
- Testing và debugging: Kiểm tra và sửa lỗi trong game để đảm bảo tính năng hoạt động tốt và trải nghiệm chơi game tốt hơn.
Ngôn ngữ C++
C ++ là một ngôn ngữ lập trình được phát triển bởi Bjarne Stroustrup vào năm 1979 tại Bell Labs C ++ được coi là ngôn ngữ bậc trung (middle-level) như một phần mở rộng của ngôn ngữ lập trình C, hoặc
“C với các lớp Class” vì nó bao gồm sự kết hợp của cả các tính năng của ngôn ngữ cấp cao và cấp thấp.
C ++ chạy trên nhiều nền tảng khác nhau, chẳng hạn như Windows, Mac OS và các phiên bản khác nhau của UNIX.
Ngôn ngữ đã được mở rộng đáng kể theo thời gian và C ++ hiện nay có nhiều tính năng như:
Lập trình hướng đối tượng
Ngôn ngữ đa mẫu hình tự do có kiểu tĩnh
Ngoài ra còn có thêm các tính năng, công cụ khác để thao tác với bộ nhớ cấp thấp Từ thập niên 1990, C++ đã trở thành một trong những ngôn ngữ thương mại ưa thích và phổ biến của lập trình viên.
PHÂN TÍCH, THIẾT KẾ VÀ TRIỂN KHAI GAME
PHÂN TÍCH
Khi bắt đầu vào trò chơi, nhân vật vào map, nhận gợi ý từ NPC tìm 3 chiếc chìa khóa để qua màn, trong map sẽ có các vật phẩm như vũ khí(dao, rìu, … ), bình máu cho người chơi nhặt, đồng thời sẽ có quái vật ngăn cản và tấn công người chơi, chiếc chìa khóa 3 phải giải đố mới lấy được.
Đặc vụ P được cử đến một ngôi làng biệt lập trên đảo để giải cứu một con tin bị bắt cóc bởi một giáo phái bí ẩn Khi đến nơi, P nhận ra rằng dân làng đã gần như bị tẩy não hoàn toàn.
Thế giới game: Trò chơi sẽ đưa người chơi vào một thế giới chứa đầy nguy hiểm, nơi các sinh vật kinh dị và nguy hiểm đang lảng vảng khắp nơi Người chơi sẽ tiếp tục theo chân nhân vật chính P trên hành trình đầy thử thách để giải cứu con tin của
1 quan chức Trong trò chơi, người chơi sẽ phải chiến đấu chống lại các kẻ thù và sinh vật khác nhau với vũ khí và kỹ năng chiến đấu của mình để vượt qua các thử thách trong trò chơi.
- Những sự kiện mở đầu sẽ giới thiệu nhân vật chính P, cựu đặc vụ Mỹ, và mục đích của anh ta trong hành trình của mình.
- Con tin của 1 quan chức (đang bị bắt giam)
Nhân vật chính sẽ vượt qua muôn vàn hiểm nguy trong một ngôi làng trên đảo xa lạ để giải cứu con tin của một viên chức cấp cao Cuộc hành trình này sẽ đưa anh ta chạm trán với nhiều kẻ thù nguy hiểm, đòi hỏi người chơi phải chiến đấu và ứng biến linh hoạt để có thể hoàn thành nhiệm vụ.
Nhiệm vụ: Giải cứu con tin của 1 quan chức : Mục tiêu cuối cùng của P là giải cứu con tin của 1 quan chức , và để làm được điều đó, anh ta sẽ phải vượt qua nhiều thử thách và đánh bại nhiều kẻ thù và sinh vật khác nhau.
Về cách chơi: Đặc vụ P là một trò chơi hành động phiêu lưu kinh dị Đây là một game sinh tồn góc nhìn thứ ba, nghĩa là bạn sẽ điều khiển nhân vật của mình từ một góc nhìn bên ngoài để đánh kẻ thù Để bắt đầu chơi game, bạn có thể tham khảo các bước sau:
- Điều khiển nhân vật: Sử dụng bàn phím hoặc tay cầm để điều khiển nhân vật của bạn trong game Chạy, đánh và né tránh các kẻ thù.
Quản lý vũ khí là một phần quan trọng trong trò chơi Có nhiều loại vũ khí khác nhau mà người chơi có thể sử dụng, mỗi loại có ưu và nhược điểm riêng Tùy thuộc vào sở thích và tình huống, người chơi có thể chọn sử dụng các loại vũ khí khác nhau để đánh bại kẻ thù hiệu quả nhất.
- Sử dụng năng lượng: Trong game có một thanh năng lượng mà bạn phải giữ cho đầy để nhân vật của bạn có đủ sức mạnh để tiếp tục đi tiếp Để tăng năng lượng, bạn có thể ăn thức ăn và uống nước
- Điều tra: Trong game có nhiều câu đố và bẫy mà bạn phải giải quyết để tiến đến màn chơi mới.
- ASDW : Di chuyển nhân vật cơ bản.
- double/triple left mouse: combo attack.
2 Mô hình phân rã chức năng
THIẾT KẾ VÀ TRIỂN KHAI GAME
1 Thực hiện thiết kế các Scene cho game
Nội dung: Thiết kế các Scene Menu, các Map, Game win, Game over, … cho game. (Thêm game win và game over)
Hình 2 – Môi trường trong Game
Hình 3 - Môi trường trong Game
Hình 4 - Môi trường trong Game
Hình 5 - Môi trường trong Game
2 Thực hiện Task tạo animation và animator cho game
- Nội dung: Tạo animation và animator cho nhân vật, quái và các vật phẩm cần thiết.
Animation (hay Animation Clip) là chuỗi các khung hình tạo chuyển động cho vật thể trong game Chúng được tạo bằng công cụ mô phỏng chuyển động hoặc Motion Capture Animation giúp các nhân vật, động vật hay vật tĩnh trong game có thể chuyển động.
+ Animator là một công cụ trong Unreal Engine cho phép các nhà phát triển tạo ra các chuyển động cho các nhân vật và đối tượng trong game bằng cách sử dụng các sơ đồAnimator Sơ đồ Animator là một đồ thị trạng thái và hành động, cho phép các nhà phát triển kết hợp các animation để tạo ra các chuỗi chuyển động liên tục Sơ đồ Animator cũng có thể được sử dụng để kiểm soát các tham số chuyển động khác nhau như tốc độ,hướng đi, độ cao nhảy và các thay đổi khác.
Hình 6 - Animator Add Input Mapping and Camere Input
Hình 7 - Animator Assasin Play and Make Dame
Hình 13 - Animator Talk with NPC and Open Chest
3 Xử lý logic cho các giải đố và quái vật trong game
Nội dung: thiết lập code các câu giải đố và quái vật, khi người chơi chọn bắt đầu thì gợi ý sẽ xuất hiện, người chơi phải đánh tất cả các quái vật và giải đố thì mới được qua màn. + Quái vật: thiết kế cây hành vi - AI của quái vật.
+ Giải đố: Thiết kế câu đố để người chơi bắt đầu tìm lời giải.
Hình 17 - Cây hành vi – Thiết lập AI cho quái vật
4 Xử lý logic cho nhân vật trong game
Nội dung: Xử lí logic cho player nhân vật di chuyển bằng các nút, nhặt vũ khí, đánh quái vật và giải đố khi gặp phải.
- Sử dụng lí thuyết về ngôn ngữ C++ và các Method API do Unreal Engine hỗ trợ để giải quyết vấn đề.
- Để tạo Chuyển động của nhân vật , cần có nhiều phần, mỗi phần hoạt động cùng nhau để tạo ra kết quả cuối cùng là một nhân vật di chuyển trong trò chơi Chúng ta sẽ cần một nhân vật, đầu vào cho nhân vật đó, cách nhân vật phản ứng với đầu vào từ người chơi, hoạt ảnh cho nhân vật di chuyển,chuyển tiếp đến và từ hoạt ảnh cũng như logic đằng sau quá trình chuyển đổi giữa các hoạt ảnh.
- Tham khảo thêm tại: https://docs.unrealengine.com/4.26/enUS/InteractiveExperiences/HowTo/Ch aracterMovement/
Hình 22 - Vũ khí của nhân vật
Hình 23 – Kho vũ khí của nhân vật
5 Thu âm thanh cho game
Nội dung: Sử dụng meta Sound, sound wave, sound attenuation, sound cue
Cơ sở lí thuyết: Trong Unreal Engine, có nhiều khái niệm liên quan đến âm thanh, bao gồm Meta Sound, Sound Wave, Sound Attenuation và Sound Cue Dưới đây là mô tả ngắn gọn về mỗi khái niệm này:
- Meta Sound: Meta Sound là một loại tài nguyên âm thanh trong Unreal Engine, được sử dụng để định nghĩa các thông số và thuộc tính của âm thanh, chẳng hạn như giảm dần âm lượng, pha trộn, tạo ra âm thanh vòng lặp, và nhiều hơn nữa.
- Sound Wave: Sound Wave là một tài nguyên âm thanh cơ bản trong Unreal Engine, được sử dụng để định nghĩa dữ liệu âm thanh cụ thể cho trò chơi Nó có thể được tạo ra từ các tệp âm thanh được nhập vào hoặc được tạo ra trực tiếp trong Unreal.
Độ suy giảm âm thanh là một thiết lập được sử dụng để xác định cách âm thanh giảm dần khi xa người chơi hoặc các nguồn âm thanh khác Tính năng này cho phép lập trình viên tinh chỉnh các hiệu ứng âm thanh như độ rõ, phản xạ âm thanh từ các vật thể và các hiệu ứng khác.
- Sound Cue: Sound Cue là một loại tài nguyên âm thanh trong Unreal Engine, cho phép lập trình viên tạo ra các kịch bản âm thanh phức tạp hơn bằng cách kết hợp nhiều Sound Wave và Meta Sound để tạo ra một hiệu ứng âm thanh độc đáo và phức tạp hơn.
Hình 24 – Tạo Metasound tiếng bước chân
Hình 25 – Tạo Sound Cue random tiếng khi nhân vật chết.
6 Thiết kế map hướng dẫn
Nội dung: Khi game được sử dụng thì có thể người chơi chưa biết cách chơi game như thế nào, nên map hướng dẫn này sẽ hướng dẫn người chơi cách chơi.