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

Báo cáo môn học đồ án chuyên ngành đề tài xây dựng game platformer 3d online

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.78 MB, 40 trang )

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
VIỆN KỸ THUẬT – CÔNG NGHỆ

BÁO CÁO MÔN HỌC
ĐỒ ÁN CHUYÊN NGÀNH
ĐỀ TÀI: XÂY DỰNG GAME PLATFORMER 3D ONLINE

GVHD: Ths. NGUYỄN HỮU VĨNH
SVTH: Nguyễn Tiến Phong
MSSV: 1824801030131
LỚP: D18PM02

BBNH DƯƠNG – 10/2021

0

0


LỜI CẢM ƠN
Lời đầu tiên em xin được bày tỏ lòng biết ơn sâu sắc đến Ban giám hiệu trường Đại học
Thủ Dầu Một, các giảng viên Viện Kỹ Thuật Cơng Nghệ đã ln tận tình chỉ dạy em
trong suốt quảng thời gian học tại trường.
Đặc biệt, em xin tỏ lòng biết ơn chân thành tới thầy Ths. Nguyễn Hữu Vĩnh đã trực tiếp
giúp đỡ, hướng dẫn em hoàn thành khóa luận này.
Đồ án “XÂY DỰNG GAME PLATFORMER 3D ONLINE” về cơ bản đã hoàn thành tuy
nhiên chắc chắn vẫn cịn nhiều thiếu sót, rất mong nhận được ý kiến đóng góp và giúp đỡ
của các thầy cơ và bạn bè để người thực hiện có thể hồn thành tốt nhất báo cáo này.
Rất mong nhận được những đóng góp từ q Thầy Cơ, bạn bè và những người quan tâm
để luận văn có thể hồn thiện hơn. Xin chân thành cám ơn!
Bình Dương, ngày .... tháng …. năm 2021


Học viên

Nguyễn Tiến Phong

0

0


NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
Bình Dương, ngày ..... tháng ..... năm 20...
Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)

0

0


NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN

.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
Bình Dương, ngày ..... tháng ..... năm 20...
Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)

0

0


TRƯỜNG ĐH THỦ DẦU MỘT
KHOA KỸ THUẬT CƠNG NGHỆ

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

PHIẾU ĐÁNH GIÁ PROJECT
(Đánh giá quá trình thực hiện, báo cáo văn bản và sản phẩm)
Học phần: ĐỒ ÁN CHUYÊN NGÀNH
Họ và tên sinh viên (MSSV):

1. Nguyễn Tiến Phong (1824801030131)
Trọn
Tiêu chí

g số
%

Tốt

Khá

Trung bình

Kém

100%

75%

50%

0%

Tích cực
Nêu ý
tưởng
Thái

độ


tham

gia

tích cực

05

tìm kiếm và

Tìm kiếm và

chủ động

đưa ra được

đưa ra ý

ý tưởng khá

tưởng mang

tốt

Chọn ý tưởng
trong số được
đề nghị

Khơng
quan tâm

lựa chọn
ý tưởng

tính mới
Khơng
Lập
kế
hoạch

05

thực
hiện

Hồn tồn

Khá hợp lý,

hợp lý,

điều chỉnh

khơng cần

chút ít theo

điều chỉnh

góp ý


hợp lý và
Chưa hợp lý,

khơng

có điều chỉnh

điều

theo góp ý

chỉnh
theo góp
ý

Q

trình

Chuẩn bị

thực

hiện

tốt mọi điều

project

Giai


kiện cho

nghiêm túc

đoạn

việc thực

chuẩn

10

bị

hiện
project, có
thể khởi

Giai

10

động ngay
Thực hiện

0

Chuẩn bị
được đa số

điều kiện cho
việc thực
hiện, có thể
khởi động và
bổ sung sau
Thực hiện

0

Chuẩn bị được
một số điều
kiện cho việc
thực hiện
nhưng cần bổ
sung thêm mới
có thể khởi
động
Thực hiện

Khơng
chuẩn bị
được
điều kiện
nào

Thực


hiện
hồn tồn

đúng
phương
pháp

khá đúng

tương đối đúng

khơng

phương

phương pháp,

đúng

pháp, sai sót

sai sót quan

phương

nhỏ và có

trọng và có sửa

pháp, sai

sửa chữa


chữa

sót khơng
sửa chữa
Triển

đoạn
thực

Triển khai

Triển khai

khai

khá đúng kế

tương đối đúng

chậm trễ,

Triển khai

hoạch, có

kế hoạch, có

gây ảnh

đúng kế


chậm trễ

chậm trễ gây

hưởng

hoạch

nhưng không

ảnh hưởng

không

gây ảnh

nhưng khắc

khắc

