đồ án 2 mercenaries

42 0 0
Tài liệu đã được kiểm tra trùng lặp
đồ án 2 mercenaries

Đ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

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Giảng viên hướng dẫn: Đinh Nguyễn Anh Dũng

Nhóm sinh viên thực hiện:

Nguyễn Văn Thiên20521952Nguyễn Duy Minh Tuấn20520845

Trang 2

Hồ Chí Minh, tháng 6 năm 2023

Biên bản thay đổi tài liệu

Thời gian Phiên bản Mô tả Tác giả28/12/202

Thiên

Trang 3

LỜI CẢM ƠN

Nhóm em đã và đang học tập và rèn luyện tại Trường Đại học CôngNghệ Thông Tin, chuyên ngành Software Engineering 3 năm nay Nhóm em xin cám ơn trường đã tạo điều kiện cho chúng em có thểgiao lưu học tập và rèn luyện cùng nhau

Và nhóm em xin cám ơn thầy Đinh Nguyễn Anh Dũng đã góp ýchân thành và hướng dẫn chúng em hoàn thành đồ án môn họcnày.

Trong quá trình làm Đồ Án 2 nhóm em đã có một số sai sót mongthầy giảng viên hướng dẫn bỏ qua Nhờ đó giúp chúng em khôngngừng nỗ lực phát triển, hoàn thiện bản thân để chuẩn bị cho Khóaluận tốt nghiệp và những môn học sau.

Một lần nữa, nhóm em xin chân thành cám ơn thầy Đinh NguyễnAnh Dũng.

Thành phố Hồ Chí Minh ngày 28/12/2023

Nguyễn Văn Thiên

Trang 4

MỤC LỤC

CHƯƠNG 1: GIỚI THIỆU 2

I Thông Tin Chung 2

1 Thông tin nhóm 2

2 Thông tin sơ lược về đồ án 2

3 Sơ lược về những công nghệ sử dụng 2

II Thông Tin Sơ Lược Về Game 5

1 Sơ lược về các thực thể và đối tượng trong game 5

2 Các yêu cầu về chức năng 8

3 Các yêu cầu về phi chức năng 8

CHƯƠNG 2: USE CASE 9

Trang 5

III Danh Sách Usecase 17

CHƯƠNG 3: THIẾT KẾ DỮ LIỆU 28

CHƯƠNG 4: THIẾT KẾ CẤU TRÚC 29

I Vòng Lặp Game 29

II Tiến Trình Game 29

CHƯƠNG 5: THIẾT KẾ GIAO DIỆN 30

CHƯƠNG 6: CÀI ĐẶT 31

CHƯƠNG 7: KẾT LUẬN 32

I Kết Quả 32

Trang 6

II Một Số Hạn Chế 32

TÀI LIỆU THAM KHẢO 33

Tài liệu tiếng Anh: 33

Asset: 33

Trang 7

TÓM TẮT ĐỒ ÁN

Đồ án này tập trung vào việc phát triển một trò chơi bắn máy bay bằng Unity và trình bày một số kết quả đạt được trong quá trình thực hiện dự án.

Vấn đề nghiên cứu của đồ án là tạo ra một trò chơi bắn máy bay hấp dẫn và thú vị, sử dụng công nghệ Unity để xây dựng nền tảng và tích hợp các yếu tố trò chơi như chuyển động, đồ họa và âm thanh.

Để giải quyết vấn đề, chúng tôi đã tiến hành một số hướng tiếp cận như sau:

 Thiết kế các kỹ năng điều khiển cho người chơi để tạo ra trải nghiệm chơi game đa dạng và thú vị.

 Thiết kế kẻ địch, quái vật làm cho người chơi có hứng thú khi đối đầu.

 Tạo ra hệ thống ghi điểm và thăng cấp để khích lệ người chơitiếp tục chơi và cải thiện kỹ năng của mình.

 Tối ưu hóa trò chơi để đảm bảo trải nghiệm mượt mà.

 Thiết kế hệ thống kỹ năng với những hiệu ứng như: làm tê liệt, làm mất phương hướng, làm cho người chơi tăng tính tò mò.

Kết quả đạt được sau khi thực hiện dự án là một trò chơi bắn máy bay hấp dẫn và thú vị, với đồ họa dễ nhìn, hiệu ứng âm thanh sốngđộng và cơ chế chơi game mượt mà

