Tải bản đầy đủ (.pdf) (53 trang)

Đồ án spaceship invaders

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.29 MB, 53 trang )

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

BÁO CÁO MÔN HỌC

ĐỒ ÁN 1
ĐỀ TÀI

SPACESHIP INVADERS

Lớp: SE121.N21.PMCL
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ên

20521952

Nguyễn Duy Minh Tuấn

20520845

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

03/06/2023



1.0

Mô tả

Tác giả
Nguyễn Văn Thiên


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ông Nghệ 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ọc này.
Trong q trình làm Đồ Án 1 nhóm em đã có một số sai sót mong thầy giảng viên
hướng dẫn bỏ qua. Nhờ đó giúp chúng em khơng ngừng nỗ lực phát triển, hồn thiện
bản thân để chuẩn bị cho Đồ Án 2 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ễn Anh Dũng.

Thành phố Hồ Chí Minh ngày 03/06/2023
Thiên
Nguyễn Văn Thiên


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 .................................................................................................. 11
3. Các yêu cầu về phi chức năng. .......................................................................................... 11
CHƯƠNG 2: USE CASE ............................................................................................................... 12
I. Biểu Đồ .................................................................................................................................... 12
1. Người chơi(Player) ............................................................................................................. 12
2. Kẻ địch thông thường 1(Enemy1) ..................................................................................... 12
3. Kẻ địch thông thường 2(Enemy2) ..................................................................................... 13
4. Kẻ địch thông thường 3(Enemy3) ..................................................................................... 14
5. Kẻ địch thông thường 4 (Enemy4) .................................................................................... 15
6. Kẻ địch thông thường 5 (Enemy5_Missle Variant) ......................................................... 16
7. Quái vật(Boss) .................................................................................................................... 17
8. Boss Xúc Tu (Tentacle Boss) ............................................................................................. 18


9. Quái vật 2 (Boss2)............................................................................................................... 18
10. Thiên thạch cỡ lớn(Big Asteroid).................................................................................... 19
11. Thiên thạch cỡ vừa(Medium Asteroid) .......................................................................... 20
12. Thiên thạch cỡ nhỏ(Small Asteroid) ............................................................................... 20
II. Danh Sách Actor .................................................................................................................... 21
III. Danh Sách Usecase .............................................................................................................. 23
IV. Đặc Tả Usecase ..................................................................................................................... 25
1. Mở màn hình chính(Main Menu) ..................................................................................... 25
2. Cài đặt ................................................................................................................................. 26
3. Mở màn hình tạm dừng(Pause Menu) ............................................................................. 26
4. Bắt đầu game ..................................................................................................................... 27
5. Mở cửa hàng (Shop) .......................................................................................................... 27

6. Thoát game ........................................................................................................................ 27
7. Tiếp tục chơi ...................................................................................................................... 28
8. Nâng cấp vũ khí ................................................................................................................. 28
9. Hồi phục năng lượng ......................................................................................................... 29
10. Điều khiển máy bay......................................................................................................... 30
11. Thu thập vật phẩm .......................................................................................................... 30
12. Tấn công người chơi........................................................................................................ 31
13. Di chuyển ......................................................................................................................... 31


14. Nhận sát thương .............................................................................................................. 32
15. Bị tiêu diệt ........................................................................................................................ 32
16. Phân chia .......................................................................................................................... 33
CHƯƠNG 3: THIẾT KẾ DỮ LIỆU ............................................................................................. 34
CHƯƠNG 4: THIẾT KẾ CẤU TRÚC ......................................................................................... 35
I. Vòng Lặp Game ....................................................................................................................... 35
II. Tiến Trình Game .................................................................................................................... 35
CHƯƠNG 5: THIẾT KẾ GIAO DIỆN ........................................................................................ 36
I. Danh Sách Giao Diện.............................................................................................................. 36
II. Chi Tiết Giao Diện ................................................................................................................. 36
1. Màn hình chính(Main Menu) ............................................................................................ 36
2. Màn hình tạm dừng(Pause Menu) .................................................................................... 37
3. Giao diện cửa hàng(Shop) ................................................................................................. 38
4. Thanh trạng thái vũ khí(Weapon State Bar) ................................................................... 39
5. Thanh trạng thái nhiên liệu(Fuel State Bar) ................................................................... 39
6. Thanh hiển thị điểm, tiền và mạng(HUD)........................................................................ 40
7. Màn hình tùy chọn(Option)............................................................................................... 40
8. Màn hình chíến thắng(Winning Scene) ............................................................................ 41
9. Màn hình thua cuộc(Game Over Scene) .......................................................................... 42
CHƯƠNG 6: CÀI ĐẶT ................................................................................................................. 44



CHƯƠNG 7: KẾT LUẬN ............................................................................................................. 45
I. Kết Quả .................................................................................................................................... 45
II. Một Số Hạn Chế..................................................................................................................... 45
TÀI LIỆU THAM KHẢO ............................................................................................................. 46
Tài liệu tiếng Anh: ...................................................................................................................... 46
Asset:............................................................................................................................................ 46


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ơi tiế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ắn máy bay sử
dụng Unity, với các yếu tố trò chơi hấp dẫn và kết quả đạ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.

1


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

I. Thơng Tin Chung
1. Thơng tin nhóm

MSSV

Họ tên

Số điện thoại

Email

20521952

Nguyễn Văn Thiên

0326 933 046



20520845

Nguyễn Duy Minh




Tuấn
Bảng 1.1: Thơng tin nhóm

2. Thơng tin sơ lược về đồ án
− Tên đồ án: Tìm hiểu cơng nghệ Unity và làm một sản phẩm dựa trên cơng
nghệ này.
− Tên trị chơi: Spaceship Invaders.
− 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

Hình 1.1: Unity

2


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

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

3


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.
Ứng dụng của C#:
− Phát triển web backend (ASP.NET MVC, ASP.NET Core, WebAPI, …).
− Phát triển web frontend (Blazor WebAssembly, Uno Platform).
− Phát triển desktop app (Winform, WPF, UWP, …).
− Phát triển mobile app, IOS native, Android native (Xamarin, MAUI, …).
− Phát triển game 2D, 3D đa nền tảng (Game engine: Unity, Monogame, …).
− Phát triển thực tế ảo (VR), thực tế tăng cường (AR) và thực tế hỗn hợp (MR)
(HoloLens, Unity, …).
− Phát triển ứng dụng đồ họa 2D, 3D đa nền tảng (2D: SkiaSharp,
ImageSharp,… ; 3D: OpenTK, SharpDX, …).
− ….
3.3 Github

Hình 1.3: Github


4


Github là một Version Control System sử dụng Git. Các dự án mã nguồn mở sẽ
được cung cấp kho lưu trữ miễn phí. Tính đến ngày 25/01/2023, Github có hơn 100
triệu người sử dụng và hơn 200 triệu kho lưu trữ mã nguồn làm cho Github trở
thành máy chủ chứa mã nguồn nhiều nhất trên thế giới.
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.

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.

Tên thực thể/ đối
tượng

Hình ảnh

Mơ tả

Là một đối tượng trong game,
Player

người chơi có thể điều khiển nó
Hình 1.4: Player

theo những luật trong trò chơi.


Là một kẻ địch trong game
Enemy1

người chơi phải đối đầu, nó có
Hình 1.5: Enemy1

khả năng bắn ra 1 tia đạn màu
xanh lá chết chóc.

5


Là một kẻ địch trong game
người chơi phải đối đầu, nó có
Enemy2

khả năng bắn ra 2 tia đạn màu
xanh dương, có sức cơng phá
Hình 1.6: Enemy2

lớn hơn Enemy1.
Là một kẻ địch trong game
người chơi phải đối đầu, nó có

Enemy3

khả năng bắn ra 3 tia đạn màu
đỏ, có sức cơng phá lớn hơn so
Hình 1.7: Enemy3


với Enemy2.
Là một kẻ địch trong game
người chơi phải đối đầu, nó có

Enemy4

khả năng bắn ra 2 tia đạn màu
xanh, có sức cơng phá lớn hơn
Hình 1.8: Enemy4

so với Enemy3.
Là một kẻ địch trong game
người chơi phải đối đầu, nó có

Enemy5

khả năng bắn ra tên lửa đuổi
theo người chơi, có sức cơng
Hình 1.9: Enemy5

phá lớn hơn so với Enemy4.
Là một quái vật trong game
người chơi phải đối đầu, nó có
khả năng cast skill làm cho

Boss1

người chơi dính địn bị dính
Hình 1.10: Boss1


6

hiệu ứng (bị tê liệt, bị di chuyển
ngược), có sức cơng phá lớn


hơn rất nhiều so với kẻ địch
thông thường.
Là một quái vật trong game
người chơi phải đối đầu, nó có
khả năng cast skill làm cho
Boss2

người chơi dính địn bị dính
hiệu ứng (bị tê liệt, bị di chuyển
Hình 1.11: Boss2

ngược), có sức công phá lớn
hơn rất nhiều so với Boss1.
Là một quái vật trong game
người chơi phải đối đầu, bao

Tentacle Boss

(khơng có hình)

gồm nhiều xúc tu có thể bắn tia
laser,nhưng khơng thể di
chuyển.
Là đồ vật người chơi có thể

nhặt được và sử dụng để nâng

Coin

cấp vũ khí, hồi phục năng
Hình 1.9: Coin

lượng. Có tỉ lệ rớt khi người
chơi tiêu diệt kẻ địch, thiên
thạch.
Là thực thể người chơi có thể
lấy để hồi phục năng lượng cho

Fuel

Hình 1.10: Fuel

phi thuyền. Có tỉ lệ rớt khi
người chơi tiêu diệt kẻ địch,
thiên thạch.
Là thực thể người chơi có thể
lấy để nâng cấp vũ khí. Có tỉ lệ

Star
Hình 1.11: Star

rớt khi người chơi tiêu diệt kẻ
địch, thiên thạch.

7



Là một thực thể trơi nổi ngồi
khơng gian bao la, người chơi
phải né tránh nếu không muốn

BigAsteroid

phi thuyền bị tan tành. Khi bắn
Hình 1.12: Big Asteroid

nó, nó có thể tách ra nhiều
mảnh nhỏ hơn.
Là một thực thể trơi nổi ngồi
khơng gian bao la, người chơi
phải né tránh nếu không muốn

MediumAsteroid

phi thuyền bị tan tành. Khi bắn
Hình 1.13: Medium
Asteroid

nó, nó có thể tách ra nhiều
mảnh nhỏ hơn.

Là một thực thể trôi nổi ngồi
SmallAsteroid

Hình 1.14: Small

Asteroid

khơng gian bao la, người chơi
phải né tránh nếu không muốn
phi thuyền bị tan tành.

Là một loại phóng xạ được bắn
Bullet1

Hình 1.15: Bullet1

ra bởi Enemy1. Người chơi
phải né tránh nếu muốn tồn tại.

Là một loại tia lửa được bắn ra
Bullet2

bởi Enemy2. Người chơi phải
Hình 1.16: Bullet2

8

né tránh nếu muốn tồn tại.


Là một loại tia điện plasma
được bắn ra bởi Enemy3.

Bullet3
Hình 1.17: Bullet3


Người chơi phải né tránh nếu
muốn tồn tại.

Là một loại tia đạn được bắn ra
BulletDefault

Hình 1.18: Bullet
Default

bởi player. Người chơi phải cố
gắng dùng nó để bắn trúng kẻ
địch.
Là một loại tia laser được bắn
ra bởi player. Người chơi phải

Laser