hưởng

phục được

phục

hiện

10


Mức

được
Ghi rõ từng mục tiêu thành phần (ở mỗi giai đoạn

độ đạt

của project) và thang điểm cụ thể

được
mục

20

tiêu
thành
phần
Nội
dung
Báo

cáo

báo

kết

quả


bằng

văn

cáo
Trình

bản rõ ràng

bày
báo

10

10

-

Báo cáo tiến trình thực hiện

-

Thuyết minh sản phẩm

-

Bài học rút ra

-


Format nhất quán

-

Văn phong phù hợp

cáo

0

0


Chất lượng
sản

phẩm

đáp

ứng

20

các tiêu chí

-

Xây dựng đầy đủ chức năng


đề ra
ĐIỂM CỦA NHÓM:
GÓP Ý LĨNH VỰC CẦN CẢI TIẾN:
ĐIỂM
PROJEC
T NHÓM

- Về phương pháp học tập, suy nghĩ, xử lý vấn đề:
- Về kiến thức, kỹ năng, thái độ:
- Khác:
- Phương pháp cải tiến:
- Nơi có thể cung cấp sự hỗ trợ:

TÊN HỌ VÀ CHỮ KÝ XÁC NHẬN CỦA GV: Nguyễn Hữu Vĩnh
Phần 2: Đánh giá cá nhân làm việc nhóm
Làm việc nhóm
Hướng dẫn: Nhóm họp thảo luận đánh giá lẫn nhau. Kết quả này sẽ được sử dụng để
qui đổi từ điểm của nhóm thành điểm của mỗi cá nhân, tuỳ theo % mỗi cá nhân đạt
được
1) Thành viên có tham gia họp đầy đủ: 40%
Đầy đủ: 40%
Vắng họp dưới 2 lần: 20%
Vắng họp hơn 2 lần: 0%
2) Thành viên nộp sản phẩm được giao đúng hạn: 40%
Đúng hạn: 40%
Trễ dưới 2 ngày: 20%
Trễ trên 2 ngày: 0%
3) Thành viên có tham gia giải quyết vấn đề, đóng góp ý kiến cải tiến: 20%
Đóng góp đạt hiệu quả: 20%
Có quan tâm đóng góp: 10%

Khơng quan tâm: 0%

0

0


Danh sách thành viên của Nhóm:
1. (Tên họ): Nguyễn Tiến Phong
Điểm làm việc nhóm (%):

ĐIỂM

THÀNH

VIÊN

NHĨM
(do nhóm ghi)

TÊN HỌ VÀ CHỮ KÝ XÁC NHẬN CỦA CÁC THÀNH
VIÊN TRONG NHÓM:
SV1

Nguyễn Tiến Phong
Danh sách thành viên của Nhóm:
1. (Tên họ): Nguyễn Tiến Phong
ĐIỂM CỦA CÁ NHÂN

Điểm cá nhân:


(do GV ghi)
TÊN HỌ VÀ CHỮ KÝ XÁC NHẬN CỦA GV:
Nguyễn Hữu Vĩnh
GÓP Ý CẢI TIẾN CHO CÁ NHÂN:
1) Tên SV: Nguyễn Tiến Phong
GÓP Ý LĨNH VỰC CẦN CẢI TIẾN:
Ghi nhận của GV

- Về phương pháp học tập, suy nghĩ, xử lý vấn đề:

(phần này do GV ghi và lưu

- Về kiến thức, kỹ năng, thái độ:

riêng để theo dõi, tư vấn cho

- Khác:

cá nhân SV, khơng phổ biến

- Phương pháp cải tiến:

cho lớp, nhóm)

- Nơi có thể cung cấp sự hỗ trợ:
- Phương pháp cải tiến:
- Nơi có thể cung cấp sự hỗ trợ:

0


0