Tóm lại, đồ án đã thành công trong việc phát triển một trò chơi bắnmáy bay sử dụng Unity, với các yếu tố trò chơi hấp dẫn và kết quả

Trang 8

đạt được đã chứng minh khả năng của công nghệ Unity trong việc xây dựng trò chơi trực quan và tương tác.

CHƯƠNG 1: GIỚI THIỆU

I Thông Tin Chung1 Thông tin nhóm

Nguyễn Duy MinhTuấn

Bảng 1.1: Thông tin nhóm

2 Thông tin sơ lược về đồ án

 Tên đồ án: Thiết kế và hoàn thiện một game hoàn chỉnh bằng

công nghệ Unity 3D.

Tên trò chơi: Mercenaries.

Công nghệ sử dụng: Unity Engine.

Môi trường phát triển: Visual Studio / Visual Studio Code.

3 Sơ lược về những công nghệ sử dụng.3.1 Unity Engine

Trang 9

Hình 1.1: Unity

Unity Engine là một cross-platform game engine được phát triển

bởi công ty Unity Technology, nó được sử dụng nhằm mục đích

phát triển video game 2D, 3D trên máy tính, điện thoại, console vàcác nền tảng thực tế ảo Được công bố và phát hành lần đầu tiên vào tháng 6 năm 2005 chạy trên hệ điều hành MacOS Nó sử dụng ngôn ngữ C# làm script Nó còn có thể sử dụng để làm phim, và sửdụng trong ngành sản xuất ô tô.

Trong 2D games, Unity cho phép nhập sprites và một renderer thế giới 2D tiên tiến Đối với 3D games, Unity cho phép thiết lập các đập điểm kỹ thuật của các kết cấu và độ phân giải mà công cụ trò chơi hỗ trợ, cung cấp các hỗ trợ cho bump mapping, reflection mapping, parallax mapping, cảnh không gian ambient occlusion (SSAO), hiệu ứng bóng đổ bằng cách sử dụng shadow maps,

render thiết lập toàn cảnh đến hiệu ứng Unity cũng cung cấp các dịch vụ cho nhà phát triển, bao gồm: Unity Ads, Unity Analytics, Unity Cloud Build, Unity Everyplay, Unity API, Unity Multiplayer, …

3.2 C Sharp

Trang 10

Hình 1.2: C Sharp

C#(C Sharp) là một ngôn ngữ lập trình hướng đối tượng đa năng, mạnh mẽ được phát triển bởi Microsoft Nó được Microsoft phát

triển dựa trên C++ và Java C# được thiết kế chủ yếu bởi Anders

Hejlsberg, kiến trúc sư phần mềm nổi tiếng với các sản phẩm như

Turbo Pascal, Delphi, J++, WFC Phiên bản mới nhất của C# là C# 10, được hỗ trợ trên Net 6.

Trang 11

Nó đã trở thành một yếu tố có sức ảnh hưởng trong cộng đồng phát triển mã nguồn mở Thậm chí nhiều công ty đã yêu cầu các developer phải biết sử dụng nó Vào ngày 04/06/2018, Microsoft đãthông báo đạt được thỏa thuận mua lại Github.

Trang 12

II Thông Tin Sơ Lược Về Game

1 Sơ lược về các thực thể và đối tượng trong game.

Melee

Hình 1.5: Melee

Là một kẻ địch trong game người chơi phải đốiđầu, nó có 1 thanh dao, khi gặp người chơi nó sẽ đuổi theo và tiêu diệt.

Hình 1.6:SuicideAttacker

Là một kẻ địch trong game người chơi phải đốiđầu, nó là kẻ địch đánh bom liều chết gây sát thương cực mạnh.

game người chơi phải đốiđầu, nó có vũ khí là 1 khẩu súng lục và có khả năng tạo tường chắn khi

Trang 13

Hình 1.7:

EnemyShield đối đầu với người chơi.

Hình 1.8:EnemyDefault

Là một kẻ địch trong game người chơi phải đốiđầu, nó có một khẩu súng lục.

Hình 1.9:EnemyArtilery

Là một kẻ địch trong game người chơi phải đốiđầu, nó có một khẩu súng boom bắn từ khoảng cách cực xa.

