1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tập lớn lập trình game Đề tài xây dựng game 3d bắn súng Đối kháng “gunfire of rivals

23 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng Game 3D Bắn súng Đối kháng “GUNFIRE OF RIVALS”
Tác giả Trần Công Hoàng Triều, Trần Quang Hào, Trần Văn Đức Anh
Người hướng dẫn THS. Trịnh Thị Ngọc Linh
Trường học Trường Đại học Công nghệ Thông tin & Truyền thông Việt Hàn
Chuyên ngành Lập trình Game
Thể loại Bài tập lớn
Năm xuất bản 2024
Thành phố Đà Nẵng
Định dạng
Số trang 23
Dung lượng 6,16 MB

Nội dung

Với khả năng tạo ra một môi trườngsống động và tương tác, game bắn súng 3D mang đến trải nghiệm chơi game sôiđộng và mãn nhãn cho người chơi.. - Trong quá trình thực hiện dự án, chúng em

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &

TRUYỀN THÔNG VIỆT HÀN

KHOA KHOA HỌC MÁY TÍNH

BÀI TẬP LỚN LẬP TRÌNH GAME

Lớp học phần : LẬP TRÌNH GAME (1) – GIT

Giảng viên hướng dẫn : THS TRỊNH THỊ NGỌC LINH

Đà nẵng, ngày 19 tháng 05 năm 2024

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &

TRUYỀN THÔNG VIỆT HÀN

KHOA KHOA HỌC MÁY TÍNH

BÀI TẬP LỚN LẬP TRÌNH GAME

Lớp học phần : LẬP TRÌNH GAME (1) – GIT

Giảng viên hướng dẫn : THS TRỊNH THỊ NGỌC LINH

Trang 3

NHẬN XÉT (Giảng viên hướng dẫn)

………

………

………

………

………

………

………

………

………

………

………

Đà nẵng, ngày 19 tháng 05 năm 2024

Giảng viên hướng dẫn

(Kí và ghi rõ họ tên)

3

Trang 4

LỜI CẢM ƠN

Chúng em xin chân thành cảm ơn các thầy cô và các bạn đã dành thời giangiúp đỡ chúng em trong quá trình thực hiện đồ án này Đặc biệt, chúng em xinchân thành cảm ơn cô Trịnh Thị Ngọc Linh là người hướng dẫn cho đề tài củachúng em Là người tận tình giúp đỡ chúng em về thông tin của đồ án môn học.Nhờ vậy mà chúng em đã hoàn chỉnh được đồ án của mình và quan trọng hơn hết

là chúng em đã tiếp thu được những kinh nghiệm trong suốt quá trình thực hiện đồ

án Tuy nhiên, vì đây là một học phần mới và là lần đầu chúng em thực hiê jn mô jt

dự án cho bản thân mă jc dl đã tìm tmi nghiên cnu nhưng không tránh khoi nhữngthiếu sót

Dưới đây là kết quả của quá trình tìm hiểu, nghiên cnu và xây dựng lên mộttrm chơi mà chúng em đã thực hiện trong thời gian vừa qua Tuy có nhiều cố gắnghọc hoi trau dồi để nâng cao kiến thnc nhưng không thể tránh khoi những sai sót.Chúng em rất mong được những sự góp ý quý báu của các thầy giáo, cô giáo cũngnhư tất cả các bạn để đồ án của nhóm chúng em được hoàn thiện hơn

Sinh viên thực hiện

Trang 5

BẢNG PHÂN CÔNG CÔNG VIỆC

Tên thành viên Công việc thực hiện Tỉ lệ đóng góp vào bài

Trang 6

MỤC LỤC

LỜI CẢM ƠN 4

DANH MỤC HÌNH 7

MỞ ĐẦU 8

1 Giới thiệu về dự án 8

2 Mục tiêu và nhiệm vụ 8

3 Đóng góp 8

CHƯƠNG 1: XÂY DỰNG KỊCH BẢN GAME 9

1.1 Tổng quan về trò chơi 9

1.1.1 Bối cảnh 9

1.1.2 Cách chơi 9

1.2 Yếu tố trò chơi: 9