LỜI NÓI ĐẦU
Nguồn gốc của video game nằm trong quá trình phát triển với ống phóng tia âm cực -dựa
trên hệ thống phòng thủ tên lửa vào cuối những năm 1940. Các chương trình này sau đó
được chuyển thể thành trò chơi đơn giản khác trong những năm 1950.
Vào cuối những năm 1950 và qua các năm 1960, trò chơi máy tính đã được phát triển
nhiều hơn (phần lớn là trên các máy tính lớn), với sự tinh tế và phức tạp ngày càng tăng
lên (rất nhiều các video game thời kỳ đầu đã biến mất và hầu như không có một bản ghi
lại nào). Trải qua các thời kỳ, video game tách ra trên nhiều hệ máy khác nhau: game
arcade (hệ máy thùng), máy tính lớn, game console (hệ máy có tay cầm điều khiển), máy
tính cá nhân và sau cùng là hệ máy cầm tay.
Trò chơi điện tử nhiều người chơi là trị chơi điện tử trong đó nhiều người có thể chơi
cùng lúc trong cùng một mơi trường trị chơi, cục bộ (ví dụ: New Super Mario Bros. Wii)
hoặc trực tuyến qua Internet (ví dụ: World of Warcraft, Call Of Nghĩa vụ). Các trò chơi
nhiều người chơi thường yêu cầu người chơi chia sẻ một hệ thống trò chơi duy nhất hoặc
sử dụng mạng internet để chơi với những người chơi khác ở bất cứ nơi nào, người chơi có
thể cạnh tranh với một hoặc nhiều người chơi khác, hợp tác làm việc với nhau để đạt được
mục tiêu chung. Do các trò chơi nhiều người chơi cho phép người chơi tương tác với các
cá nhân khác, chúng cung cấp một yếu tố giao tiếp xã hội khơng tồn tại trong các trị chơi
một người chơi.
Trị chơi Shogai được lấy cảm hứng từ hai trò chơi khác là Fall Guys và Ultimate Chicken
Horse. Trong đó, người chơi phải thi đấu với nhiều người chơi khác để vượt qua các
chướng ngại vật và chạm vào đích đến. Khác với Fall Guys, nơi các bản đồ được nhà phát
triển game thiết lập sẵn, những người chơi trong trò chơi Shogai sẽ được cung cấp các
chướng ngại vật sau mỗi vòng đấu, để tự thiết kế bản đồ mà họ đang chơi. Ý tưởng này
được lấy từ tựa game Ultimate Chicken Horse.
Khóa luận gồm các phần được phân chương như sau:



Chương 1: Tổng quan.



Chương 2: Giới thiệu Unity Engine và Photon.



Chương 3: Phân tích thiết kế.



Chương 4: Xây dựng ứng dụng.



Chương 5: Kết luận.

0

0


MỤC LỤC
DANH MỤC BẢNG.......................................................................................................... 9
DANH MỤC HÌNH.........................................................................................................10
DANH MỤC THUẬT NGỮ............................................................................................11
CHƯƠNG I.

1.

2.

TỔNG QUAN.........................................................................................1

Giới thiệu trò chơi:................................................................................................1
1.1.

Thế giới hiện nay:...........................................................................................1

1.2.

Trò chơi Shogai:.............................................................................................1

1.3.

Khái quát về trò chơi:.....................................................................................1

Xác định yêu cầu của trò chơi:..............................................................................1
2.1.

Yêu cầu của hệ thống nhiều người chơi:.........................................................1

2.2.

Yêu cầu về trải nghiệm người dùng:...............................................................2

CHƯƠNG II.


GIỚI THIỆU UNITY ENGINE VÀ PHOTON ENGINE.......................3

2.1.

Giới thiệu Unity Engine:.................................................................................3

2.2.

Giới thiệu công nghệ Photon Engine:.............................................................5

CHƯƠNG III. PHÂN TÍCH THIẾT KẾ.........................................................................6
1.

Danh sách các Actor:.............................................................................................6

2.

Sơ đồ chức năng hệ thống:....................................................................................6

3.

Sơ đồ Use Case tổng thể:.......................................................................................7

4.

Sơ đồ luồng trò chơi:.............................................................................................7

5.

Phân tích các chức năng:.......................................................................................8

5.1.

Kết nối:...........................................................................................................8

5.2.

Quản lí trị chơi:............................................................................................10

5.3.

Điều khiển người chơi:.................................................................................14

5.4.

Cài đặt:..........................................................................................................15

CHƯƠNG IV.

THIẾT KẾ TRÒ CHƠI..........................................................................17

1.

Cơ chế điều khiển:...............................................................................................17

2.

Yêu cầu kĩ thuật:..................................................................................................17

3.


Bản đồ:................................................................................................................ 17

4.

Kịch bản chơi:.....................................................................................................17

5.

Các Scene của trò chơi:.......................................................................................18
5.1.

Scene Bắt đầu:..............................................................................................18

0

0


5.2.

Scene Sảnh chờ (Lobby):..............................................................................19

5.3.

Scene Phịng chờ (Room):............................................................................19

5.4.

Scene Chính:.................................................................................................20


5.5.

Tính điểm:.....................................................................................................21

5.6.

Scene chọn chướng ngại vật:........................................................................21

5.7.

Đặt chướng ngại vật:.....................................................................................22

5.8.

Xếp hạng người chơi:....................................................................................22

6.

Nhân vật:.............................................................................................................23

7.

Bản đồ:................................................................................................................ 23

8.

Các chướng ngại vật:...........................................................................................24

9.


8.1.

Hộp carton:...................................................................................................24