Hình 1.10: Turret

Là thực thể người chơi cóthể tạo ra để phòng thủ, tiêu diệt kẻ địch Turret sẽ không thể di chuyển.

Hình 1.11: Drone

Là thực thể người chơi cóthể tạo ra để bảo vệ bản thân, tiêu diệt kẻ địch Drone sẽ đi theo người chơi.

Trang 14

Hình 1.12:OriginPickable

Là item người chơi có thểnhặt được Khi tiêu diệt kẻ địch có tỉ lệ rơi vũ khí,hoặc máu để người chơi nhặt.

Là tường chắn đạn, boom Thường được tạo ra bởi EnemyShield.Bảng 1.2: Các thực thể và đối tượng

2 Các yêu cầu về chức năng

 Người chơi có thể tạm dừng khi đang chơi. Người chơi có thể điều chỉnh âm lượng.

 Các phím bấm chức năng phản hồi nhanh chóng và rõ ràng. Người chơi có thể chỉnh bàn phím phù hợp với bản thân. Có thể dễ dàng phân biệt người chơi và kẻ địch trên màn

Trang 15

 Yêu cầu về tính tương thích: có thể chơi ổn định trên máy tính.

CHƯƠNG 2: USE CASE

I Biểu Đồ1 Character

Hình 2.1: Character Usecase Diagram

2 Melee

Trang 16

Hình 2.2: Melee Usecase Diagram

3 SuicideAttacker

Trang 17

Hình 2.3: SuicideAttacker Usecase Diagram

4 EnemyShield

Trang 18

Hình 2.4: EnemyShield Usecase Diagram

5 EnemyDefault

Trang 19

Hình 2.5: EnemyDefault Usecase Diagram

6 EnemyArtilery

Trang 20

Hình 2.6: EnemyArtilery Usecase Diagram

7 Turret

Hình 2.7: Turret Usecase Diagram

8 Drone

Trang 21

Hình 2.8: Drone Usecase Diagram

9 OriginalPickable

Hình 2.9: OriginalPickable Usecase Diagram

10 BulletProofWall

Hình 2.10: OriginalPickable Usecase Diagram

II Danh Sách Actor

1 Character Là đối tượng mà người chơi sẽ

Trang 22

tương tác với game Nó có thểdi chuyển, tấn công, né tránh,sử dụng kỹ năng, …

Là kẻ địch mà người chơi sẽ phải đối mặt trong game Nó có thể di chuyển, tấn công, vàngười chơi có thể tiêu diệt nó.

3 SuicideAttacker

Là kẻ địch mà người chơi sẽ phải đối mặt trong game Nó có thể di chuyển, tấn công, vàngười chơi có thể tiêu diệt nó.Khi nó đến gần người chơi, nó sẽ đánh boom tự sát gây lượng sát thương khổng lồ lênngười chơi.

4 EnemyShield

Là kẻ địch mà người chơi sẽ phải đối mặt trong game Nó có thể di chuyển, tấn công, vàngười chơi có thể tiêu diệt nó.Nó có khả năng tạo khiên chắn đạn boom từ người chơi.

5 EnemyDefault

Là kẻ địch mà người chơi sẽ phải đối mặt trong game Nó có thể di chuyển, tấn công, vàngười chơi có thể tiêu diệt nó.

6 EnemyArtilery

Là đối tượng mà người chơi sẽphải đối mặt trong game Người chơi phải tiêu diệt nó Nó có khả năng bắn từ

khoảng cách cực xa.

7 Turret Là đối tượng mà người chơi sẽ

Trang 23

có thể tạo ra khi chọn một số nhân vật trong game Nó có khả năng tấn công kẻ địch.

Là đối tượng mà người chơi cóthể tạo ra khi chọn một số nhân vật đặc biệt Nó đi theo bảo vệ người chơi và tấn côngkẻ địch.

Bảng 2.1: Danh sách Actor

III Danh Sách Usecase

Trang 24

STTTên UsecaseMô tả1 Mở màn hình

3 Mở màn hình tạm

dừng(Pause Menu)

Khi đang chơi game, người dùng muốn tạm dừng thì nhấn phím P.

