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

Đồ án se121 game nft turnbased – colossal

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 (2.32 MB, 44 trang )

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

BÁO CÁO MÔN HỌC
ĐỒ ÁN 1 – SE121
Game NFT Turnbased – Colossal

Giảng viên hướng dẫn: Ths. Lê Thanh Trọng
Sinh viên thực hiện:
Trần Ngun Tiến Nam

19521871

Phạm Hồi Bảo

19520406

TP. Hồ Chí Minh, tháng 03 năm 2022
1


LỜI CẢM ƠN
Nhóm em trân trọng cảm ơn thầy Lê Thanh Trọng đã tạo điều kiện và hướng dẫn
chúng em để chúng em có cơ hội thử thách bản thân trong mơn học này. Trải qua 14
tuần tìm tịi, nghiên cứu và phát triển đã cho chúng em cái nhìn chi tiết về những thách
thức vừa hấp dẫn vừa chông gai của một nhà phát triển game. Chúng em tin rằng
những kiến thức và kinh nghiệm này sẽ hỗ trợ chúng em rất nhiều trên con đường sự
nghiệp sắp tới. Một lần nữa, cảm ơn thầy đã đồng hành và hỗ trợ nhóm chúng em
trong mơn học này.


2


NHẬN XÉT CỦA GIẢNG VIÊN
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................

..........................................................................................................................................
..........................................................................................................................................

3


LỜI CẢM ƠN ..................................................................................................... 2
NHẬN XÉT CỦA GIẢNG VIÊN ...................................................................... 3
DANH MỤC HÌNH ẢNH .................................................................................. 7
DANH MỤC BẢNG BIỂU................................................................................. 8
BẢNG PHÂN CÔNG, ĐÁNH GIÁ THÀNH VIÊN .......................................... 9
Chương 1. TỔNG QUAN ................................................................................. 10
1.1. Tổng quan đề tài ...................................................................................... 10
1.2. Lý do chọn đề tài ..................................................................................... 10
1.3. Mục tiêu .................................................................................................. 11
1.4. Phạm vi ................................................................................................... 12
Chương 2. TỔNG QUAN CÔNG NGHỆ ........................................................ 13
2.1. Unity ....................................................................................................... 13
2.2. NFT......................................................................................................... 14
2.3. ChainSafe ................................................................................................ 17
2.4. Mirror Networking .................................................................................. 18
Chương 3. THIẾT KẾ GAME......................................................................... 20
3.1. Tổng quan ............................................................................................... 20
3.1.1. Tên game .......................................................................................... 20
3.1.2. Thể loại............................................................................................. 20
3.2. Gameplay ................................................................................................ 20
3.2.1. Mục tiêu ............................................................................................ 20
3.2.2. Tiến trình .......................................................................................... 20
3.3. Cơ chế game............................................................................................ 20
3.3.1. Cơ chế tác động chỉ số ...................................................................... 20

3.3.2. Cơ chế tính sát thương ...................................................................... 21
3.3.3. Cơ chế hồi chiêu ............................................................................... 21
3.3.4. Cơ chế thảy xúc xắc .......................................................................... 21
Chương 4. USE CASE...................................................................................... 22
4.1. Use case diagram..................................................................................... 22
4.2. Danh sách actor ....................................................................................... 22
4.3. Danh sách use case .................................................................................. 23
4.4. Đặc tả use case ........................................................................................ 24
4


4.4.1. Use case “Đăng nhập” ..................................................................... 24
4.4.2. Use case “Thoát game” .................................................................... 24
4.4.3. Use case “Vào phòng chờ trận” ....................................................... 24
4.4.4. Use case “Tạo phòng chờ trận” ....................................................... 25
4.4.5. Use case “Chọn nhân vật” ............................................................... 25
4.4.6. Use case “Sẵn sàng vào trận” .......................................................... 26
4.4.7. Use case “Bắt đầu trận” ................................................................... 26
4.4.8. Use case “Thốt phịng chờ trận” .................................................... 26
4.4.9. Use case “Xem danh sách nhân vật hiện có” .................................... 27
4.4.10. Use case “Xem danh sách tất cả nhân vật của game” ..................... 27
4.4.11. Use case “Sử dụng kỹ năng” .......................................................... 28
4.4.12. Use case “Xem thông tin chi tiết của nhân vật trong trận đấu” ...... 28
4.4.13. Use case “Kết thúc lượt” ................................................................ 28
4.4.14. Use case “Thoát trận” .................................................................... 29
4.4.15. Use case “Xem kết quả trận đấu” ................................................... 29
Chương 5. THIẾT KẾ CLASS ........................................................................ 30
5.1. Class diagram .......................................................................................... 30
5.2. Danh sách class ....................................................................................... 30
5.2.1. Danh sách class Server quản lý ........................................................ 30

5.2.2. Danh sách class Client quản lý ......................................................... 31
5.2.3. Danh sách class cục bộ ..................................................................... 31
Chương 6. THIẾT KẾ GIAO DIỆN ................................................................ 32
6.1. Giao diện “Đăng nhập” ........................................................................... 32
6.2. Giao diện “Bảng chọn chính” .................................................................. 32
6.3. Giao diện “Tìm trận” ............................................................................... 33
6.4. Giao diện “Sảnh chờ” .............................................................................. 34
6.5. Giao diện “Chọn nhân vật” ...................................................................... 36
6.6. Giao diện “Đấu trường”........................................................................... 37
6.7. Giao diện “Thông tin nhân vật” ............................................................... 38
6.8. Giao diện “Xác nhận thốt trận” .............................................................. 39
6.9. Giao diện “Thơng báo kết quả trận đấu” .................................................. 40
Chương 7. MARKETPLACE VÀ VÍ BLOCKCHAIN .................................. 41
7.1. Marketplace............................................................................................. 41
7.2. Collection ................................................................................................ 41
5


7.3. Vật phẩm NFT ........................................................................................ 41
7.4. Ví BlockChain......................................................................................... 42
Chương 8. TỔNG KẾT .................................................................................... 43
8.1. Kết quả.................................................................................................... 43
8.2. Hạn chế ................................................................................................... 43
8.3. Source Code ............................................................................................ 43
8.4. Cài đặt ..................................................................................................... 43
8.5. Hướng phát triển ..................................................................................... 43
8.5.1. Tái cấu trúc hệ thống ........................................................................ 43
8.5.2. Cải thiện trải nghiệm đồ họa............................................................. 43
8.5.3. Cải thiện trải nghiệm gameplay ........................................................ 44
8.5.4. Cải thiện trải nghiệm âm thanh ......................................................... 44


6


DANH MỤC HÌNH ẢNH
Figure 1: Game NTF Axie Infinity ..................................................................... 10
Figure 2: Gameplay của Axie Infinity ................................................................ 11
Figure 3: Game Engine Unity ............................................................................. 13
Figure 4: Giao diện cơ bản của Unity ................................................................. 14
Figure 5: Nền tảng blockchain Ethereum ............................................................ 15
Figure 6: Ví tiền điện tử MetaMask .................................................................... 15
Figure 7: NFT Marketplace OpenSea ................................................................. 16
Figure 8: Giao diện bộ sưu tập NFT trên marketplace OpenSea ......................... 16
Figure 9: Thông tin chi tiết của một NFT (1) ...................................................... 17
Figure 10: Thông tin chi tiết của một NFT (2) .................................................... 17
Figure 11: ChainSafe SDK ................................................................................. 18
Figure 12: Mirror Netwworking ......................................................................... 18
Figure 13: Use case diagram .............................................................................. 22
Figure 14: Class diagram .................................................................................... 30
Figure 15: Giao diện "Đăng nhập" ...................................................................... 32
Figure 16: Giao diện "Bảng chọn chính" ............................................................ 33
Figure 17: Giao diện "Tìm trận" ......................................................................... 34
Figure 18: Giao diện "Sảnh chờ" ........................................................................ 35
Figure 19: Giao diện "Chọn nhân vật" ................................................................ 36
Figure 20: Giao diện "Đấu trường" ..................................................................... 37
Figure 21: Giao diện "Thông tin nhân vật" ......................................................... 39
Figure 22: Giao diện "Xác nhận thoát trận" ........................................................ 40
Figure 23: Giao diện "Thông báo kết quả trận đấu" ............................................ 40
Figure 24: Thông tin chi tiết NFT A Piece of Holly See (1)................................ 42
Figure 25: Thông tin chi tiết NFT A Piece of Holly See (2) ................................ 42


7