8.2.

Quạt trần theo chiều ngang:..........................................................................24

8.3.

Quạt trần theo chiều dọc:..............................................................................25

Âm nhạc và hiệu ứng âm thanh:..........................................................................25

CHƯƠNG V.

KẾT LUẬN:..........................................................................................26

1.

Kết quả đạt được:................................................................................................26

2.

Hạn chế:..............................................................................................................26

3.

Hướng phát triển:.................................................................................................26


TÀI LIỆU THAM KHẢO................................................................................................27
1.

Tài liệu trực tuyến:..............................................................................................27

0

0


DANH MỤC BẢNG
Bảng 5.1. Mô tả use case Kết nối đến server......................................................................8
Bảng 5.2. Mơ tả use case Tạo phịng...................................................................................8
Bảng 5.3 Mơ tả use case Tham gia phịng...........................................................................9
Bảng 5.4. Mơ tả use case Tìm phịng..................................................................................9
Bảng 5.5. Mơ tả use case Thu thập sự kiện.......................................................................10
Bảng 5.6. Mô tả use case Điều hướng trận đấu.................................................................10
Bảng 5.7 Use case chuyển Trạng thái thi đấu....................................................................11
Bảng 5.8. Use case chuyển trạng thái Chọn chướng ngại vật............................................11
Bảng 5.9. Use case chuyển trạng thái Đặt chướng ngại vật..............................................12
Bảng 5.10. Use case chuyển trạng thái Tính điểm............................................................12
Bảng 5.11. Use case chuyển trạng thái Trận đấu kết thúc.................................................12
Bảng 5.12. Use case Tạo chướng ngại vật........................................................................13
Bảng 5.13. Use case Lưu bản đồ chướng ngại vật............................................................13
Bảng 5.14. Use case Di chuyển nhân vật..........................................................................14
Bảng 5.15. Use case Chọn chướng ngại vật......................................................................14
Bảng 5.16. Use case Đặt chướng ngại vật.........................................................................15
Bảng 5.17. Use case Cài đặt âm thanh..............................................................................15
Bảng 5.18. Use case Cài đặt độ phân giải.........................................................................15


0

0


DANH MỤC HBNH
Hình 1. Sơ đồ chức năng trị chơi.......................................................................................6
Hình 2. Sơ đồ Use Case tổng thể........................................................................................7
Hình 3. Sơ đồ luồng trị chơi............................................................................................... 7
Hình 4. Các phím di chuyển..............................................................................................17
Hình 5.Phím nhảy............................................................................................................. 17
Hình 6. Phím hiển thị con trỏ chuột..................................................................................17
Hình 7.Đặt chướng ngại vật..............................................................................................17
Hình 8. Scene Kết nối....................................................................................................... 18
Hình 9. Scene Sảnh chờ (Lobby)......................................................................................19
Hình 10. Scene Phịng chờ (Room)...................................................................................19
Hình 11. Thi đấu............................................................................................................... 20
Hình 12. Tính điểm...........................................................................................................21
Hình 13. Scene chọn chướng ngại vật...............................................................................21
Hình 14. Đặt chướng ngại vật...........................................................................................22
Hình 15. Xếp hạng............................................................................................................22
Hình 16. Nhân vật Smol Ame........................................................................................... 23
Hình 17. Ame Office.........................................................................................................23
Hình 18. Hộp carton.......................................................................................................... 24
Hình 19. Quạt trần theo chiều ngang.................................................................................24
Hình 20. Quạt trần theo chiều dọc....................................................................................25

0

0



DANH MỤC THUẬT NGỮ
Thuật ngữ

Giải thích
Phân cảnh của trị chơi.
Một Scene tương tự như một Activity
trong Android Studio
Người chơi trò chơi. Host của một
phong chơi.
Master Client khi tham gia phòng chơi
của một Master Client khác sẽ trở
thành Client.

Scene
Master Client
Client
Model

Các mẫu vật thể 3D

0

0


CHƯƠNG I.

TỔNG QUAN


Chương 1 Giới thiệu sơ lược về trò chơi, cách trò chơi vận hành,
nguồn cảm hứng và một số yêu cầu của trò chơi.
1. Giới thiệu trò chơi:
1.1.
Thế giới hiện nay:
 Trong thế giới ngày càng bận rộn như hiện nay, thời gian và cơ hội để một
người có thể gặp gỡ với bạn bè của mình có vẻ như ngày càng ít hơn. Khơng
những thế, những vấn đề riêng tư cũng thường làm cho con người cảm thấy
ngột ngạt và u sầu hơn. Vì vậy, một sân chơi nơi mọi người có thể kết nối một
cách nhanh chóng qua internet có thể giải quyết các vấn đề vừa được đặt ra.
1.2.
Trò chơi Shogai:
 Shogai được lấy cảm hứng từ hai trò chơi khác là Fall Guys và Ultimate