Ở Main Menu, người dùng nhấn Start trên màn hình để bắt đầu trải nghiệm game.

Khi người dùng muốn thoát game, nhấn “Quit” ở Main Menu.

6 Tiếp tục chơi

Khi đang tạm dừng game, người dùng tiếp tục chơi game bằng cách nhấn phím ESC hoặc nhấn “RESUME”.

7 Sử dụng kỹ năng Người chơi có thể triệu hội turret hoặc drone.

8 Điều khiển nhân vật

Người chơi dùng chuột để điều khiển nhân vật tránh né đạn, quái vật, tấn công kẻ địch và thu thập vật phẩm

Dò tìm kẻ địch đối với Drone hoặc Turret Dò tìm người chơiđối với những kẻ địch.

10 Tấn công người chơi Các kẻ địch tấn công người chơi thông qua bắn đạn

Trang 25

thường, va chạm hoặc sử dụng kỹ năng

Kẻ địch di chuyển để né đạn và tấn công người chơi, tuần tra.

12 Nhận sát thương

Khi người chơi bị tấn công bởi kẻ địch hoặc kẻ địch bị tấn công bởi người chơi thì sẽ nhận một lượng sát thương.

13 Bị tiêu diệt Khi kẻ địch hoặc thiên thạch nhỏ hết máu sẽ bị tiêu diệt.Bảng 2.2: Danh sách Usecase

IV Đặc Tả Usecase

Trang 26

1 Mở màn hình chính(Main Menu)Tên Mở màn hình chính.

Mô tả

Người chơi bật file game hoặc có thể nhấn thoát khi đang mở màn hình tạm dừng để hiển thị màn hình chính.

n Hiển thị màn hình chính.Yêu cầu đặc

biệt Không có.Luồng cơ

Trường hợp mở game: bật file game exeTrường hợp đang chơi game:

- Mở màn hình tạm dừng.- Nhấn Thoát.

n Mở Main Menu hoặc Pause Menu.Postconditio

n Hiển thị một số thứ có thể điều chỉnh.Yêu cầu đặc

biệt Không có.Luồng cơ

- Người chơi mở Main Menu hoặc Pause Menu.- Mở màn hình tạm dừng.

- Nhấn cài đặt(Option).

Trang 27

Luồng thay

thế Không có.

Bảng 2.4: Cài đặt

Trang 28

3 Mở màn hình tạm dừng(Pause Menu)Tên Mở màn hình tạm dừng.

Mô tả Khi đang chơi game, người chơi có thể tạm dừng

biệt Không có.Luồng cơ

Mô tả Người dùng bắt đầu game.

Trang 29

5 Thoát game

Mô tả Người dùng thoát khỏi chương trình.

Người chơi đang ở màn hình menu chính (Main Menu)

n Người chơi thoát khỏi chương trình thành công.Yêu cầu đặc

biệt Không có.Luồng cơ

- Người chơi đang ở màn hình menu chính- Nhấn vào nút Quit trên màn hình

Luồng thay thế

- Người chơi chuyển qua desktop hoặc một chương trình khác.

- Người chơi tắt game bằng cách Close Window từ TaskBar.

- Người chơi có thể tắt cưỡng bức bằng cách nhấn tổ hợp phím Alt + F4

Bảng 2.7: Thoát game

Trang 30

6 Tiếp tục chơi

Tên Tiếp tục chơi

Mô tả Khi đang tạm dừng game, người dùng tiếp tục

chơi game.

Người chơi đang ở màn hình tạm dừng (PauseMenu)

n Người chơi tiếp tục chơi game.Yêu cầu đặc

biệt Không có.Luồng cơ

- Người chơi đang trong game.- Người chơi chưa sử dụng kỹ năng.

Yêu cầu đặc

biệt Không có.Luồng cơ

Trang 31

8 Điều khiển nhân vật

Tên Điều khiển nhân vật

Mô tả Người chơi điều khiển nhân vật để né tránh đạn,

tiêu diệt kẻ địch, nhặt đồ và máu.

- Người chơi đang ở trong game.

- Người chơi sử dụng bàn phím để điều khiển nhân vật, dùng chuột để sử dụng vũ khí tấn côngkẻ địch

Luồng thay

thế Không có.

Bảng 2.10: Điều khiển nhân vật

Trang 32