1.2.1 Con người (Đối tượng người chơi) 9

1.2.2 Cảnh vật (Ngoại cảnh) 10

1.2.3 Giới hạn khu vực chơi (Ngoại cảnh) 10

CHƯƠNG II KẾT QUẢ XÂY DỰNG GAME 11

2.1 Mô tả các scene 11

2.1.1 Menu Scene 11

2.1.2 Gameplay Scene 13

2.2 Mô tả các game object và các component liên quan 16

2.3 Mô tả các lớp C# Script 18

2.4 Âm thanh 19

2.5 Lưu thông tin 20

KẾT LUẬN 21

TÀI LIỆU THAM KHẢO 22

Trang 7

DANH MỤC HÌNH

Hình 1: Menu 11

Hình 2: Hướng dẫn 11

Hình 3: Cài đặt đồ họa 12

Hình 4: Cài đặt âm thanh 12

Hình 5: Cài đặt độ nhạy 13

Hình 6: Giao diện load game 13

Hình 7: Màn chơi 14

Hình 8: Kết quả người thắng mỗi round 15

Hình 9: Kết quả người thắng chung cuộc 15

Hình 10: Animators 16

Hình 11: C# Script files 16

Hình 12: Âm thanh 18

Hình 13: Tly chỉnh âm thanh bằng Slider 18

7

Trang 8

MỞ ĐẦU

1 Giới thiệu về dự án

- Game bắn súng 3D đã trở thành một trong những loại game phổ biến và được yêuthích rộng rãi trên các nền tảng khác nhau Với khả năng tạo ra một môi trườngsống động và tương tác, game bắn súng 3D mang đến trải nghiệm chơi game sôiđộng và mãn nhãn cho người chơi Việc phát triển một trm chơi bắn súng 3D yêucầu sự kết hợp giữa kỹ thuật lập trình, đồ họa 3D và âm thanh, clng với khả năngsáng tạo để tạo ra một trm chơi độc lập và hấp dẫn

- Trong quá trình thực hiện dự án, chúng em đã áp dụng những kiến thnc đã học và

công nghệ mới nhất để tạo ra một trm chơi bắn súng 3D, mô hình chất lượng đồhọa và hệ thống điều khiển mượt mà Những thử thách trong việc xây dựng môitrường trm chơi đa dạng, hệ thống vũ khí và trí tuệ nhân tạo cho kẻ thl đã đưachúng em nghiên cnu và áp dụng các kỹ năng sáng tạo kỹ thuật Chúng em đã

“XÂY DỰNG GAME 3D BẮN SÚNG ĐỐI KHÁNG (GUNFIRE OF RIVALS)”

2 Mục tiêu và nhiệm vụ

- Mục tiêu của chúng tôi trong dự án lập trình game bắn súng 3D là tạo ra một trmchơi hấp dẫn, mang đến trải nghiệm chơi game thú vị và thử thách cho người chơi.Chúng tôi đã đặt ra một số mục tiêu cụ thể để đảm bảo sự thành công của dự án:

 Tạo ra một môi trường game 3D sống động: Chúng tôi tập trung vào việctạo ra một môi trường game 3D chân thực, với các cảnh quan, đối tượng vàchi tiết mô phong đời thực

 Xây dựng hệ thống điều khiển mượt mà: Chúng tôi đặt ra nhiệm vụ tạo ramột hệ thống điều khiển linh hoạt và mượt mà cho người chơi Điều nàyđảm bảo rằng người chơi có thể dễ dàng di chuyển, nhắm mục tiêu và bắnđạn một cách tự nhiên và chính xác

 Phát triển hệ thống vũ khí và máu vật : Một yếu tố quan trọng trong trm chơibắn súng là hệ thống vũ khí và máu nhân vật Chúng tôi đã đặt ra mục tiêuthiết kế súng và máu tương đối

 Kỹ năng và phản xạ: Trm chơi bắn súng 3D yêu cầu người chơi phải phản

xạ nhanh, có khả năng quyết định và kỹ năng xử lý trong tình huống căngthẳng