Chicken Horse. Trong đó, người chơi phải thi đấu với nhiều người chơi khác để
vượt qua các chướng ngại vật và chạm vào đích đến. Shogai cịn có nghĩa là
chướng ngại vật trong tiếng Nhật.
 Trị chơi khơng q chú trọng vào khía cạnh thắng hay thua mà mục tiêu của nó
là đem lại cho người chơi những phút giây thoải mái, những tràng cười thỏa
thích với bạn bè và người thân, hoặc thậm chí những người chưa quen biết.
1.3.
Khái quát về trò chơi:
 Trò chơi được phát triển bằng game engine Unity, tích hợp với Photon Unity
Networking framework để lập trình hệ thống nhiều người chơi, và sử dụng
Blender để thiết kế các model 3D của trò chơi.
 Người chơi sau khi đăng nhập vào hệ thống có thể gia nhập vào một phòng
chơi tùy ý. Khi trò chơi bắt đầu, tất cả các người chơi trong một phòng sẽ được
đưa đến một màn chơi được chọn trước để thi đấu. Trong mỗi vòng chơi, các
người chơi sẽ chọn cho mình một chướng ngại vật để thêm vào màn chơi, qua
đó, màn chơi sẽ ln thay đổi và tạo ra những thử thách mới cho người chơi.

Một vòng chơi sẽ kết thúc khi hết thời gian thi đấu hoặc tất cả các người chơi
đã về đích.
 Trận đấu sẽ kết thúc sau một số vòng chơi nhất định.
2. Xác định yêu cầu của trò chơi:
2.1.
Yêu cầu của hệ thống nhiều người chơi:
Để vận hành trò chơi một cách trơn tru và đem lại trải nghiệm tốt nhất cho người chơi,
hệ thống phải đạt được các yêu cầu sau:
 Người chơi có thể kết nối đến server bất kì lúc nào.
 Người chơi có khả năng tham gia bất kì một trận đấu nào nếu được quyền tham
gia.
 Kết nối đến server phải ổn định để trò chơi được vận hành mượt mà.
 Thao tác của tất cả người chơi trong cùng một trận đấu phải rõ ràng và phải
được cập nhất đến server trong suốt quá trình thi đấu.

1

0

0


2.2.
Yêu cầu về trải nghiệm người dùng:
Để đem lại cho người chơi một trải nghiệm tích cực trong suốt quá trình chơi game,
trị chơi phải thỏa mãn các u cầu sau:
 Giao diện hài hòa: giao diện của trò chơi phải được sắp xếp rõ ràng, minh bạch.
 Điều khiển: Các thao tác của người chơi như click chuột, di chuyển,… phải
được thiết kế cẩn trọng để nó đem lại sự thoải mái và mượt mà cho người chơi.
 Âm thanh: âm thanh của trò chơi phải được thiết kế để trị chơi có thể giao tiếp

tốt hơn với người chơi. Các âm thanh khi người chơi chuyển động, hay tương
tác với giao diện phải được thiết kế tỉ mỉ. Âm nhạc của trò chơi cũng phải đem
lại cảm giác sống động khi đang chơi.

2

0

0


CHƯƠNG II. GIỚI THIỆU UNITY ENGINE
VÀ PHOTON ENGINE
Chương 2 Giới thiệu về các công nghệ được sử dụng trong quá trình
phát triển trị chơi như Unity Engine, cơng nghệ Photon Engine.
1.1.
Giới thiệu Unity Engine:
1.1.1. Tổng quan về Unity:









Unity hiểu một cách đơn giản nhất chính là phần mềm được sử dụng để làm
game đa nền tảng và được phát triển bởi Unity Technologies. Phần mềm này
chủ yếu áp dụng cho hệ điều hành trên máy tính, điện thoại và consoles, được

công bố lần đầu tiên trên thế giới với hệ điều hành của OS X vào năm 2005.
Đến nay, phần mềm này đã được phát triển, mở rộng ra đến 27 nền tảng mới.
Phần mềm phát triển game unity hỗ trợ cho người dùng đầy đủ đồ họa 2D và
3D cùng rất nhiều chức năng, chủ yếu được viết nên bởi ngơn ngữ lập trình C#.
Ngồi ra, 2 ngơn ngữ khác cũng được sử dụng để hỗ trợ đó là Boo và
unityscript, tuy nhiên đều đã bị loại ở unity 5 và unity 2017.
Unity cũng hỗ trợ cho người dùng APIs ở cấp thấp như là Metal trên hệ điều
hành IOS, macOS và Vulkan trên hệ điều hành Android. Hiện nay, unity là
phần mềm đang được sử dụng phổ biến nhất tại các tổ chức, doanh nghiệp
chuyên về phát triển game trên thế giới cũng như tại Việt Nam, góp phần mang
đến những trị game cùng các trải nghiệm vơ cùng thú vị.
Unity luôn là sự lựa chọn tuyệt vời dành cho các lập trình viên chuyên xây
dựng và phát triển mảng game, bởi nó sở hữu vơ số ưu điểm nổi bật như sau:
 Có đa dạng các cơng cụ hỗ trợ như vật lý, âm thanh, mã nguồn, trí tuệ nhân