- Người chơi đang ở màn hình chơi game.- Kẻ địch sẽ dò tìm xem người chơi có ở trong vùng hoạt động của nó hay không, nếu có sẽ tấn công.

- Đối với Turret và Drone thì sẽ dò tìm xem kẻ địch có ở gần nó hay không, nếu có sẽ tấn công.

Luồng thay

Bảng 2.11: Dò tìm

10 Tấn công người chơi

Tên Tấn công người chơi

Mô tả Khi kẻ địch dò tìm được nhân vật, nó sẽ truy đuổi

tấn công người chơi.

n Đã dò tìm được nhân vật.Postconditio

Yêu cầu đặc

biệt Không cóLuồng cơ

- Kẻ địch đã và đang truy sát nhân vật.

- Nếu trong tầm bắn, kẻ địch sẽ nổ súng tấn côngnhân vật.

Luồng thay

Trang 33

Bảng 2.12: Tấn công người chơi

Trang 34

11 Di chuyển

Tên Di chuyển

Mô tả Kẻ dịch di chuyển để né đạn và tấn công người

chơi hoặc tuần tra.

- Người chơi đang trong game.

- Nếu kẻ địch không trong trạng thái truy sát người chơi, kẻ địch sẽ di chuyển, tuần tra trong tầm hoạt động của nó.

Kẻ địch, người chơi và Turret còn sống trong màn chơi.

Yêu cầu đặc

biệt Không cóLuồng cơ

- Kẻ địch va chạm với đạn hoặc kỹ năng do ngườichơi bắn ra hoặc do Turret hoặc Drone người chơitạo ra tấn công.

- Kẻ địch nhận sát thương

Luồng thay - Người chơi va chạm với đạn hoặc kỹ năng do kẻ

Trang 35

thế địch bắn ra.

- Người chơi nhận sát thươngBảng 2.14: Nhận sát thương

Trang 36

13 Bị tiêu diệt

Tên Bị tiêu diệt

Mô tả Khi kẻ địch hoặc Turret hết máu sẽ bị tiêu diệt.

Trang 37

CHƯƠNG 3: THIẾT KẾ DỮ LIỆU

Trang 38

CHƯƠNG 4: THIẾT KẾ CẤU TRÚC

I Vòng Lặp Game

Vòng lặp game theo quy trình như sau: người chơi nhấn nút start và bắt đầu tiến vào màn chơi 1, người chơi phải hoàn thành màn chơi nếu muốn chiến thắng Khi người chơi tiêu diệt kẻ địch sẽ có tỉlệ rơi ra các vật phẩm hoặc vũ khí.

Trang 39

II Tiến Trình Game

Người chơi phải chiến đấu với những kẻ địch, né tránh các đòn tấn công, kỹ năng từ kẻ địch Người chơi ngày càng tiến vào các màn chơi cam go, khó khăn hơn.

CHƯƠNG 5: THIẾT KẾ GIAO DIỆN

Hình 5.1 Giao diện menu chính

Hình 5.2 Giao diện menu tùy chỉnh

Trang 40

Hình 5.3 Giao diện trong màn chơi

CHƯƠNG 6: CÀI ĐẶT

Tải file zip về, giải nén ra và bật file exe để thưởng thức trò chơi.

Trang 41

 Không có nhiều độ khó khác nhau.

 Game mới chỉ chơi được trên Windows 10. Không hỗ trợ đa ngôn ngữ.

 Game chưa hỗ trợ nhiều người chơi chung.

Trang 42

TÀI LIỆU THAM KHẢO

Tài liệu tiếng Anh:

 https://awesometuts.com/blog/unity-2d-game-tutorial-5/ https://bergstrand-niklas.medium.com/setting-up-a-simple-

 https://catlikecoding.com/unity/tutorials/tower-defense/enemies/?

 https://docs.unity.com/

 case-diagram-tutorial/

https://online.visual-paradigm.com/diagrams/tutorials/use- random-point-on-circle-edge-in-unity3d.html

https://www.loekvandenouweland.com/content/calculate- https://www.youtube.com/watch?v=hkaysu1Z-N8 https://www.youtube.com/watch?v=sZp8746MR1Y

 explosion-32x32

Ngày đăng: 15/05/2024, 09:24

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan