Nghiên cứu các thuật toán và ứng dụng phát triển game 3D với hệ thống AI NPC

Khóa luận tốt nghiệp kỹ thuật phần mềm nghiên cứu thuật toán và ứng dụng phát triển game 3D với hệ thống AI NPC, mang lại trải nghiệm mới mẻ.

Chuyên ngành

Kỹ thuật phần mềm

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2024

58
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

MỤC LỤC

DANH MỤC TỪ VIẾT TẮT

1. CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.1. Tổng quan

1.2. Mục tiêu đề tài

1.3. Đối tượng game hướng tới

1.4. Đối tượng nghiên cứu

1.5. Các hướng nghiên cứu liên quan

1.6. Phạm vi đề tài

2. CHƯƠNG 2: THUẬT TOÁN AI CƠ BẢN

2.1. Giới thiệu

2.2. Thuật toán ngẫu nhiên có điều kiện

2.2.1. Giới thiệu

2.2.2. Nguyên lí hoạt động

2.2.3. Ý nghĩa và ứng dụng trong trò chơi

2.3. Thuật toán LOS (Line of Sight)

2.3.1. Giới thiệu

2.3.2. Nguyên lí hoạt động

2.3.3. Mô phỏng thuật toán LOS

2.4. Thuật toán xử lí hành vi bất thường

2.4.1. Giới thiệu

2.4.2. Nguyên lí hoạt động

2.5. Finite State Machine

2.5.1. Giới thiệu

2.5.2. Nguyên lí hoạt động

2.5.3. Ý nghĩa

3. CHƯƠNG 3: XÂY DỰNG HỆ THỐNG GAME

3.1. Hệ thống nhân vật

3.1.1. Người chơi

3.2. Xây dựng đồ họa game

3.3. Đồ họa nhân vật trong game

3.4. Xây dựng giao diện GAME

3.4.1. Giao diện start

3.4.2. Giao diện trò chơi

4. CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

4.1. Xây dựng sơ đồ use case

4.1.1. Sơ đồ use case Player

4.1.2. Sơ đồ use case NPC

4.2. Danh sách actor

4.3. Danh sách đặc tả Use Case

4.3.1. Đặc tả Use Case

4.3.2. Thu thập đá quý

4.3.3. Nhặt đồng xu

4.3.4. Mua vật phẩm hỗ trợ

4.3.5. Chọn vật phẩm hỗ trợ

4.3.6. Sử dụng vật phẩm hỗ trợ

4.3.7. Mở cửa

4.3.8. Chơi lại trò chơi

4.3.9. Di chuyển ngẫu nhiên

4.3.10. Truy đuổi người chơi

4.3.11. Tìm kiếm người chơi

4.3.12. Phát hiện người chơi

5. CHƯƠNG 5: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN

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

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

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG

Tóm tắt

I. Tổng quan về nghiên cứu phát triển game 3D với AI NPC

Nghiên cứu phát triển game 3D với hệ thống AI NPC đang trở thành xu hướng nổi bật trong ngành công nghiệp game. Việc áp dụng công nghệ AI vào game không chỉ giúp tạo ra những trải nghiệm chơi game phong phú mà còn nâng cao tính tương tác và chân thực cho người chơi. Đề tài này sẽ khám phá các thuật toán AI được sử dụng trong việc phát triển nhân vật không thể điều khiển (NPC) trong game 3D.

1.1. Khái niệm về game 3D và AI NPC

Game 3D là thể loại game sử dụng đồ họa ba chiều, mang lại trải nghiệm hình ảnh sống động. AI NPC là trí tuệ nhân tạo được lập trình để điều khiển hành vi của nhân vật không thể điều khiển, giúp tạo ra những tình huống tương tác phong phú.

1.2. Tầm quan trọng của AI trong game 3D

AI đóng vai trò quan trọng trong việc tạo ra hành vi tự nhiên cho NPC, từ đó nâng cao trải nghiệm người chơi. Việc áp dụng AI giúp game trở nên hấp dẫn hơn, đồng thời tạo ra những thách thức mới cho người chơi.

II. Thách thức trong phát triển game 3D với AI NPC

Phát triển game 3D với AI NPC không chỉ đơn thuần là lập trình mà còn đối mặt với nhiều thách thức. Những vấn đề như tối ưu hóa hiệu suất, tạo ra hành vi tự nhiên cho NPC và đảm bảo tính tương tác là những yếu tố cần được xem xét kỹ lưỡng.

2.1. Vấn đề tối ưu hóa hiệu suất

Tối ưu hóa hiệu suất là một thách thức lớn trong phát triển game 3D. Các thuật toán AI phức tạp có thể làm giảm tốc độ khung hình, ảnh hưởng đến trải nghiệm người chơi. Cần có các giải pháp để cân bằng giữa chất lượng hình ảnh và hiệu suất.

2.2. Tạo ra hành vi tự nhiên cho NPC

Hành vi của NPC cần phải tự nhiên và khó đoán để tạo ra sự hấp dẫn cho người chơi. Việc lập trình các hành vi này đòi hỏi sự sáng tạo và hiểu biết sâu sắc về tâm lý người chơi.

III. Phương pháp phát triển game 3D với AI NPC hiệu quả

Để phát triển game 3D với AI NPC hiệu quả, cần áp dụng các phương pháp và công nghệ tiên tiến. Việc sử dụng các thuật toán AI hiện đại và công cụ phát triển game mạnh mẽ sẽ giúp tối ưu hóa quy trình phát triển.

3.1. Sử dụng thuật toán A trong tìm đường

Thuật toán A* là một trong những thuật toán tìm đường hiệu quả nhất, giúp NPC tìm ra lộ trình ngắn nhất đến mục tiêu. Việc áp dụng thuật toán này giúp tăng cường tính thực tế trong hành vi của NPC.

3.2. Kết hợp thuật toán ngẫu nhiên có điều kiện

Thuật toán ngẫu nhiên có điều kiện giúp tạo ra hành vi động cho NPC, làm cho hành vi của chúng trở nên khó đoán và thú vị hơn. Điều này không chỉ tăng tính thử thách mà còn làm cho game trở nên hấp dẫn hơn.

IV. Ứng dụng thực tiễn của AI NPC trong game 3D

AI NPC không chỉ là một phần của game mà còn là yếu tố quyết định đến sự thành công của trò chơi. Việc áp dụng AI vào game 3D đã mang lại nhiều lợi ích cho cả nhà phát triển và người chơi.

4.1. Tăng cường trải nghiệm người chơi

AI NPC giúp tạo ra những tình huống bất ngờ và thú vị, từ đó nâng cao trải nghiệm người chơi. Những hành vi tự nhiên của NPC khiến người chơi cảm thấy như đang tham gia vào một thế giới sống động.

4.2. Cải thiện khả năng tương tác trong game

Việc áp dụng AI vào NPC giúp cải thiện khả năng tương tác giữa người chơi và nhân vật trong game. Điều này không chỉ tạo ra sự kết nối mà còn làm cho game trở nên hấp dẫn hơn.

V. Kết luận và tương lai của game 3D với AI NPC

Nghiên cứu phát triển game 3D với hệ thống AI NPC đang mở ra nhiều cơ hội mới cho ngành công nghiệp game. Tương lai của game 3D sẽ ngày càng phát triển với sự hỗ trợ của công nghệ AI, hứa hẹn mang đến những trải nghiệm chơi game chưa từng có.

5.1. Xu hướng phát triển công nghệ AI trong game

Công nghệ AI sẽ tiếp tục phát triển và được áp dụng rộng rãi trong ngành công nghiệp game. Những cải tiến trong AI sẽ giúp tạo ra những NPC thông minh hơn, mang lại trải nghiệm chơi game phong phú hơn.

5.2. Tương lai của game 3D và AI NPC

Tương lai của game 3D sẽ chứng kiến sự kết hợp mạnh mẽ giữa công nghệ AI và thiết kế game. Điều này không chỉ tạo ra những trò chơi hấp dẫn mà còn mở ra nhiều cơ hội mới cho các nhà phát triển.

10/07/2025
Khóa luận tốt nghiệp kỹ thuật phần mềm nghiên cứu các thuật toán và ứng dụng phát triển game 3d với hệ thống ai npc

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