tạo... và bao gồm cả việc dựng hình ảnh để cho ra đồ họa 2D/3D bắt mắt.
 Với Unity, người dùng có thể dễ dàng tạo ra dịng dữ liệu để xử lý và việc
kết nối hệ thống mạng lưới cũng trở nên đơn giản hơn...
 Quá trình xây dựng, phát triển và lập trình game vơ cùng đơn giản. Đồng
thời, giúp tiết kiệm thời gian trong mọi mặt.
 Hỗ trợ đa nền tảng như iOS, Android, Windows, PlayStation 3, Xbox 360,
Linux...
 Nhà phát triển chỉ cần một gói lập trình duy nhất là đã có thể phát triển
game phục vụ được trên nhiều hệ điều hành.
 Lập trình viên cũng dễ dàng convert sang các hệ điều hành khác nhau, tùy
theo mục đích và yêu cầu của người đặt.
 Unity là phần mềm rất dễ sử dụng, nó được đánh giá như mơi trường tích
hợp và mang đến cho người dùng một hệ thống toàn diện.
3

0


0




 Lập trình viên cũng có thể soạn thảo mã nguồn, xây dựng cơng cụ tự động
hóa riêng và sửa lỗi chúng... một cách dễ dàng, nhanh chóng.
 Cộng đồng người sử dụng lập trình Unity khá đơng. Chính vì vậy mà trong
quá trình làm việc, nếu bạn gặp bất kỳ vấn đề nào thì đều sẽ nhanh chóng
nhận được sự hỗ trợ từ những người có kinh nghiệm lâu năm liên quan đến
công nghệ phát triển game.
 Những người lựa chọn lập trình Unity để phát triển sự nghiệp sẽ nhận được
mức thu nhập tương đối cao, có thể lên đến 1500USD/năm.
1.1.2. Một số khái niệm liên quan đến Unity:
Trong Unity có rất nhiều cơng cụ nhỏ khác giúp phục vụ cho các mục đích
khác nhau trong q trình lập trình viên code game. Cụ thể, dưới đây là một số
khái niệm thường được sử dụng trong quá trình phát triển game bằng Unity
Engine:
 GameObject: đây là một đối tượng cụ thể trong game như là nhân vật hay
đồ vật nào đó (con người, xe cộ, động vật,…).
 Component: Đối với mỗi gameObject đều sẽ có nhiều thành phần khác
nhau cấu tạo nên như là hình ảnh, các hành động, tính tốn vật lý, thành
phần để xử lí va chạm, các mã điều khiển,… và mỗi thành phần này sẽ được
gọi là component.
 Sprite: đây là component đại diện cho một hình ảnh 2D của game.
 Animation: đây là tập hợp các hình ảnh thay đổi liên tục qua đó tạo thành
một hoạt ảnh.
 Prefabs: khái niệm này được dùng để chỉ việc sử dụng lại các đối tượng
giống nhau trong game chỉ cần thực hiện thao tác khởi tạo lại các giá trị của

vị trí cùng các tỉ lệ biến dạng, góc quay từ đối tượng ban đầu.
 Script: đây là tập tin có chứa đựng những đoạn mã nguồn và các lập trình
viên game sẽ sử dụng nó để khởi tạo, xử lý các đối tượng ở trong game. Và
trong unity hiện nay có thể sử dụng các ngôn ngữ như là Java Script, C#
hay Boo để lập trình Script.
 Scenes: yếu tố quan trọng để quản lý tất cả những đối tượng có trong một
trận game.
 Assets: bao gồm tồn bộ những cơng cụ khác phục vụ cho một dự án game
đó là sprite, sound, script, animation, scenes,...
 Camera: đây là một gameobject đặc biệt có trong scenes và được sử dụng
để xác định tầm nhìn cũng như quan sát các đối tượng khác có trong game.
 Transform: hiểu đơn giản đay là 3 phép biến đổi trong game bao gồm có
tịnh tiến, phóng to – thu nhỏ và quay theo các trục của một đối tượng nhất
định.

