Nghiên Cứu và Phát Triển Giải Pháp Tạo Màn Chơi Tự Động Cho Game

Luận văn tốt nghiệp kỹ thuật nghiên cứu tốt nghiệp kỹ thuật phần mềm tìm hiểu và phát triển các giải pháp sử dụng map generator để tự động, điều tra thực trạng, phân tích số liệu,

Chuyên ngành

Công Nghệ Phần Mềm

Người đăng

Ẩn danh

Thể loại

Khóa Luận Tốt Nghiệp

2024

59
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIEU DE TÀI

1.1. Tổng quan

1.2. Phạm vi thực hiện

1.3. Đối tượng sử dụng

1.4. Phương pháp thực hiện

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ

2.1. Unity

2.2. Map Generator

2.3. Giải pháp Perlin Noise

2.4. Giải thuật Tìm kiếm theo chiều rộng (BFS)

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

4. CHƯƠNG 4: XÂY DỰNG VÀ THIẾT KẾ GAME

4.1. Xây dựng hệ thống màn chơi

4.2. Thiết lập nhân vật

4.3. Thiết lập kẻ địch

4.4. Thiết lập súng cho nhân vật chính

4.5. Thiết lập boom ném cho nhân vật chính

4.6. Thiết lập vũ khí cho kẻ địch

4.7. Thiết lập các chướng ngại vật ở Map Xanh lá, Vàng

4.8. Thiết lập các chướng ngại vật ở Map Xanh biển

4.9. Thiết lập các chướng ngại vật ở Map Đỏ

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

4.11. Xây dựng đồ họa các nhân vật cho game

4.12. Xây dựng giao diện

4.12.1. Giao diện Main Menu

4.12.2. Giao diện Option (Cài đặt)

4.12.3. Giao diện Màn chơi

4.12.4. Giao diện Pause Game

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

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

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

DANH SÁCH BẢNG

DANH SÁCH HÌNH ẢNH

DANH TỪ VIẾT TẮT

Tóm tắt

I. Tổng quan về Nghiên Cứu Giải Pháp Tạo Màn Chơi Tự Động

Nghiên cứu và phát triển giải pháp tạo màn chơi tự động cho game đang trở thành một xu hướng quan trọng trong ngành công nghiệp game. Với sự gia tăng nhu cầu giải trí, việc tạo ra các màn chơi phong phú và đa dạng là rất cần thiết. Giải pháp này không chỉ giúp tiết kiệm thời gian mà còn nâng cao trải nghiệm người chơi.

1.1. Tại sao cần tạo màn chơi tự động

Việc tạo màn chơi tự động giúp giảm thiểu công sức và thời gian cho các nhà phát triển game. Điều này cho phép họ tập trung vào các khía cạnh khác của game như thiết kế nhân vật và cốt truyện.

1.2. Lợi ích của việc sử dụng Map Generator

Map Generator giúp tạo ra các môi trường chơi đa dạng, từ đó thu hút nhiều người chơi hơn. Nó cũng cho phép cập nhật nội dung dễ dàng hơn trong suốt vòng đời của trò chơi.

II. Vấn đề và Thách thức trong Tạo Màn Chơi Tự Động

Mặc dù có nhiều lợi ích, việc tạo màn chơi tự động cũng gặp phải một số thách thức. Các nhà phát triển cần phải đảm bảo rằng các màn chơi được tạo ra vẫn giữ được tính hấp dẫn và không gây nhàm chán cho người chơi.

2.1. Khó khăn trong việc duy trì tính đa dạng

Một trong những thách thức lớn nhất là làm sao để các màn chơi tự động vẫn giữ được sự đa dạng và không lặp lại. Điều này đòi hỏi các thuật toán phải được tối ưu hóa liên tục.

2.2. Đảm bảo trải nghiệm người chơi

Cần phải đảm bảo rằng các màn chơi tự động vẫn mang lại trải nghiệm thú vị cho người chơi. Việc này có thể được thực hiện thông qua việc thử nghiệm và thu thập phản hồi từ người chơi.

III. Phương Pháp Nghiên Cứu Giải Pháp Tạo Màn Chơi Tự Động