CHƯƠNG 1.GIOI THIEU ĐỀ TÀI 1.1 Tổng quan Ngày nay, trí tuệ nhân tao (AI) dang dong vai trò ngày cảng quan trong trong nhiều lĩnh vực, và ngành công nghiệp game cũng không ngoại lệ. Việc ứng dụng AI vào game 3D mở ra nhiều tiềm năng to lớn, hứa hẹn mang đến những trải nghiệm chơi game mới mẻ, hấp dẫn và chân thực hơn cho người chơi. Đề tài nghiên cứu các thuật toán AI của NPC ra đời nhằm mục đích nghiên cứu vào vận hành trong game. Đề tài sẽ đi sâu vào tìm hiểu các kĩ thuật được sử dụng trong việc lập trình một AI cụ thể là việc tìm kiếm người chơi.

Đồng thời, đề tài cũng sẽ phân tích hướng đi và cách cải thiện các thuật toán, từ đó đưa ra đánh giá và kết luận về các thuật toán được sử dụng. Lý do lựa chọn đề tài này xuất phát từ niềm đam mê với game và mong muốn tìm hiểu về những thuật toán được sử dụng trong lĩnh vực này. Việc tìm hiểu và ứng dụng nó vào game 3D có thê mang lại nhiều lợi ích cho cả nhà phát triển game và người chơi. Do đó, nghiên cứu về đề tài này có ý nghĩa khoa học và thực tiễn.2 Mục tiêu đề tài Mục tiêu của đề tài là xây dựng một game 3D và áp dụng các thuật toán trong việc tìm kiếm và theo đuôi người chơi.

Game sẽ được hoàn thiện ở mức độ có thể demo được các tính năng cơ ban và các thuật toán AI. Các thuật toán AI truy đuổi người chơi sẽ được nghiên cứu và tham khảo từ nhiều trò chơi khác nhau. Dựa trên những gi đã tìm hiểu, các thuật toán này sẽ được xây dung và tái hiện trong game. Ngoài ra, đề tài còn mục tiêu tìm hiểu sâu về hành vi con người và áp dụng vào triển khai các thuật toán nâng cao, nhằm làm cho AI trở nên giống con người hơn.

Sự cân bằng giữa thuật toán và tính chơi được của game cũng sẽ được nghiên cứu và điều chỉnh. Cuối cùng, việc nghiên cứu các kiểu thuật toán khác nhau trong việc tìm kiếm người chơi sẽ tăng thêm tính đa dạng cho trò chơi.3 Đối tượng game hướng tới Game này hướng tới những người yêu thích thể loại game kinh dị, có khả năng tư duy cao và phản xạ tốt dé tính toán được những bước đi tốt nhất trong việc tránh né kẻ thù, cũng như bât cứ ai muôn tìm cảm giác hôi hộp khi chơi game.4 Đối tượng nghiên cứu Đối tượng nghiên cứu của dự án này bao gồm người dùng và các công nghệ sau: - Người chơi: Nhóm nay mong đợi trải nghiệm chơi game, vì game hướng tới là thể loại game kinh di nên mục tiêu là tạo ra game có một độ khó nhất định để có thé gây áp lực cho người chơi, đồng thời tìm hiểu về hành vi tâm lí con người dé có thé cải thiện hơn về AI. - Trí tuệ nhân tạo (AI): AI được phát triển và sử dụng trong việc tìm kiếm, theo đuôi người chơi, cộng theo tính ngẫu nhiên và tính “người” trong đó. - Các trò chơi kinh dị có sẵn: Tìm hiểu các thuật toán dựa trên các game có sẵn từ đó có thể học hỏi, áp dụng.5 Các hướng nghiên cứu liên quan Môi trường và kịch bản tương tác: Tạo ra các môi trường game và kịch bản có tính tương tác cao để mang lại cảm giác chân thực và sợ hãi cho người chơi.

Điều này đòi hỏi sự sáng tạo trong việc xây dựng bối cảnh và tình huống trong game, sao cho người chơi cảm nhận được sự hồi hộp và bat ngờ liên tục. Âm thanh, hình anh và ánh sáng: Nghiên cứu sâu về âm thanh, hình ảnh và ánh sáng nhằm tối ưu hóa trải nghiệm kinh dị. Việc sử dụng âm thanh đáng sợ, hình ảnh rùng rợn và ánh sáng yếu sé tăng cường yếu tố kinh dị và làm cho người chơi cảm thấy căng thắng, hồi hộp hơn. Thu thập và phân tích dit liệu: Thu thập di liệu từ quá trình chơi game dé hiểu rõ hành vi của người chơi.

Dữ liệu này sẽ cung cấp cái nhìn sâu sắc về cách người chơi tương tác với các yếu tố kinh di trong game và hiệu quả của những yếu tổ đó. Tôi ưu hóa và cải thiện trải nghiệm: Sử dụng dữ liệu đã thu thập để tối ưu hóa độ khó của game, tạo ra các kịch bản mới và cải thiện trải nghiệm người chơi. Điều này giúp đảm bảo rằng game không chỉ gây sợ hãi mà còn thú vị và thách thức người chơi một cách hợp lý.6 Phạm vi đề tài Phạm vi môi trường của đề tài này được xác định là các máy tính có hệ điều hành từ Windows 10 trở lên. Về mặt tính năng, game sẽ là một trò chơi 3D với góc nhìn thứ nhất (FPS), cho phép người chơi trải nghiệm một mình.

Gameplay của game sẽ tập trung vào một màn chơi duy nhất nhưng có cấu trúc thay đổi mỗi lần chơi nhờ vào việc sử dụng các kỹ thuật Random Number Generation (RNG). Trò chơi hoàn chỉnh sẽ bao gồm nhiều chức năng khác nhau. Hệ thống nhân vật sẽ có hai loại: người chơi và kẻ thù, mỗi loại có chức năng và hành vi riêng biệt. Hệ thống hitbox sẽ được thiết kế đa dạng, với các môi trường tinh như mặt đất, tường và cửa có khả năng chặn người chơi.

Các hitbox của vật tương tác như đá quý va máy ban hàng tự động sẽ được thiết kế để người chơi có thé tiếp xúc trực tiếp. Hitbox của kẻ thù sẽ hoạt động tương tự với môi trường xung quanh như cách người chơi tương tác, nhưng khi đụng phải người chơi sẽ dẫn đến tình trạng game over. Ngoài ra, hitbox của kẻ thù cũng sẽ được sử dụng đề phát hiện người chơi. Hệ thống tương tác trong game cho phép người chơi tương tác với các vật phẩm hỗ trợ và item hoàn thành nhiệm vụ.

Hệ thống item va inventory sẽ cho phép người choi thu thập và lưu trữ các vật pham trong inventory, mỗi vật pham sẽ có tác dụng riêng biệt, giúp người chơi tạo lợi thế trong game.1 Giới thiệu Unity Unity là một nền tang phát triển game đa nền tang, được sử dụng dé tạo ra các ứng dụng trò chơi 2D và 3D cho nhiều thiết bị như máy tính cá nhân, console, điện thoại thông minh, máy tinh bảng, va web. Unity được biết đến với tinh dé sử dụng, linh hoạt và cộng đồng mạnh mẽ.2 Các thành phan cơ bản của Unity Cảnh: Cảnh là một tập hợp các đối tượng đại diện cho một môi trường hoặc man chơi trong game. Unity hỗ trợ nhiều cảnh trong một dự án, cho phép bạn tạo ra những thế giới game phức tạp. Doi tượng: Đối tượng là đại diện cho các yếu tố cụ thé trong game, như nhân vật, vật phẩm, cảnh quan.

Mỗi đối tượng có thể có nhiều thành phần, thuộc tính và hành vi riêng. Thành phan: Unity sử dụng mô hình thành phan để tổ chức các đối tượng trong game. Mỗi thành phần có các thuộc tính và phương thức riêng, giúp quản lý và tái sử dụng code dễ dàng. Hệ thống sự kiện: Hệ thống sự kiện cho phép bạn kết nối các thành phần và đối tượng khác nhau trong game.

Khi một sự kiện xảy ra, nó sẽ thông báo cho các đối tượng đã đăng ký dé thực hiện hành động phù hợp.2 Thuật toán AI cơ bản 2.1 Giới thiệu Thuật toán A* được phát triển bởi Peter Hart, Nils Nilsson và Bertram Raphael vào năm 1968. Đây là một thuật toán tìm kiếm thông minh sử dụng phương pháp heuristic dé tối ưu hóa việc tìm đường. Thuật toán này tìm kiếm đường đi từ điểm bắt dau (start) đến điểm dich (goal) trong một đồ thị bằng cách mở rộng các điểm (node) sao cho chi phí đường đi tổng cộng là nhỏ nhất.2 Nguyên lí hoạt động Thuật toán A* sử dụng hai hàm chi phí chính: g(n): Chi phí đường đi từ điểm bắt đầu đến node n. h(n): Hàm ước lượng chi phí từ noden đến điểm đích.

Hàm này thường được gọi là hàm heuristic. Thuật toán A* sử dung tổng chi phí ƒ(m) để đánh giá các node, được tinh bằng công thức: [Ƒ{t) = g(n) + A(n)j Thuật toán sẽ mở rộng node có f(n) nhỏ nhất trước, nghĩa là node mà tông chi phí ước lượng thấp nhất. Ưu và nhược điểm của thuật toán A* Ưu điểm: Tìm được đường đi ngắn nhất, thông minh nhất. Nhược điểm: Tốn khá nhiều về mặt bộ nhớ và thời gian tính toán khi đồ thị quá lớn.2 Thuật toán ngẫu nhiên có điều kiện 2.1 Giới thiệu Thuật toán ngẫu nhiên có điều kiện là một phương pháp tối ưu hóa hành vi của đối tượng (như NPC hoặc kẻ thù trong trò chơi) dựa trên các điều kiện cụ thể nhằm tăng tính khó đoán và phức tạp trong hành vi.

Thuật toán này kết hợp các yếu tố ngẫu nhiên với các quy tắc định sẵn đề tạo ra một hành vi động, linh hoạt và đa dạng.2 Nguyên lí hoạt động Thuật toán ngẫu nhiên có điều kiện hoạt động dựa trên việc phân chia xác suất thực hiện các hành động khác nhau dựa trên điều kiện hiện tại của hệ thống, các bước của nó như sau. Xác định điều kiện: Xác định trạng thái hiện tại của đối tượng, ví dụ việc xác định xem bản thân có đói không, có mệt không, có đang hăng hái không, các yếu tố từ bên ngoài đang ảnh hưởng chúng ta như thế nào. Phân phối xác xuất: Dựa trên trạng thái hiện tại, phân phối xác suất cho các hành động khác nhau. Ví dụ: Khi ta đang đói: e 30% sẽ chọn việc mua gi đó dé ăn © 30% sẽ chọn việc mua gì đó dé uống e 20% sẽ chon không làm gì cả e 15% sẽ chon mua cả 2 ° Lựa chọn hành động: Sử dụng một hàm ngẫu nhiên dé quyết định hành động tiếp theo dựa trên xác suất đã phân phối.

Thực hiện hành động: Đối tượng thực hiện hành động đã chọn và cập nhật trạng thái. Xác định điều kiện Bình thường/Truy đuổi/Tìm kiếm bình thường Phân phối xác suất Bình thường 50% 50% Di chuyển Di chuyển điểm ngẫu nhiên tới điểm nhiệm vụ Lựa chọn hành động Di chuyển điểm ngẫu nhiên Thực hiện hành động Di chuyển điểm ngẫu nhiên Hình 2.3 Sơ đồ hoạt động của thuật toán ngẫu nhiên có điều kiện 2.3 Ý nghĩa và ứng dụng trong trò chơi Thuật toán ngẫu nhiên có điều kiện là một công cụ mạnh mẽ để tạo ra hành vi động và khó đoán trong nhiều ứng dụng khác nhau. Bang cách kết hợp xác suất và điều kiện, thuật toán này giúp tăng cường tính thực tế và thử thách trong các hệ thống mô phỏng và trò chơi. Thuật toán LOS ( Line of Sight ) 2.

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