4

0

0


2.3.



Giới thiệu công nghệ Photon Engine:

Photon Unity Network (PUN) là một framework hỗ trợ phát triển game thời
gian thực nhiều người chơi. Nó cung cấp tính năng xác thực, kết nối người

chơi, tính năng giao tiếp nhanh chóng và đáng tin cậy.
2.3.1. Realtime Cloud (Hệ thống đám mây thời gian thực):
 Các trận thi đấu sử dụng PUN được host trên máy chủ Photon Cloud
được phân phối toàn cầu, nhằm đảm bảo độ trễ thấp và thời gian khứ hồi
ngắn nhất cho người chơi trên toàn thế giới.
2.3.2. Multiplayer (Đa người chơi):
 Hỗ trợ lập trình đa người chơi. PUN là nền tảng hàng đầu dành cho lập
trình đa người chơi trên Unity 3D. Lập trình viên chú trọng xây dựng
các chức năng của game, PUN sẽ chịu trách nhiệm cho hệ thống
backend.
2.3.3. Cross-Platform (Đa nền tảng):
 Photon cho phép nhà phát triển xuất bản game trên nhiều nền tảng khác
nhau như mobile, desktop, web hoặc console.
2.3.4. Matchmaking API (API Tìm Trận):
 Hỗ trợ chức năng tìm trận đấu cho người chơi, ghép người chơi vào 1
trận đấu ngẫu nhiên hoặc cụ thể nào đó.
 Đây là một vài các chức năng quan trọng mà PUN cung cấp cho các lập
trình viên Unity. Sử dụng PUN giúp cho việc xây dựng một trò chơi đa
người chơi trở nên đơn giản hơn, đặc biệt đối với các nhóm phát triển
game nhỏ.

5

0

0


CHƯƠNG III. PHÂN TÍCH THIẾT KẾ
1. Danh sách các Actor:

Danh sách Actor
STT
1

Actor
Master Client

2

Client

Ý nghĩa
Người chơi trò chơi. Được phép sử dụng tồn bộ
các chức năng của Client của trị chơi.
Khi một người chơi gia nhập phòng chơi của một
người chơi khác, người chơi trở thành Client của
Master Client (hay còn gọi là Host) đó.

2. Sơ đồ chức năng hệ thống:

Hình 1. Sơ đồ chức năng trò chơi

6

0

0


3. Sơ đồ Use Case tổng thể:


Hình 2. Sơ đồ Use Case tổng thể.

4. Sơ đồ luồng trị chơi:

Hình 3. Sơ đồ luồng trò chơi

7

0

0


5. Phân tích các chức năng:
5.1.
Kết nối:
1.1.3. Kết nối đến server:
Bảng 5.1. Mô tả use case Kết nối đến server
Tên
Use
Kết nối đến server
Case
Tác nhân
Master Client
Use case này mô tả chức năng kết nối đến server của actor
Mô tả
Client.
Điều kiện Người chơi cần mở trò chơi và nhập Nick Name của mình
cần

để kết nối.
1. Người chơi mở trị chơi.
Dịng
sự
2. Nhập Nick Name bất kì.
kiện chính
3. Nhấn nút Kết nối.
Dịng
sự
Client có thể nhấn thoát trong lúc đang chờ kết nối
kiện phụ
Điều kiện
Kết nối người chơi đến với server.
cuối
1.1.4. Tạo phịng:
Bảng 5.2. Mơ tả use case Tạo phịng
Tên
Use
Tạo phịng
Case
Tác nhân
Master Client
Mơ tả
Use case này mơ tả chức năng tạo phịng của actor Client.
Điều kiện
Đã kết nối đến server, hệ thống sẵn sàng.
cần
1. Client nhập tên phịng và hiệu chỉnh các thơng số của
phịng.
Dịng

sự 2. Client nhấp vào nút Tạo Phịng.
kiện chính
3. Client được chuyển đến phòng chờ những người chơi
khác.
4. Actor Client trở thành Master Client.
Dòng
sự Hệ thống tạo một mã phòng để tránh trùng khớp khi tìm
kiện phụ
phịng.
Điều kiện
Tạo được một phịng chơi đã kết nối đến server
cuối

8

0

0


1.1.5. Tham gia phịng:
Bảng 5.3 Mơ tả use case Tham gia phịng
Tên
Use
Tham gia phịng
Case
Tác nhân
Master Client
Use case này mơ tả chức năng tham gia phịng của actor
Mơ tả