Để phát triển giải pháp tạo màn chơi tự động, các nhà nghiên cứu đã áp dụng nhiều phương pháp khác nhau. Các thuật toán như Perlin Noise và BFS được sử dụng để tạo ra các môi trường chơi phong phú.

3.1. Sử dụng Perlin Noise trong tạo địa hình

Perlin Noise là một thuật toán mạnh mẽ giúp tạo ra các địa hình tự nhiên cho game. Nó cho phép tạo ra các giá trị ngẫu nhiên mà vẫn giữ được tính liên tục, từ đó tạo ra các môi trường chơi chân thực.

3.2. Ứng dụng thuật toán BFS trong tìm kiếm

Thuật toán BFS giúp tìm kiếm các đường đi ngắn nhất trong môi trường game. Điều này rất quan trọng để xác định vị trí của nhân vật và các chướng ngại vật trong màn chơi.

IV. Ứng Dụng Thực Tiễn của Giải Pháp Tạo Màn Chơi Tự Động

Giải pháp tạo màn chơi tự động đã được áp dụng trong nhiều trò chơi nổi tiếng. Việc này không chỉ giúp tiết kiệm thời gian phát triển mà còn nâng cao chất lượng của trò chơi.

4.1. Các trò chơi thành công nhờ vào Map Generator

Nhiều trò chơi như 'Minecraft' và 'No Man's Sky' đã sử dụng Map Generator để tạo ra các thế giới rộng lớn và đa dạng, thu hút hàng triệu người chơi.

4.2. Tương lai của công nghệ tạo màn chơi tự động

Với sự phát triển không ngừng của công nghệ, tương lai của việc tạo màn chơi tự động hứa hẹn sẽ mang lại nhiều cải tiến và trải nghiệm mới cho người chơi.

V. Kết Luận và Tương Lai của Nghiên Cứu Tạo Màn Chơi Tự Động

Nghiên cứu và phát triển giải pháp tạo màn chơi tự động cho game là một lĩnh vực đầy tiềm năng. Việc áp dụng các công nghệ mới sẽ giúp nâng cao trải nghiệm người chơi và mở ra nhiều cơ hội cho các nhà phát triển.

5.1. Tóm tắt những điểm chính

Giải pháp tạo màn chơi tự động không chỉ giúp tiết kiệm thời gian mà còn nâng cao chất lượng trò chơi. Các thuật toán như Perlin Noise và BFS đóng vai trò quan trọng trong việc này.

5.2. Hướng đi tương lai cho nghiên cứu

Cần tiếp tục nghiên cứu và phát triển các thuật toán mới để cải thiện khả năng tạo màn chơi tự động, từ đó nâng cao trải nghiệm người chơi trong các trò chơi tương lai.

10/07/2025
Khóa luận tốt nghiệp kỹ thuật phần mềm tìm hiểu và phát triển các giải pháp sử dụng map generator để tự động tạo ra màn chơi cho game

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

Chương 1: Giới thiệu đề tài. - _ Chương 2: Cơ sở lý thuyết và công nghệ. - _ Chương 3: Phân tích thiết kế hệ thống. - Chương 4: Xây dung giao diện game.

- Chương 5: Kết luận. GIỚI THIỆU ĐÈ TÀI 1.1 Tổng quan: - Ngày này, nhu cầu giải trí bằng game trên thế giới nói chung và Việt Nam nói riêng hiện này rất lớn. Đối tượng sử dụng từ người trẻ đến người già. Tại Việt Nam, có khoảng hơn nửa dân số Việt Nam đã và đang tiếp cận với game và chiếm khoảng 65% từ độ tuổi 17 đến 30, nhất là thời kỳ covid thì lượng người chơi còn tăng đột biến hơn.

Hơn thế, thị phần doanh thu của ngành công nghiệp game ở Việt Nam hiện nay vượt qua 500 triệu USD. Tắt cả điều cho thấy ngành công nghiệp game dang lớn mạnh lên từng ngày. - Người chơi càng tăng, sự cạnh tranh của các nhà phát triển càng lớn. Song song, việc tạo dựng một game tốn nhiều thời gian cho các khâu khác nhau, chúng ta cần phải tìm cách giảm bớt, tự động hoá dan dé tiết kiệm được thời gian và công sức.