DANH MỤC BẢNG BIỂU
Table 1: Danh sách actor .................................................................................... 23
Table 2: Danh sách use case ............................................................................... 23
Table 3: Đặc tả use case "Đăng nhập" ................................................................ 24
Table 4: Đặc tả use case "Thoát game" ............................................................... 24
Table 5: Đặc tả use case "Vào phòng chờ trận" .................................................. 24
Table 6: Đặc tả use case "Tạo phòng chờ trận" ................................................... 25
Table 7: Đặc tả use case "Chọn nhân vật"........................................................... 25
Table 8: Đặc tả use case "Sẵn sàng vào trận" ...................................................... 26
Table 9: Đặc tả use case "Bắt đầu trận" .............................................................. 26
Table 10: Đặc tả use case "Thốt phịng chờ trận" .............................................. 26
Table 11: Đặc tả use case " Xem danh sách nhân vật hiện có" ............................ 27
Table 12: Đặc tả use case "Xem danh sách tất cả nhân vật của game" ................ 27
Table 13: Đặc tả use case "Sử dụng kỹ năng" ..................................................... 28
Table 14: Đặc tả use case “Xem thông tin chi tiết của nhân vật trong trận đấu” .. 28
Table 15: Đặc tả use case "Kết thúc lượt" ........................................................... 28
Table 16: Đặc tả use case "Thoát trận" ............................................................... 29
Table 17: Đặc tả use case "Xem kết quả trận đấu" .............................................. 29
Table 18: Danh sách class Server quản lý ........................................................... 30
Table 19: Danh sách class Client quản lý ........................................................... 31
Table 20: Danh sách class cục bộ ....................................................................... 31
Table 21: Mô tả giao diện “Đăng nhập".............................................................. 32
Table 22: Bảng mô tả giao diện "Bảng chọn chính" ............................................ 33
Table 23: Bảng mơ tả giao diện "Tìm trận" ........................................................ 34
Table 24: Bảng mơ tả giao diện "Sảnh chờ" ....................................................... 35
Table 25: Mô tả giao diện "Chọn nhân vật" ........................................................ 36

Table 26: Bảng mô tả giao diện "Đấu trường" .................................................... 38
Table 27: Bảng mô tả giao diện "Thông tin nhân vật"......................................... 39
Table 28: Bảng mô tả giao diện "Xác nhận thoát trận" ....................................... 40

8


BẢNG PHÂN CÔNG, ĐÁNH GIÁ THÀNH VIÊN
Họ và tên

MSSV

Trần Nguyên Tiến Nam

19521871

Phân công

- Chuẩn bị asset (Môi
trường, UI, audio)

- Thiết kế đồ họa, kỹ
năng, cốt truyện nhân vật.
- Thiết kế giao diện.
Phạm Hoài Bảo

19520406

- Thiết kế lối chơi
- Phát triển logic giao

diện, gameplay.

9

Đánh giá


Chương 1. TỔNG QUAN
1.1. Tổng quan đề tài
• Tên ứng dụng: Colossal
• Chủ đề chính: Multiplayer Game sử dụng Vật phẩm NFT từ BlockChain
Wallet
• Nền tảng phát triển: cross-platfrom PC standalone (Windows, Linux) +
Android
• Kiến trúc phát triển: Host-Client
• Cơng nghệ: Unity game engine, Mirror Netwoking, ChainSafe system

1.2. Lý do chọn đề tài
Hiện nay, game NFT đang nổi lên như một xu hướng tồn cầu khơng chỉ trong thế
giới game thủ truyền thống mà cịn với người dùng bình thường, hay người muốn chơi
để kiếm tiền. Đa phần các công ty game đều khơng muốn nằm ngồi cuộc chơi béo bở
này. Ngay cả các ông lớn trong ngành công nghiệp game như Ubisoft, Nintendo hay
EA cũng thể hiện mối quan tâm rõ ràng. Kết hợp với thị trường game di động giàu
tiềm năng, thể loại game NFT đã lôi kéo được một số lượng rất lớn người chơi mới
mỗi ngày.

Figure 1: Game NTF Axie Infinity

10



Figure 2: Gameplay của Axie Infinity

Đây cũng là cơ hội để thỏa mãn niềm đam mê cháy bỏng của chúng em đối với
dòng game turn-based, địa phận của những chiến thuật tinh vi và khơn lường. Turnbased game khơng địi hỏi những kỹ năng điêu luyện, cần thời gian dài luyện tập, mà
cần sự am hiểu và vận dụng vốn liếng đã thu nạp được của game thủ. Chính vì thế,
những người chơi mới khơng q khó để kiếm được vị thế của bản thân trong cộng
đồng. Axie Infinity và Gods Unchained là những thành cơng điển hình.
Đến với mơn học này, được sự cho phép của giảng viên hướng dẫn – thầy Lê
Thanh Trọng, nhóm chúng em lựa chọn thực hiện đề tài “Tìm hiểu Blockchain và xây
dựng mobile RPG turn-based game thu thập vật phẩm NFT”.

1.3. Mục tiêu
• Tìm hiểu tổng quan về kiến trúc của Unity và phương pháp xây dựng các ứng
dụng trong Unity.
• Tích lũy kiến thức, kinh nghiệm đối với những công nghệ bổ trợ đã được sử
dụng trong đồ án.
• Hình dung sơ bộ về thế mạnh và hạn chế khi áp dụng cơng nghệ NFT vào lĩnh
vực game.
• Luyện tập khả năng phân tích, thiết kế cấu trúc dễ mở rộng.
11


1.4. Phạm vi
Đề tài chủ yếu tập trung xây dựng hồn thiện những gameplay cơ bản của dịng
game turn-based. Bên cạnh đó, nhóm chúng em sẽ thử nghiệm một vài cơ chế đặc
biệt. Để đảm bảo trải nghiệm công bằng giữa mọi người chơi, yếu tố cân bằng game
cũng sẽ được chúng em xem xét.
Đồ họa cũng là một khía cạnh quan trọng, quyết định độ thu hút của một tựa
game. Tuy nhiên, vì nhận thức được giới hạn kiến thức, kỹ thuật về thiết kế đồ họa,

nhóm em tự đặt yêu cầu về giao diện ở mức độ thân thiện với người chơi.

12


Chương 2. TỔNG QUAN CÔNG NGHỆ
2.1. Unity

Figure 3: Game Engine Unity

Unity là game engine hồn tồn miễn phí mạnh mẽ với lượng công cụ đa dạng,
đáp ứng gần như đầy đủ nhu cầu phát triển hoàn chỉnh một tựa game của các studio
indie. Unity hiện nay còn hỗ trợ triển khai lên đến 27 nền tảng khác nhau, trong đó có
cả nền tảng mục tiêu của nhóm là Android và iOS. Đặc biệt, những công cụ xây dựng
game 2D của Unity rất nổi trội khi so sánh với những engine khác như Unreal. Ngoài
ra, nguồn tài nguyên asset và plugin phong phú, bao gồm cả miễn phí lẫn có phí, giúp
nới rộng giới hạn sáng tạo.

13


Figure 4: Giao diện cơ bản của Unity

Một khía cạnh khác khơng thể khơng nhắc đến, đó chính là cộng đồng người dùng
đông đảo. Cộng đồng hoạt động sôi nổi và sẵn sàng hỗ trợ lẫn nhau. Số lượng bài viết,
video hướng dẫn đồ sộ và đủ chi tiết, đáp ứng được nhu cầu tham khảo của nhóm.

2.2. NFT
Token khơng thể thay thế (NFT) là một loại token mã hóa trên một blockchain đại
diện cho một tài sản độc nhất. Trong thế giới game, NFT đại diện cho loại tài sản kỹ

thuật số có khả năng sở hữu và trao đổi với các người chơi khác. Điều đó kích thích
nhu cầu sưu tầm và kiếm tiền trong quá trình chơi game của game thủ. Trong đồ án
này, NFT sẽ tồn tại dưới dạng các nhân vật, được người chơi sử dụng để chiến đấu với
nhau.
Nhóm em đã quyết định phát triển game NFT trên nền tảng blockchain Ethereum.
Các NFT này sẽ được truy xuất từ crypto wallet, mà bất kì người chơi khác đều có thể
xem được số lượng NFT mà người chơi đó sở hũu và giá trị hiện tại của những NFT
đó. Người chơi bn bán các NFT với nhau và quy đổi thành tiền mặt thông qua một
hệ thống được gọi là marketplace. Để phục vụ mục đích demo, chúng em đã lựa chọn
và kết nối marketplace OpenSea với crypto wallet MetaMask của các thành viên trong
nhóm.
14


Figure 5: Nền tảng blockchain Ethereum

Figure 6: Ví tiền điện tử MetaMask

15


Figure 7: NFT Marketplace OpenSea

Figure 8: Giao diện bộ sưu tập NFT trên marketplace OpenSea

16


Figure 9: Thông tin chi tiết của một NFT (1)


Figure 10: Thông tin chi tiết của một NFT (2)

2.3. ChainSafe

17


Figure 11: ChainSafe SDK