Client.
Điều kiện
Client đã kết nối đến server. Đã vào sảnh chờ.
cần
1. Client được đưa đến sảnh chờ.
Dòng
sự
2. Danh sách phòng được hiển thị lên màn hình.
kiện chính
3. Client nhấp vào nút tham gia phịng bất kì.
Dịng
sự Phịng đã đủ người chơi sẽ khơng cho phép người chơi mới
kiện phụ
tham gia.
Người chơi tham gia được phịng chơi, hiển thị thơng tin
Điều kiện đối với các người chơi khác. Nếu Master Client tham gia
phòng của Master Client khác, Master Client trở thành
cuối
Client.
1.1.6. Tìm phịng:
Bảng 5.4. Mơ tả use case Tìm phịng
Tên
Use
Tìm phịng
Case
Tác nhân
Master Client
Mơ tả
Use case này mơ tả chức năng tìm phịng của actor Client.
Điều kiện

Client đã kết nối đến server. Đã vào sảnh chờ.
cần
1. Client được đưa đến sảnh chờ.
Dòng
sự
2. Danh sách phòng được hiển thị lên màn hình.
kiện chính
3. Client nhập tên phịng cần tìm
4. Client nhấp vào nút tìm phịng.
Dịng
sự Nếu khơng có phịng nào có tên trùng với tên phịng cần
kiện phụ
tìm, hiển thị thơng báo phịng khơng tồn tại lên màn hình.
Điều kiện Tham gia phịng nếu phịng tồn tại hoặc hiển thị thơng báo
cuối
phịng khơng tồn tại.

9

0

0


5.2.
Quản lí trị chơi:
1.1.7. Quản lí sự kiện:
Bảng 5.5. Mơ tả use case Thu thập sự kiện
Tên Use
Thu thập sự kiện

Case
Tác nhân
Master Client
Use case này mô tả chức năng thu thập sự kiện của actor
Mô tả
Master Client.
Điều kiện Master Client có kết nối với trận đấu. Các client khác đã gia
cần
nhập trận đấu.Trận đấu đã bắt đầu.
1. Trận đấu bắt đầu. Các người tham gia bắt đầu chơi.
Dòng sự
2. Các Client phát ra những sự kiện khi đang chơi.
kiện chính
3. Master Client thu thập và xử lí các sự kiện.
Điều kiện
Các sự kiện được cập nhật liên tục và chính xác.
cuối
Bảng 5.6. Mô tả use case Điều hướng trận đấu
Tên Use
Điều hướng trận đấu
Case
Tác nhân
Master Client
Use case này mô tả chức năng điều hướng trận đâu của
Mô tả
actor Master Client.
Điều kiện Master Client có kết nối với trận đấu. Các client khác đã gia
cần
nhập trận đấu.Trận đấu đã bắt đầu.
1. Master Client bắt đầu trận đấu.

Dòng sự
2. Master Client thu thập và xử lí các sự kiện.
kiện chính
3. Master Client chuyển màn chơi, trạng thái dựa trên
các sự kiện.
Điều kiện Master Client luôn luôn cập nhập và liên lạc với Client
cuối
thông qua Photon Cloud.

10

0

0


1.1.8. Quản lí trạng thái:
Bảng 5.7 Use case chuyển Trạng thái thi đấu
Tên
Use
Chuyển Trạng thái thi đấu
Case
Tác nhân
Master Client
Use case này mơ tả chức năng Chạy màn chơi chính của
Mơ tả
actor Master Client
Điều kiện Master Client và các Client đã kết nối và tham gia vào
cần
phòng chơi.

1. Tất cả các Client đã sẵn sàng để bắt đầu.
Dòng
sự
2. Master Client bắt đầu trận đấu.
kiện chính
3. Master Client và Client được chuyển đến Scene
chính.
Trị chơi đang ở trạng thái đặt chướng ngại vật sẽ được
Dòng
sự
chuyển đến trạng thái thi đấu khi tất cả các chướng ngại vật
kiện phụ
được đặt ra.
Điều kiện
Chuyển đến màn chơi chính và bắt đầu đếm giờ thi đấu.
cuối
Bảng 5.8. Use case chuyển trạng thái Chọn chướng ngại vật
Tên
Use
Chuyển trạng thái Chọn chướng ngại vật
Case
Tác nhân
Master Client
Use case này mô tả chức năng chuyển trạng thái chọn
Mô tả
chướng ngại vật của actor Master Client
Điều kiện Master Client và các Client đã kết nối và tham gia vào
cần
phòng chơi. Trận đấu đã bắt đầu.
1. Các Client đã về đích hoặc thời gian thi đấu kết thúc.

Dịng
sự
2. Master Client đã tính điểm xong.
kiện chính
3. Chuyển đến Scene chọn chướng ngại vật.
Điều kiện Chuyển đến màn chơi chọn chướng ngại vật và bắt đầu đếm
cuối
giờ thi đấu.

11

0

0


×