- Việc tạo ra nhưng game có màn chơi phong phú, đa dạng giúp thu hút thêm những tệp người chơi là những yếu tốt then chốt tạo nên sự thành công của game đó. Tuy nhiên, việc tạo thủ công ra nhiều màn chơi gây mat nhiều thời gian và công sức. Do đó, việc sử dụng những phương pháp, thuật toán giúp quá trình ấy tự động hoá, linh hoạt hơn rất cần thiết. - Mục đích của đề tài này là nghiên cứu áp dụng các thuật toán, giải pháp từ Map Generator để tạo ra những thử thách trong game trở nên đa dạng, giúp sự trải nghiệm của người chơi phong phú, hấp dẫn hơn.

Thông qua việc tìm hiểu và áp dụng Map Generator dé tự động tạo màn chơi cho game, nhóm chúng em hy vọng sẽ nâng cao chất lượng va hiệu quả trong quá trình phát triển game.2 Phạm vi thực hiện: Phạm vi môi trường: Game được chạy trên hệ điều hành Windows hay macOS. Phạm vi chức năng - Đối với game: + Game 3D, góc nhìn bao quát từ trên xuống. - Đối với gameplay: + Game ban súng map rộng, hạ được kẻ địch và né các chướng ngại vật sẽ hoàn thành màn chơi va qua man mới. + Các màn chơi có độ khó tăng lên qua từng màn và từng dạng map.

+ Các chức năng chính trong game: e Hệ thống người chơi: là nhân vật chính trong game, ta có thể chọn nhân vật khác nhau với loại súng khác nhau. o Di chuyên: người chơi có điêu khiên nhân vật di chuyên băng các phim WASD hoặc các phím mũi tên. o Tân công: người chơi có thê băn ra những viên đạn theo hướng bang chuột. e Hệ thống kẻ địch: các kẻ địch khác nhau sẽ gây ảnh hưởng sát thương khác nhau đên người chơi.

o_ Kẻ địch cầm dao: Di chuyên: nó sẽ tuân tra xung quanh nơi nó xuât hiện, khi gap người chơi nó sẽ đuôi theo người chơi và tan công. Tân công: nó vào tâm tân công sẽ câm dao đâm người chơi, gây mât máu cho người chơi. o Kẻ địch cam boom: Di chuyên: nó sẽ tuân tra xung quanh nơi no xuât hiện, khi gap người chơi nó sẽ đuôi theo người chơi và tân công. Tân công: khi chạm vào được người chơi nó sẽ phát nô, gây sát thương cho người chơi và nó cũng chết.

o Kẻ địch cam súng luc: Di chuyên: nó sẽ tuân tra xung quanh nơi nó xuât hiện, khi gặp người chơi nó sẽ đuôi theo người chơi và tân công. Tân công: khi vào tâm tân công, nó sẽ băn súng gây sát thương cho người chơi. o Kẻ địch cam súng lục có khiên: = Di chuyền: nó sẽ tuần tra xung quanh nơi nó xuất hiện, khi gặp người chơi nó sẽ đuổi theo người chơi và tan công. = Tấn công: khi vào tầm tan công, nó sẽ ban súng gây sát thương cho người chơi.

= Khả năng riêng: có thé tạo khién chắn đạn của người chơi. o Kẻ địch cầm súng boom: “Di chuyên: nó sẽ tuần tra xung quanh nơi nó xuất hiện, khi gặp người chơi nó sẽ đuôi theo người chơi và tấn công. = Tấn công: khi vào tầm tan công, nó sẽ ban súng gây sát thương cực lớn vao | vùng. e Hệ thống chướng ngại vật: các chướng ngại vật sẽ gây khó khăn cho người chơi, các map khác nhau sẽ có chướng ngại vật khác nhau.