ChainSafe là SDK miễn phí làm cầu nối giữa dự án game với công nghệ
blockchain, giúp tạo ra những NFT trong game. ChainSafe hỗ trợ những tính năng cơ
bản, thiết yếu cho bất kỳ dự án game NFT nào:
• Tương thích với Ethereum, Binance Smart Chain, Polygon, Avalanche,
Moonbeam, xDAI, Harmony và nhiều EVM khác.
• Tương thích với mainnet, ropsten, kovan, rinkeby, goerli.
• Cho phép lấy số dư từ bất kỳ tài khoản nào.
• Gửi Ethereum, BSC, Polygon hoặc bất kỳ token nào vào bất kỳ tài khoản
nào.
• Kết nối với bất kỳ hợp đồng token NFT nào: ERC721, ERC1155, ERC20.

2.4. Mirror Networking

Figure 12: Mirror Netwworking

18


Mirror là thư viện cấp cao cho Unity Networking, được tối ưu hóa để dễ sử dụng
và xây dựng những game đa người chơi.
• Tương thích với những transport bậc thấp

• Phát triển thư viện các Script Template, giúp việc học và code dễ dàng hơn.
• Gọi thực hiện Procedure từ xa và điều khiển ngữ cảnh thơng qua Attribute.
• Hàng tá Component được tích hợp sẵn.

19


Chương 3. THIẾT KẾ GAME
3.1. Tổng quan
3.1.1. Tên game

Colossal – Kẻ khổng lồ
3.1.2. Thể loại

Colossal thuộc thể loại Chiến thuật Theo lượt, đề cao tư duy và suy tính hơn là
những phản xạ, hành động tức thì để đạt được chiến thắng. Những người chơi sẽ thay
phiên nhau sử dụng lượt của mình và đưa ra những quyết định sống còn.

3.2. Gameplay
3.2.1. Mục tiêu

Tiêu diệt nhân vật của đối phương bằng cách làm giảm lượng máu của nó về
khơng, thơng qua việc sử dụng những kỹ năng có sẵn mà nhân vật của người chơi sở
hữu.
3.2.2. Tiến trình

Khi đến lượt của mình, người chơi sử dụng các kỹ năng có sẵn (khơng trong thời
gian hồi chiêu). Nếu khơng cịn thực hiện hành động nào, người chơi có thể kết thúc
lượt và nhường lượt điều khiển nhân vật cho đối thủ.


3.3. Cơ chế game
3.3.1. Cơ chế tác động chỉ số

Kỹ năng sẽ tác động (tăng hoặc giảm) lên chỉ số của nhân vật mà người chơi hoặc
đối thủ điều khiển. Các chỉ số này bao gồm:
• HP: Lượng máu của nhân vật.
• ATK: Chỉ số sát thương của nhân vật.
• PRT: Chỉ số phịng thủ của nhân vật.
• TTD: Lượng sát thương mà nhân vật đã nhận vào trong nhiều lượt liên tục.
Chỉ số này sẽ được reset nếu trong một lượt nhân vật khơng cịn bị nhận sát
thương nữa.
20


3.3.2. Cơ chế tính sát thương

Sát thương sẽ được tính theo cơng thức như sau:
𝐷𝑎𝑚𝑎𝑔𝑒 = 𝐴𝑇𝐾 × (100 − 𝑃𝑅𝑇) ÷ 100
3.3.3. Cơ chế hồi chiêu

Mỗi kỹ năng đều có thời gian hồi chiêu được tính theo đơn vị lượt. Tức sau khi sử
dụng một kỹ năng, kỹ năng đó sẽ bị vơ hiệu trong một vài lượt xác định, sau đó người
chơi mới có thể sử dụng tiếp kỹ năng này.
3.3.4. Cơ chế thảy xúc xắc

Kỹ năng của một số nhân vật cần sử dụng xúc xắc. Tùy theo số nút mà xúc xắc
thảy ra sẽ quyết định xem tác dụng của kỹ năng đó là gì.

21



Chương 4. USE CASE
4.1. Use case diagram

Figure 13: Use case diagram

4.2. Danh sách actor

22


Table 1: Danh sách actor

STT

Tên actor

Mô tả

1

Người chơi

Người dùng ứng dụng bình thường

2

Chủ phịng

Người chơi tạo phịng chờ trận


4.3. Danh sách use case
Table 2: Danh sách use case

STT

Tên use case

Mô tả

1

Đăng nhập

Người dùng đăng nhập để chơi game