Trang 9

 Cải thiện khả năng tập trung và quyết định: Người chơi game bắn súng 3Dyêu cầu phải tập trung cao độ và quyết định nhanh chóng trong môi trườngđầy áp lực

9

Trang 10

CHƯƠNG 1: XÂY DỰNG KỊCH BẢN GAME

1.1 Tổng quan về trò chơi

1.1.1 Bối cảnh

Trm chơi diễn ra trong bối cảnh một khu nhà máy bo hoang, với những tma nhà,máy móc hư hong và nhiều cảnh vật khác như cây cối Bối cảnh này không chỉ tạo ra mộtmôi trường đầy kịch tính và căng thẳng mà cmn cung cấp nhiều cơ hội để người chơi ẩnnấp và tạo ra chiến thuật độc đáo "Gunfire of Rivals" không chỉ là một trm chơi bắn súngđối kháng đơn thuần, mà cmn là một cuộc chiến về chiến thuật và kỹ năng, trm chơi hnahẹn mang đến những trải nghiệm đầy hấp dẫn và thách thnc

1.1.2 Cách chơi

"Gunfire of Rivals" là một trm chơi đối kháng bắn súng dành cho hai người chơi.Mỗi người chơi sẽ điều khiển một nhân vật với mục tiêu là tiêu diệt đối thủ Trm chơi bắtđầu với cả hai người chơi xuất hiện ở các điểm khác nhau trong khu nhà máy

 Di Chuyển: Người chơi có thể di chuyển tự do trong khu vực nhà máy, sử dụng

địa hình để lợi dụng trong cuộc chiến Sử dụng các nút điều khiển để di chuyển,

Tận dụng môi trường xung quanh để che chắn và tạo lợi thế trong chiến đấu

 Ẩn Nấp: Các điểm ẩn nấp như nhà máy, giàn khoan, cây cối và các tảng đá là

những nơi lý tưởng để người chơi nấp đạn và chờ thời cơ phản công

Giao chiến: Khi gặp đối thủ, người chơi sẽ sử dụng vũ khí để bắn hạ đối phương

Kết thúc trận đấu: Sẽ có tất cả 5 lượt chơi Lượt chơi sẽ kết thúc khi một tronghai người chơi bị tiêu diệt Người chơi chiến thắng chung cuộc sẽ là người có sốlượt chiến thắng nhiều hơn

Di chuyển theo mọi hướng và bắn đạn

+ Người chơi 1: Di chuyển bằng phím ASDW, tấn công bằng phím Space

+ Người chơi 2: Di chuyển bằng phím mũi tên lên, xuống, trái, phải và tấn công bằngphím Enter

Trang 11

1.2.2 Cảnh vật (Ngoại cảnh)

Mô tả:

Mô hình 3D của các nhà máy, nhà xưởng, cây cối và các tảng đá nằm rải rác khắp bản đồ

Chức năng:

Làm nơi ẩn nấp và chặn đạn cho người chơi

1.2.3 Giới hạn khu vực chơi (Ngoại cảnh)

Trang 12

CHƯƠNG II KẾT QUẢ XÂY DỰNG GAME

 Nút trò chơi mới: Khi nhấn vào, sẽ hiện lên thông báo, bằng cách nhấn vào nút

“Yes” màn hình chuyển sang cảnh trm chơi, bắt đầu từ điểm xuất phát trong khunhà máy bo hoang

 Nút hướng dẫn: Khi nhấn vào sẽ hiện lên hướng dẫn cách chơi cho người chơi.

Trang 13

 Nút cài đặt: Trong phần cài đặt bao gồm các cài đặt cho trm chơi như:

 Cài đặt đồ họa: Khi nhấn vào, một bảng cài đặt hiện ra với các tly chọn: Độphân giải: Dropdown menu cho phép chọn các độ phân giải khác nhau như1920x1080, 1280x720, v.v

Chất lượng: Các tly chọn như Low, Medium, High, và Ultra

Trang 14

 Cài đặt độ nhạy: Khi nhấn vào, một bảng cài đặt độ nhạy hiện ra với thanhtrượt để điều chỉnh độ nhạy của nhân vật.