o Map đỏ: = Các u súng sẽ phun lửa vào một hướng và một thoi gian nhất quán, khi người chơi đi qua sẽ bị mất máu. » Thảm lửa: Thảm lửa sẽ gây sát thương liên lục cho người chơi khi đứng trên đó buộc người chơi phải đi hướng khác hoặc chịu mat một lượng máu. = Boom lửa: sát thương n6 gây ra khi người chơi va chạm có hiệu ứng thiêu rụi, gây mất máu liên tục trong một khoảng thời gian ngắn sau đó. o Map xanh nước: = Mưa băng rơi: Sau một thời gian nhất định các cột băng sẽ đồ xuống theo góc nghiêng.

Nếu người chơi đi qua lỡ va chạm sẽ gây sát thương, choáng và làm mât máu người chơi. = Tang băng đây: xuất hiện tang băng đây qua lại khi người chơi đi ngang sẽ bị cuốn đây theo chiều của nó mà không thể di chuyên. " Boom băng: khi va chạm sẽ khiến người bị mat máu kèm hiệu ứng bị làm chậm trong một thời gian ngăn. o Map xanh lá, vàng: = Bay hó: Hồ sâu sẽ được làm mờ đi một tý, khi người chơi đi qua bay sẽ nứt dần ra và khiến người rơi xuống vực va mat mạng.

= Bay bua: Cây búa sẽ đập quanh qua qua lại 180 độ khiến người chơi bị mất một lượng máu và đây ra xa khi va chạm, ở cuối đoạn va chạm người chơi sẽ bị choáng một thời gian ngắn. = Bay lay: Tạo những bãi lầy hình tròn khiến người chơi khi đứng trên đó sẽ liên tục bị mất máu và làm chậm. e Hệ thống máu: Người chơi sé bi mat máu khi bị kẻ địch tan công hoặc va chạm với chướng ngại vật. Hon thé, khi người choi di chuyển ra khỏi phạm vi cho phép (rơi xuống vực) người chơi sẽ hết máu ngay lập tức.

Nếu hết máu, người chơi sẽ thua. Người chơi có thé tìm giết các kẻ địch, đôi khi sẽ rơi ra viên hồi phục mau. e Hệ thống kết thúc màn chơi: khi người chơi chết có thé chơi lại, hoặc trở về màn hình chính. e Hệ thống màn chơi mới: khi người chơi tiêu diệt hết kẻ địch ở màn chơi hiện tại sẽ xuất hiện một cánh công dịch chuyền cho phép người chơi khi chạm vào sẽ tiến đến màn chơi mới.3 Đối tượng sử dụng: - Tất cả người chơi muốn giải trí với game.4 Phương pháp thực hiện: Phương pháp làm việc: - Làm việc nhóm với 2 thành viên, dưới sự chỉ dẫn của giảng viên hướng dẫn.

Phương pháp công nghệ: - Tìm hiểu cách làm việc với Unity. - Tìm hiểu các thực toán áp dụng cho Map Generator. - Sử dụng Trello dé quản lý tiến độ và công việc. - Sử dụng Github dé quan lý source code.

CHƯƠNG 2: CƠ SỞ LÝ THUYÉT VÀ CÔNG NGHỆ 2.1: Unity - Unity là một công cu phat trién game da nền tang được phát triển bởi Unity Technologies từ năm 2005. Unity hỗ trợ đồ họa 2D va 3D, ngôn ngữ lập trình được sử dung chủ yếu là ngôn ngữ C#. - Đa nền tang: Unity có thé duoc dung dé tao game cho máy tính, điện thoại, console và web. Unity cũng hỗ trợ các nền tảng thực tế ảo và thực tế tăng cường.

Unity cung cap một môi trường làm việc trực quan va linh hoạt hơn so với đa sô các engine khác. - Công cụ: Unity cũng cung cấp nhiều công cụ cần thiết trong quá trình phát triển game Animator, Timeline, Cinemachine. Unity cũng có một Asset Store lớn, người dùng có thể mua hoặc tải về miễn phí các tài nguyên như mô hình 3D, âm thanh, vật lý, AI,. - Cộng đồng: Một điểm mạnh khác là Unity cũng có một cộng đồng lập trình viên rất đông dao và nhiệt tinh, nơi có thé học hỏi, trao đôi kinh nghiệm và giải quyết các van đề khi phát triển game một cách đa dang và nhanh chong.