2

Thoát game

Người dùng tắt ứng dụng game

3

Vào phòng chờ trận

Người chơi vào phòng chờ trận do người chơi
khác tạo sẵn

4


Tạo phòng chờ trận

5

Xem danh sách nhân vật Người chơi xem nhân vật người chơi đã sở
hiện có

Người chơi tạo một phịng chờ trận mới
hữu

Xem danh sách tất cả nhân Người chơi xem tất cả nhân vật của game

6

vật của game
Chọn nhân vật

7

Người chơi chọn nhân vật để điều khiển trong
trận đấu

8

Sẵn sàng vào trận

Người chơi sẵn sàng để bắt đầu trận đấu

9


Bắt đầu trận

Chủ phịng bắt đầu trận đấu

10

Thốt phịng chờ trận

Người chơi thốt khỏi phịng chờ trận

11

Xem chi tiết nhân vật trong Xem thông tin chi tiết của nhân vật trong trận
trận đấu

đấu

12

Sử dụng kỹ năng

Người chơi sử dụng một kỹ năng của nhân vật

13

Kết thúc lượt

Người chơi kết thúc lượt của mình


14

Thốt trận

Người chơi thốt trận đấu đang diễn ra

15

Xem thơng báo kết thúc Người dùng xem thông báo kết quả trận đấu
trận đấu

23


4.4. Đặc tả use case
4.4.1. Use case “Đăng nhập”
Table 3: Đặc tả use case "Đăng nhập"

Mô tả

Người dùng đăng nhập để chơi game

Tác nhân

Người chơi

Luồng chính

1. Mở game.
2. Nhập tên để đặt tên ingame.

3. Bấm button “Play”.

Luồng thay thế

Nếu textbox “tên người chơi” bị bỏ trống, hiển thị thông báo
yêu cầu người chơi nhập tên trong textbox.

Điều kiện kích hoạt

Khơng.

Điều kiện cần

Textbox “tên người chơi” đã được điền.

Kết quả

Mở giao diện “Bảng chọn chính”.

4.4.2. Use case “Thốt game”
Table 4: Đặc tả use case "Thốt game"

Mơ tả

Người dùng tắt ứng dụng game

Tác nhân

Người chơi


Luồng chính

1. Bấm button “Quit”.

Luồng thay thế

Khơng.

Điều kiện kích hoạt

Khơng.

Điều kiện cần

Khơng.

Kết quả

Ứng dụng game được đóng.

4.4.3. Use case “Vào phòng chờ trận”
Table 5: Đặc tả use case "Vào phịng chờ trận"

Mơ tả

Người chơi vào phịng chờ trận do người chơi khác tạo sẵn

Tác nhân

Người chơi


Luồng chính
24

1. Bấm button “Arena”.


2. Bấm button “Join Match”.
Luồng thay thế

Hiển thị thông báo nếu khơng có phịng chờ được tạo sẵn.

Điều kiện kích hoạt

Khơng.

Điều kiện cần

Người chơi khác đã tạo sẵn phịng chờ.

Kết quả

Mở giao diện “Sảnh chờ” có 1 người chơi đã ở trong phòng
chờ trận.

4.4.4. Use case “Tạo phòng chờ trận”
Table 6: Đặc tả use case "Tạo phịng chờ trận"

Mơ tả


Người chơi tạo một phịng chờ trận mới

Tác nhân

Người chơi

Luồng chính

1. Bấm button “Arena”.
2. Bấm button “Create Match”.

Luồng thay thế

Không.

Điều kiện kích hoạt

Khơng.

Điều kiện cần

Khơng.

Kết quả

Mở giao diện “Sảnh chờ” chỉ có bản thân đang ở trong phịng
chờ trận.

4.4.5. Use case “Chọn nhân vật”
Table 7: Đặc tả use case "Chọn nhân vật"


Mô tả

Người chơi chọn nhân vật để điều khiển trong trận đấu

Tác nhân

Người chơi

Luồng chính

1. Bấm button “Select Character”.
2. Bấm button Left Arrow để chọn nhân vật liền kề trước
nhân vật đang được chọn. Hoặc, bấm button Right
Arrow để chọn nhân vật liền kề sau nhân vật đang
được chọn.
3. Bấm button “Confirm”.

Luồng thay thế

Nếu khơng có nhân vật trước hoặc nhân vật sau (đầu danh
sách/cuối danh sách), hiển thị sprite “nhân vật rỗng”.

25


×