cố gắng dùng nó để bắn trúng
kẻ địch. Vũ khí này có khả
năng thiêu đốt kẻ địch.
Là một loại tên lửa tìm địch
được bắn ra bởi người chơi.
Người chơi phải cố gắng dùng

Missle

Hình 1.19: Missle

nó để bắn trúng kẻ địch. Tên

lửa này có thể xác định vị kẻ
địch trí trong bán kính của nó
để tìm diệt.
Là một kỹ năng bắn ra xung
quanh, được cast bởi người

CircleShooting

Hình 1.20:
CircleShooting

chơi hoặc boss, nó gây sát
thương và làm cho kẻ dính bị
mất phương hướng tạm thời.

9


Là một kỹ năng được cast bởi
DivineDeparture

Hình 1.21:
DivineDeparture

người chơi hoặc boss, nó gây
sát thương cực lớn.

Là một kỹ năng được cast bởi
ElectricityShooting


Hình 1.22:

người chơi hoặc boss, nó gây

ElectricityShooting

sát thương và làm cho kẻ dính
bị tê liệt trong giây lát.

Là một kỹ năng được cast bởi
EnergyWave

người chơi hoặc boss, nó gây
Hình 1.23: EnergyWave

sát thương lên kẻ dính.

Là một kỹ năng giúp người
Invincible

SectorShooting

Hình 1.24: Invincible

Hình 1.25:
SectorShooting

FuelStateBar

Hình 1.26: FuelStateBar


10

chơi miễn nhiệm hiệu ứng và
sát thương.

Là một phiên bản nâng cấp của
ElectricityShooting.

Là một thanh hiển thị tráng thái
năng lượng của người chơi.


Hình 1.27: HP Bar

HP Bar

Là một thanh hiển thị HP của
Boss.

Hình 1.28: HUD

HUD

Là một thanh hiển thị điểm,
mạng, và coin của người chơi.

WeaponStateBar

Hình 1.29:

WeaponStateBar

Là một thanh hiển thị vũ khí và
cấp độ của vũ khí của người
chơi.

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 sẽ rơi vào trạng thái không thể cản phá sau khi hồi sinh hoặc
dùng kỹ năng Invincible.
− Người chơi có thể sử dụng tối đa 4 kỹ năng.
− Game có nhạc nền giúp người chơi thư giãn.
− Khi người chơi chết sẽ bị trừ 1 mạng.
− Người chơi có thể điều chỉnh tốc độ chuột.
3. Các yêu cầu về phi chức năng.
− Cân bằng game:
+ Vì người chơi sử dụng chuột nên sẽ có năng lượng, khi hết năng
lượng, người chơi sẽ bị giảm tốc độ di chuyển.
+ Người chơi có thể thu thập coin để nâng cấp vũ khí, hồi phục năng
lượng.
− Yêu cầu về chất lượng: FPS ổn định, gameplay thu hút người chơi.
− Yêu cầu về tính tương thích: có thể chơi ổn định trên Windows 10.

11


CHƯƠNG 2: USE CASE
I. Biểu Đồ
1. Người chơi(Player)


Hình 2.1: Player Usecase Diagram
2. Kẻ địch thông thường 1(Enemy1)

12


Hình 2.2: Enemy1 Usecase Diagram

3. Kẻ địch thơng thường 2(Enemy2)

13


Hình 2.3: Enemy2 Usecase Diagram

4. Kẻ địch thơng thường 3(Enemy3)

14


Hình 2.4: Enemy3 Usecase Diagram
5. Kẻ địch thơng thường 4 (Enemy4)

15


Hình 2.5: Enemy3 Usecase Diagram
6. Kẻ địch thơng thường 5 (Enemy5_Missle Variant)


16


Hình 2.6: Enemy3 Usecase Diagram
7. Quái vật(Boss)

17


Hình 2.7: Boss Usecase Diagram
8. Boss Xúc Tu (Tentacle Boss)

Hình 2.8: Tentacle Boss Usecase Diagram
9. Quái vật 2 (Boss2)

18


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×