Hình 5: Cài đặt độ nhạy

 Nút thoát game: Khi nhấn vào, hộp thoại xác nhận hiện lên với 2 lựa chọn “Yes”

và “No” Nhấn “Yes” sẽ thoát, cmn nhấn “No” sẽ ở lại game

2.1.2 Gameplay Scene

Khi vào game sẽ hiển thị giao diện load game như bên dưới:

Hình 6: Giao diện load game

Trang 15

Bắt Đầu Trận Đấu:

Khởi điểm: Người chơi bắt đầu ở hai điểm khác nhau trong khu nhà máy.

Mục tiêu: Người chơi di chuyển qua các khu vực khác nhau của map để khám phá

tìm kiếm và tiêu diệt đối thủ

Chạm trán đối thủ: Khi gặp đối thủ, người chơi sẽ phải tận dụng môi trường để

ẩn nấp, né tránh và phản công

Chiến đấu:

 Ngưởi chơi 1: Di chuyển (ASDW), tấn công (Space)

 Người chơi 2: Di chuyển (Left, Right, Up, Down), tấn công (Enter)

 Các màn chơi: Có tất cả 5 lượt chơi.

Hình 7: Màn chơi

Kết quả: Trận đấu kết thúc khi một trong hai người chơi hết thanh máu tnc là bị tiêu diệt.

Sau mỗi round sẽ hiển thị kết quả người thắng của round đó và tỉ số hiện tại Sau đó sẽ tự động chuyển sang round đấu khác

15

Trang 16

Hình 8: Kết quả người thắng mỗi round

Kết quả chung cuộc: Sau 5 lượt chơi, người chơi nào có số trận thắng nhiều hơn sẽ trở

thành người thắng chung cuộc

Hình 9: Kết quả người thắng chung cuộc

Trang 17

2.2 Mô tả các game object và các component liên quan

 Animators: được sử dụng để các hoạt cảnh (animation) cho nhân vật và vật thể

trong game như các chuyển động cơ bản của nhân vật, hoạt cảnh chiến đấu bắnsung, thiết lập các chuyển cảnh giữa các hoạt cảnh khác nhau để đảm bảo sự mượt

mà và tự nhiên Ví dụ, chuyển từ trạng thái đnng yên sang chạy

Hình 10: Animators

 Audio Mixer: dlng để control âm thanh trong game.

 Spawn Point: là một vị trí cụ thể trong trm chơi mà các đối tượng(như nhân vật,

vật phẩm,…) sẽ xuất hiện hoặc được tạo ra(spawn) Spawn point rất quan trọngtrong thiết kế trm chơi vì chúng kiểm soát nơi các đối tượng mới xuất hiện trongtrm chơi

 Game Object: gồm các idle nhân vật, súng, đạn ,và các object khác trong game:

Hình 11: Model nhân vật cầm súng

17

Trang 18

Hình 12: địa hình

Hình 13: đạn

 Các component được sử dụng:

 Rigidbody: Rigidbody cho phép các GameObject của bạn hoạt động dưới

sự kiểm soát của vật lý Rigidbody cho phép người dung tương tác với vật

lý của các đối tượng và mô phong cách Unity cố gắng mô phong vật lý củathế giới thực

 Box Collider: Box Collider là một hình không gian 3D dạng hộp được sửdụng để xử lý các va chạm vật lý cho một đối tượng Box Collider khôngcần phải có hình dạng chính xác giống như mesh của đối tượng

 Audio Source: Audio Source phát lại một Audio Clip trong cảnh nguồn sẽđược phát lại tại một vị trí nhất định và sẽ giảm theo khoảng cách

 Mesh Renderer: Mesh Renderer hiển thị một mesh Hoạt động với mộtthành phần Mesh Filter trên clng một GameObject, Mesh Renderer hiển thịmesh mà Mesh Filter tham chiếu

 Capsule Collider: Capsule Collider là một collider dạng hình nón 3D đượcxây dựng sẵn, bao gồm hai nửa hình cầu được nối lại với nhau bởi một hìnhtrụ Capsule Collider hữu ích cho các mục trong nng dụng có hình dạnghình trụ, hoặc làm collider cho nhân vật người chơi và nhân vật khôngngười chơi trong một cảnh