Unity cũng có tổ chức những khóa học hay sự kiện và cuộc thi nâng cao kỹ năng cộng đồng và tạo môi trường giao lưu với các nhà phát triển khác. - Bên cạnh đó Unity là một công cụ phát triển game rất mạnh mẽ và phổ biến, đã được dùng dé tạo ra nhiều game nổi tiếng như Among Us, Fall Guys, Genshin Impact, .2 Map Generator: Map generator trong lập trình game là tap hợp các giải pháp cho phép tạo va quan lý các loại hình bản đồ, địa hình và đối tượng một cách tự động, giúp tiết kiệm thời gian cho các nhà phát triển game.2: Map generator Dé tạo ra một man choi cho game bao gôm nhiêu bước thực hiện: - Ap dụng giải pháp Perlin Noise được sử dụng dé tạo ra một ma trận chứa các giá trị noise, từ đó dựa vào các giá tri noise xác định được địa hình như mặt dat và vực thăm phụ thuộc vào đặc tả game. - Ap dụng giải thuật BFS dé tìm ra các mảng kiến tạo, đồng thời tìm ra các vùng rơi trong mảng kiến tạo đó. - Ap dụng giải thuật A* đê tìm ra đường đi ngăn nhât giữa điêm xuât hiện nhân vật chơi và điêm qua màn mới.

Từ đó sinh ra các yêu tô chướng ngại vật cũng như quái vật trên đường đi của nhân vật chính. - Đề xuất một giải pháp mới, từ đó, áp dụng vô đề tạo ra các vùng tuần tra cho kẻ địch.1 Giải pháp Perlin Noise: - Đầu tiên khởi tạo một ma trận 2 chiều có kích thước là n x n. - Tạo các tọa độ ngẫu nhiên (x, y) tương ứng với mỗi ô vuông. Ví dụ tại ô vuông đầu tiên, giá trị x = 0 + offset (offset là giá trị ngẫu nhiên), tương tự VỚI gia tri y và các tọa độ khác.

9 - Khởi tạo ma trận 2 chiều gồm các gradient vector tương ứng với mỗi điểm trong ma trận. Vì các vector này đêu ngau nhiên nên có thê dan tới địa hình của map sẽ không tự nhiên. Vì vậy, làm cách nào chúng ta tạo ra địa hình một cách tự nhiên hơn? Random gradient vectors Tì- U~ị 1 Ũ () (i n Hinh 2.4: Khoi tao cac gradient vector - Xét từ một hình vuông chứa toa độ (x, y) bất kỳ, ta sẽ thu được tọa độ các góc của nó gồm: (xạ, Vo). (Xt V1)» (Xo, yị) như trên Hình 2.

Và các gradient vector: Øo,o› Ø[t,o]› Ø1,+J› Jfo,1] tương ứng như Hình 2.

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

Tài liệu "Nghiên Cứu và Phát Triển Giải Pháp Tạo Màn Chơi Tự Động Cho Game" cung cấp cái nhìn sâu sắc về quy trình phát triển các giải pháp tự động hóa trong việc tạo ra màn chơi cho trò chơi điện tử. Bài viết nhấn mạnh tầm quan trọng của việc tối ưu hóa quy trình thiết kế, giúp tiết kiệm thời gian và nguồn lực cho các nhà phát triển game. Đặc biệt, tài liệu này không chỉ trình bày các phương pháp hiện có mà còn đề xuất những cải tiến mới, mang lại lợi ích lớn cho cả nhà phát triển và người chơi.

Để mở rộng thêm kiến thức về lĩnh vực này, bạn có thể tham khảo tài liệu Nghiên cứu và xây dựng game 3D hành động nhập vai trên PC sử dụng Unity. Tài liệu này sẽ giúp bạn hiểu rõ hơn về việc áp dụng công nghệ Unity trong phát triển game, từ đó có thể liên hệ và áp dụng các giải pháp tự động hóa một cách hiệu quả hơn. Hãy khám phá để nâng cao kiến thức và kỹ năng của bạn trong lĩnh vực phát triển game!