Trang 19

2.3 Mô tả các lớp C# Script

Hình 14: C# Script files

 Camera:

 Theo dõi vị trí của người chơi và di chuyển camera theo một cách mượt mà

 Duy trì khoảng cách cố định giữa camera và người chơi

 Managers:

 Quản lý trạng thái toàn cục của game

 Chna logic để xử lý game

 Quản lý các trạng thái và hành động liên quan đến người chơi

 Menu:

 Chuyển người chơi trở lại menu chính

 Hiển thị và điều khiển menu tạm dừng, dừng và tiếp tục trm chơi

 Player:

 Quản lý và theo dõi lượng máu của người chơi

 Xử lý sự kiện khi người chơi nhận sát thương và chết

 Điều khiển chuyển động của người chơi dựa trên đầu vào từ bàn phím

 Quản lý việc bắn súng của người chơi

 Tạo đạn và thiết lập vận tốc cho đạn khi người chơi nhấn nút bắn

 Shell:

 Xử lý sự kiện nổ khi vo đạn va chạm

19

Trang 20

 Gây sát thương và tạo lực nổ lên các đối tượng trong phạm vi nổ.

Hình 16: Tùy chỉnh âm thanh bằng Slider

Trang 21

2.5 Lưu thông tin

Tất cả thông tin trong game điều được lưu trong PlayerPref

PlayerPrefs trong Unity là một lớp tiện ích giúp lưu trữ và truy xuất dữ liệu người

dlng một cách đơn giản dưới dạng các cặp key-value Dữ liệu này có thể là những

thông tin như điểm số, tly chọn cấu hình, trạng thái của trm chơi, v.v PlayerPrefs

hỗ trợ ba kiểu dữ liệu chính: int, float, và string

 Một số thông tin được lưu trong game:

 Cài đặt: Đồ họa, âm thanh, độ nhạy

 Button Continue Game

21

Trang 22

KẾT LUẬN

Sau một thời gian tìm hiểu đề tài, nhóm chúng em đã thực hiện được đề tài củamình theo như dự kiến Thông qua việc tìm hiểu và xây dựng game dựa trên nền tảngUnity và ngôn ngữ lập trình C# ,nhóm chúng em đã thu được kết quả bước đầu như sau:

Nội dung đã làm được:

 Xây dựng nên một trm chơi Multiple Player tương đối hoàn thiện, đúng với dựđịnh và ý tưởng đã đăng kí đề tài ban đầu của nhóm

 Xây dựng được hệ thống điều khiển, quản lý trm chơi, và các chnc năng cơ bản chonhân vật và môi trường

 Chnc năng của menu chính và các menu phụ hoạt động khá tốt

 Chnc năng bắt đầu game, tạm dừng, và chơi lại được triển khai đầy đủ

 Các hiệu nng âm thanh và nhạc nền phl hợp tăng cường trải nghiệm game

Nội dung chưa làm được:

 Ở scene menu, phần cài đặt độ nhạy vẫn chưa hoạt động tốt

 Chưa làm được chnc năng tiếp tục chơi khi thoát khoi nng dụng

 Chưa áp dụng được nng dụng AI và các công nghệ mới cho game

Hướng phát triển:

Hoàn thiện và bổ sung thêm các tính năng mới:

 Phát triển thêm các tính năng AI và các công nghệ mới cho game

 Thêm hệ thống kỹ năng và nâng cấp cho nhân vật, triển khai các trang bị và vậtphẩm đặc biệt để người chơi có thể thu thập và sử dụng

 Thiết kế thêm các màn chơi mới với môi trường đa dạng và phnc tạp hơn

 Mở rộng nội dung, tối ưu hóa hiệu suất và cải thiện giao diện người dlng

Trang 23

TÀI LIỆU THAM KHẢO

[1] Beginning C# Programming with Unity Visual Studio Edition – A.T Chamillard[2] Developing 2D Games with Unity (Independent Game Programming with C#) –Jared Halpern

Ngày đăng: 17/10/2024, 15:57

w