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

Báo cáo thực tập phát triển GAME thủ thành ONLINE với COCOS2D JS và JAVA

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 (448.77 KB, 20 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP

PHÁT TRIỂN GAME THỦ THÀNH ONLINE VỚI
COCOS2D-JS VÀ JAVA

Công ty thực tập

: Công Ty Cổ Phần VNG

Người phụ trách

: Đặng Thanh Tùng

Thực tập sinh

: Nguyễn Lê Bách

MSSV

: 18520480

TP. Hồ Chí Minh, tháng 8 năm 2021


LỜI MỞ ĐẦU
Ngày nay, ngành công nghiệp game là một bộ phận không thể thiếu của ngành
công nghiệp phần mềm. Với tốc độ phát triển vô cùng mạnh mẽ, ngành game đã và đang
là nhân tố kích thích sự phát triển của công nghệ thông tin thế giới, cả về phần cứng và


phần mềm.
Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ.
Ngành công nghiệp game non trẻ Việt Nam đã và đang phát triển mạnh mẽ, để hịa nhập
với những cơng ty hàng đầu về game trên thế giới. Bên cạnh những công ty game trẻ tuổi
trong nước, những công ty game lớn trên thế giới cũng gia nhập vào thị trường Việt Nam,
góp phần rất lớn vào sự phát triển tích cực của ngành game Việt. Trong đó, khơng thể
khơng kể đến VNG, cùng với ZingPlay Studios, một kỳ lân công nghệ hàng đầu tại Việt
Nam với nhiều sản phẩm game huyền thoại đi vào tuổi thơ của rất nhiều người ở mọi lứa
tuổi.
Ngành game được sinh ra là do nhu cầu giải trí của giới trẻ bằng những thiết bị
cơng nghệ mới nhất. Và cũng chính giới trẻ sẽ là nguồn nhân lực quan trọng cho việc
phát triển của ngành game sau này. Vì lý do này, em quyết định chọn phát triển game làm
định hướng cho việc học tập của mình.
Sau ba năm học tập trên trường, em đã học được các quy trình phát triển phần
mềm và ứng dụng nói chung và cả kiến thức về lập trình game nói riêng. Do đó, cùng với
niềm đam mê lĩnh vực game, em mong muốn có thêm kinh nghiệm thực tế, cũng như
muốn được tham gia làm game trong một môi trường chuyên nghiệp. Vì vậy, em quyết
định chọn VNG hay ZingPlay Studios (ZPS) thơng qua chương trình VNG Tech Fresher.
Em tin tưởng rằng VNG và ZPS sẽ là một môi trường lý tưởng để em học hỏi và nâng
cao khả năng của mình trong lĩnh vực phát triển game.

1


LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty cổ phần VNG và ZingPlay Studios đã tạo điều
kiện cho em có cơ hội được thực tập tại cơng ty.
Trong vịng 3 tháng thực tập tại ZPS với vị trí Fresher Game Developer, nhóm
thực tập trong đó có em đã học được rất nhiều kiến thức quý giá từ các kỹ năng mềm đến
kiến thức chuyên ngành của phát triển game. Để từ đó có thể triển khai được một game di

động online nhiều người chơi trên android với đầy đủ các tính năng như một dự án thực
tế. Để đạt được thành quả đó, khơng thể khơng kể đến công sức của tất cả các anh chị
mentor và trainer đã tổ chức các buổi master class với nhiều chuyên đề để bổ túc và mở
rộng kiến thức cho chúng em. Và cũng không thể quên cảm ơn các bạn đồng đội đã luôn
sát cánh và cùng nhau học hỏi, thực hiện dự án này đến cuối khoá và mang lại kết quả
bảo vệ đạt kỳ vọng.
Đặc biệt cảm ơn anh Đặng Thanh Tùng đã là người lên kế hoạch cho mọi thứ
trong khố training này, ln sẵn sàng hỗ trợ và giải đáp cho các bạn fresher một cách
nhanh chóng và chính xác. Cảm ơn anh Nguyễn Minh Tuấn đã giúp chúng em về việc
quản lý dự án và ước lượng thời gian. Cảm ơn anh Lê Minh Trung và Nguyễn Anh Tuấn
đã hỗ trợ chúng em ở phía Client và kiến trúc codebase. Cảm ơn anh Nguyễn Minh Nhựt
là một người mentor gần gũi và thân thiện, giải đáp mọi thắc mắc của chúng em về phía
Server.
Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ,
tạo điều kiện em làm bài báo cáo này.
Nguyễn Lê Bách
TP. Hồ Chí Minh, ngày 30 tháng 8 năm 2021

2


NHẬN XÉT CỦA KHOA

3


MỤC LỤC
Chương 1. Giới thiệu công ty thực tập

5


1.1. Giới thiệu Công Ty Cổ Phần VNG

5

1.2. Giới thiệu ZingPlay Studios

5

Chương 2. Nội dung thực tập

7

2.1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty

7

2.2. Nghiên cứu kỹ thuật

7

2.2.1. Công cụ làm việc

7

2.2.2. Chuỗi training về lĩnh vực phát triển game

8

2.2.3. Chuỗi training kỹ năng mềm


10

2.2.4. Bài tập lớn: Phân tích thiết kế UML cho game Thời Loạn Mobile

10

2.2.5. Bài tập nhóm: Phân tích thiết kế UML cho project game cuối khoá

11

2.3. Hiện thực project game cuối khoá

11

2.4. Lịch làm việc

11

Chương 3. Chi tiết về Project
3.1. Giới thiệu game

16
16

3.1.1. Luật chơi chính

16

3.1.2. Mơ tả các thành phần trong game


16

3.2. Thực hiện

17

3.3. Kế hoạch thực hiện

18

4


Chương 1. Giới thiệu công ty thực tập
1.1. Giới thiệu Công Ty Cổ Phần VNG

Thành lập từ năm 2004 đến nay, VNG đã trải qua 14 năm phát triển và mở rộng để
trở thành một trong những công ty Internet và Công nghệ hàng đầu Việt Nam và Đông
Nam Á, với hơn 3200 thành viên.
Các lĩnh vực hoạt động của VNG tập trung vào 4 nhóm sản phẩm chủ lực, mang
đến cho người dùng những trải nghiệm phong phú và đơn giản hơn:
● Trò chơi trực tuyến
● Nền tảng kết nối
● Thanh tốn tài chính
● Dịch vụ đám mây
Trong đó, trị chơi trực tuyến của VNG gồm 2 mảng chính là:
● Phát triển, sản xuất trò chơi trực tuyến và phát hành ra nhiều thị trường khác nhau
như: Khu vườn trên mây, Dead Target, …
● Nhập khẩu và phát hành trò chơi: Võ Lâm Truyền Kỳ, Crossfire Lengends, …


1.2. Giới thiệu ZingPlay Studios
ZingPlay là đội ngũ sản xuất và phát triển trò chơi trực tuyến hàng đầu tại Việt
Nam trực thuộc Công ty cổ phần VNG, được thành lập từ năm 2008. Với xuất phát điểm
chỉ vài minigame đơn giản, đến năm 2019 ZingPlay đã cho ra mắt và vận hành hơn 34

5


tựa game thuộc mọi thể loại và thị trường, để từng bước thực hiện ước mơ “mang game
Việt đến với thế giới”. ZingPlay là studio game lâu đời nhất tại VNG được thành lập đầu
tiên với tên Game Studio North (GSN) có trụ sở ở Hà Nội với số lượng nhân sự là 20
người. Cho đến hiện nay, ZingPlay đã phát triển với số lượng nhân sự khoảng 500 và trải
dài ở Hà Nội, Đà Nẵng, Hồ Chí Minh và trên khắp 6 quốc gia trên thế giới.
ZingPlay sở hữu hơn 30 đầu game, bao gồm cả những game thành công ở thị
trường Đông Nam Á như Thái Lan, Indonesia,... Các sản phẩm thuộc cổng game
ZingPlay đa dạng về thể loại, phù hợp với tất cả người dùng. ZingPlay cũng là một trong
những studio đầu tiên phát hành những tựa game do chính tay người Việt Nam tạo ra và
mang về thành công rực rỡ.
Một số tựa game đánh dấu sự trưởng thành của ZingPlay:
● Sinh Tử Môn: là những người thuộc thế hệ trước đó chắc chắn sẽ khơng thể
quên tựa game này vì lối chơi thủ thành mang đậm tính chiến thuật.
● ZingPlay: cổng game giải trí số một Việt Nam, với rất nhiều tựa game
● MyPlay: cổng game giải trí với rất nhiều thể loại game bài
● Khu vườn trên mây: một tựa game đi vào tuổi thơ của rất nhiều thế hệ
● Thời loạn: webgame chiến thuật theo phong cách thả quân lính và xây
thành (ra mắt vào 2013)
Đồng thời cho đến hiện nay, khi xu hướng chơi game di động ngày càng phát triển
mạnh, các tựa game của ZingPlay đã được chuyển mình thành phiên bản mobile.


6


Chương 2. Nội dung thực tập
2.1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty
Thời gian: 1 ngày
Nội dung: Giới thiệu về công ty, nơi làm việc của ZingPlay Studios (gọi tắt là ZPS), và
quy định tại công ty.
Được nghe người phụ trách giới thiệu về cơng ty, q trình thành lập và phát triển,
quy trình làm việc từ cao xuống thấp, cách thức tổ chức của công ty. Thành lập team với
các bạn fresher khác và bắt đầu làm quen.
Sau đó, thực tập sinh được giới thiệu về văn hố cơng ty, giờ giấc làm việc cũng
như giải đáp các câu hỏi về sắp xếp thời gian làm việc.
Cuối cùng, thực tập sinh được giới thiệu chỗ ngồi làm việc, cấp thiết bị và hướng
dẫn cài đặt và chuẩn bị cho khóa thực tập.
Kết quả: Hiểu thêm về cơng ty VNG nói chung và ZPS nói riêng, q trình thành lập và
phát triển. Có thêm các kỹ năng về việc sử dụng email trong công việc, làm việc có kế
hoạch, có kỷ luật, có trách nhiệm hơn.

2.2. Nghiên cứu kỹ thuật
2.2.1. Công cụ làm việc
Thời gian: 4 ngày
Nội dung: Tự làm quen với Cocos2DX, một số framework được cung cấp
Thực tập sinh tìm hiểu về game engine Cocos2DX (JS) và ngơn ngữ Javascript từ
đó tự tạo ra một minigame nhỏ bằng game engine này. Đồng thời, làm quen với các mơi
trường lập trình (IDE) Intellij IDEA, công cụ tạo giao diện cho Cocos là Cocos Studio và
memcached dùng để chạy server local. Đồng thời cũng làm quen với Git, công cụ quản lý
phiên bản cho source code.
Ngoài ra, thực tập sinh sẽ được tham gia một master class về Cocos2DX, được
cung cấp project mẫu để dễ dàng thực hành.

Thực hiện:
7


● Sử dụng các công cụ trên để tạo ra một minigame đơn giản tuỳ ý
Kết quả:
● Nắm được cách sử dụng game engine Cocos2DX
● Làm quen với các công cụ được cung cấp
2.2.2. Chuỗi training về lĩnh vực phát triển game
Thời gian: 3 tuần
Nội dung: Training về các kiến thức phục vụ cho việc phát triển game cùng với một số
vai trò khác trong một đội ngũ làm game
Chuỗi training này mang lại nhiều kiến thức về chiều sâu lẫn chiều rộng trong
ngành công nghiệp game. Với các trainer có nhiều kinh nghiệm trong lĩnh vực chun
mơn, trải dài từ lập trình game cho đến art, QC, thiết kế game.
Về kiến thức chun mơn (phát triển game): tìm hiểu về mơ hình Client-Server
trong game online, các mẫu thiết kế (design pattern) và các phong cách code sạch, code
đẹp, cách thiết kế hệ thống từ bản game design sử dụng UML (use case, sơ đồ lớp, và sơ
đồ tuần tự):
● Phía Client: thực tập sinh được train về Cocos2D-JS, các khái niệm trong
Cocos2D như Director, Scene, Node, Layer, Sprite, Animation, Event
Listener, xử lý input, kỹ thuật Object Pooling để tối ưu hiệu suất, các công
cụ để tạo sprite sheet, thiết kế GUI (Cocos Studio).
● Phía Server: các khái niệm về server, giao thức TCP/UDP, gửi nhận gói tin
bằng JSON, Bytebuffer, … và làm quen với framework phía server của
cơng ty cung cấp và ngôn ngữ Java.
● Mẫu thiết kế (design pattern): làm quen với một số mẫu thiết kế phổ biến
được sử dụng trong lập trình game giúp cho việc tổ chức code có hệ thống
và tường mình hơn.
● Phân tích và thiết kế hướng đối tượng (OOAD): cách tiếp cận bản design và

chuyển ngôn ngữ tự nhiên sang mô hình UML để phục vụ cho việc code và
review thiết kế hệ thống.
8


● Clean Code: chủ đề về các phong cách code sạch đẹp, dễ hiểu, cách đặt tên
biến có ý nghĩa, dễ đọc và nắm bắt nội dung.
Về các vai trò khác trong một đội ngũ làm game:
● Game designer (thiết kế game): tìm hiểu về nhiệm vụ của một game
designer, quá trình lên ý tưởng đến bảng game design document và hiện
thực, vận hành game.
● Game artist (hoạ sĩ): tìm hiểu về quá trình một hoạ sĩ vẽ một vật thể trong
game, bao gồm: sketch, dựng 3D model (nếu cần), color và polish.
● QC (quality control): tìm hiểu về các loại lỗi (bug), bao gồm:
○ Block bug: là lỗi nặng nhất, ngăn cản quá trình chạy game
○ Major bug: là lỗi có tính ảnh hưởng cao đến game (sai logic, sai
balance, …)
○ Minor bug: là lỗi không ảnh hưởng quá nhiều, có thể fix để cải thiện
trải nghiệm người dùng
● Sound & effect (âm thanh)
● Marketing: chia sẻ về nghiên cứu các thị trường game các nước trên thế
giới và cách đưa game tiếp cận gần gũi đến người của nước đó.
Thực hiện:
● Tham gia đầy đủ các buổi training của công ty
● Thực hiện các bài thực hành
● Nắm một số quy tắc viết code để từ đó áp dụng vào project
● Có hiểu biết tổng quan về nhiệm vụ của các vai trò khác trong đội ngũ phát triển
game
Kết quả:
● Sử dụng thành thạo Cocos2D-JS, Cocos Studio để tạo ra một minigame thể hiện

thuật tốn tìm đường của quái về trụ
● Áp dụng các quy ước viết code dễ đọc và tường minh

9


2.2.3. Chuỗi training kỹ năng mềm
Nội dung: Kỹ năng giao tiếp, đàm phán và thuyết phục
● Kỹ năng giao tiếp, kỹ năng đặt câu hỏi, lắng nghe
● Cách cân bằng cảm xúc
● Cách thương lượng
● Quy tắc 6 chiếc mũ: mỗi chiếc mũ ứng với một màu đại diện cho tính cách khác
nhau. Tuỳ vào từng trường hợp cụ thể, ta sẽ đội lên một chiếc mũ phù hợp
● Kỹ năng thuyết trình chuyên nghiệp: cách xây dựng nội dung, cách bố cục slide,
phong thái thuyết trình
Thực hiện:
● Tham gia các buổi training kỹ năng mềm
● Đóng góp ý kiến và tham gia các hoạt động nhóm do ban tổ chức đề ra
● Luyện tập kỹ năng thuyết trình nhanh về một chủ đề được đưa ra bất kỳ
● Chuẩn bị slide và thuyết trình về chủ đề UI/UX
Kết quả:
● Thực hiện đầy đủ nhiệm vụ được giao
● Bài thuyết trình được đánh giá bố cục và thiết kế slide tốt, nội dung thuyết trình
hữu ích
2.2.4. Bài tập lớn: Phân tích thiết kế UML cho game Thời Loạn Mobile
Nội dung: chơi và trải nghiệm game Thời Loạn Mobile, từ đó phân tích và chỉ ra những
các tính năng có trong game. Đồng thời thiết kế hướng đối tượng bằng UML, bao gồm:
sơ đồ usecase, sơ đồ lớp, sơ đồ tuần tự thể hiện flow của các tính năng.
Thực hiện:
● Chơi game Thời Loạn đạt nhà chính cấp 9

● Làm slide thuyết trình về các tính năng của game
● Phân tích usecase vẽ sơ đồ lớp và sơ đồ tuần tự cho các tính năng
Kết quả:
● Nắm được luật chơi game và các vật phẩm trong game
● Nắm được quy trình phân tích thiết kế UML
10


2.2.5. Bài tập nhóm: Phân tích thiết kế UML cho project game cuối khoá
Nội dung: Từ những kiến thức và kỹ năng về phân tích và thiết kế hướng đối tượng, áp
dụng để phân tích và thiết kế hệ thống cho project game thủ thành được cung cấp trong
bản Game Design Document từ team game designer.
Team game designer sẽ tổ chức một buổi thuyết trình về game design document
cho các freshers và giải đáp các thắc mắc về tài liệu.
Các team fresher sẽ dựa vào bản tài liệu thiết kế game để phân tích và thiết kế
hướng đối tượng bằng UML cho game (chi tiết về project game cuối khoá sẽ được trình
bày ở phần sau).
Team fresher sẽ được các mentor review bản thiết kế hệ thống của mình và cải
thiện, cập nhật phù hợp.
Thực hiện: Tham gia đầy đủ các buổi, phối hợp với các thành viên chung team trong
suốt q trình phân tích thiết kế.
Kết quả: Hồn thành bản thiết kế hướng đối tượng cho đầy đủ các tính năng được tài liệu
thiết kế game mơ tả.

2.3. Hiện thực project game cuối khố
Sau q trình tìm hiểu chun sâu về game engine cũng như các kỹ thuật tối ưu
code và thực hiện bài tập phân tích thiết kế UML cho project cuối khóa. Team fresher dựa
vào bản thiết kế kỹ thuật đã vẽ, bắt đầu quá trình code để hiện thực hố sản phẩm.
Q trình thực hiện project được chia thành 3 build và được thực hiện manual test
bởi team QC của ZingPlay Studios. Chi tiết về các bug qua các build được QC log trên

Jira - bug tracker tool.
Tồn bộ q trình hiện thực project diễn ra trong khoảng 2 tháng.

2.4. Lịch làm việc
Tuần Công việc

Người hướng dẫn

Mức độ hoàn thành

11


1

Tìm hiểu về cơng ty, văn hố Anh Đặng Thanh Tùng

100%

làm việc. Nhận thiết bị và cài Anh Nguyễn Minh Tuấn
đặt một số phần mềm cần

Anh Nguyễn Anh Tuấn

thiết.

Anh Võ Tồn Thuận

Tìm hiểu ngơn ngữ


Anh Nguyễn Trung Hưng

Javascript và Cocos2D-JS,
và các công cụ khác (Intellij
IDEA, Cocos Studio, …).
Tham gia training kỹ năng
chun mơn.
Assignment #1: Ứng dụng
nhanh những gì đã tìm hiểu
để xây dựng minigame đơn
giản.
2

Tham gia training kỹ năng

Anh Đặng Thanh Tùng

chun mơn

Anh Nguyễn Minh Tuấn

Assignment #2: chơi và tìm

Anh Nguyễn Anh Tuấn

hiểu game Thời Loạn

Anh Võ Toàn Thuận

Mobile.


Anh Nguyễn Trung Hưng

Assignment #3: minigame 2,

Anh Phạm Gia Thái

cài đặt thuật tốn tìm đường

Anh Đào Tuấn Linh

100%

cho game thủ thành với
Cocos2D-JS.
3

Tham gia training kỹ năng

Anh Đặng Thanh Tùng

chuyên môn.

Anh Nguyễn Anh Tuấn

Báo cáo assignment #2, #3.

Anh Lê Minh Trung

Tìm hiểu design document


Anh Nguyễn Minh Nhựt

100%

12


của project game cuối khoá.

Anh Phạm Gia Thái

Bắt đầu vẽ UML dựa trên

Anh Đào Tuấn Linh

design document.

4

Tham gia training kỹ năng

Anh Đặng Thanh Tùng

chun mơn.

Anh Nguyễn Anh Tuấn

100%


Review UML.
Tìm hiểu design document.
Triển khai game: Xây dựng
map phía Client
5

Tham gia training kỹ năng

Anh Đặng Thanh Tùng

chun mơn.

Anh Nguyễn Minh Tuấn

Tìm hiểu design document.

Anh Nguyễn Anh Tuấn

Triển khai game: Ghép thuật

Anh Lê Minh Trung

100%

tốn tìm đường vào map.
Review build 1 phase 1.
6

Tham gia training kỹ năng


Anh Đặng Thanh Tùng

chuyên môn.

Anh Nguyễn Minh Tuấn

Tìm hiểu design document.

Anh Nguyễn Anh Tuấn

Triển khai game: xây dựng

Anh Lê Minh Trung

API và logic phía server cho

Anh Nguyễn Minh Nhựt

100%

tính năng Chest & Inventory.
7

Tham gia training kỹ năng

Anh Đặng Thanh Tùng

chun mơn.

Anh Nguyễn Minh Tuấn


Tìm hiểu design document.

Anh Nguyễn Anh Tuấn

Review build 1 phase 2.

Anh Lê Minh Trung

100%

13


8

Gửi build 1 cho QC

Anh Nguyễn Minh Nhựt

Tham gia training kỹ năng

Anh Đặng Thanh Tùng

chun mơn.

Anh Nguyễn Anh Tuấn

100%


Tìm hiểu design document.
Triển khai game: xây dựng
các loại trụ trong game (phía
client), fix bug của build 1
9

Tham gia training kỹ năng

Anh Đặng Thanh Tùng

chun mơn.

Anh Lê Minh Trung

Tìm hiểu design document.

Anh Nguyễn Minh Nhựt

100%

Triển khai game: xây dựng
các loại trụ trong game (phía
server), fix bug build 1
10

11

Tham gia training kỹ năng

Anh Đặng Thanh Tùng


chun mơn.

Anh Nguyễn Minh Tuấn

Tìm hiểu design document.

Anh Nguyễn Anh Tuấn

Review build 2.

Anh Lê Minh Trung

Gửi build 2 cho QC.

Anh Nguyễn Minh Nhựt

Tham gia training kỹ năng

Anh Đặng Thanh Tùng

chun mơn.

Anh Nguyễn Minh Tuấn

Tìm hiểu design document.

Anh Nguyễn Anh Tuấn

Triển khai game: xây dựng


Anh Lê Minh Trung

100%

100%

skill của các trụ (phía client), Anh Nguyễn Minh Nhựt
fix bug build 2.
12

Tham gia training kỹ năng

Anh Đặng Thanh Tùng

100%

14


chun mơn.

Anh Nguyễn Minh Tuấn

Tìm hiểu design document.

Anh Nguyễn Anh Tuấn

Triển khai game: xây dựng


Anh Lê Minh Trung

skill của các trụ (phía

Anh Nguyễn Minh Nhựt

server), fix bug build 2, đồng
bộ client-server.
Review build 3.
Gửi build 3 cho QC.
13

14

Fix bug build 3.

Anh Đặng Thanh Tùng

Đồng bộ client-server.

Anh Nguyễn Minh Tuấn

Chuẩn bị nội dung bảo vệ

Anh Nguyễn Anh Tuấn

cuối khoá.

Anh Lê Minh Trung


Ghép âm thanh cho game.

Anh Nguyễn Minh Nhựt

Bảo vệ project cuối khóa.

100%

100%

15


Chương 3. Chi tiết về Project
3.1. Giới thiệu game
3.1.1. Luật chơi chính
Game thuộc thể loại thủ thành (tower defense) chiến thuật thời gian thực (RTS realtime strategy). Được lấy ý tưởng từ game Sinh Tử Môn thời trước, với các thay đổi để
phù hợp với phiên bản di động. Trong game, người chơi sẽ chọn cho mình một bộ 8 lá bài
ứng với các trụ, phép hoặc quái (tuỳ lối chơi của từng người), để đi chiến đấu với người
chơi khác khi ghép cặp.
Khi vào trận đấu, sân đấu được chia thành 2 vùng, một phe ta, một phe địch. Cả 2
phe sẽ khởi đầu với lượng năng lượng nhất định. Sử dụng các lá bài để thả trụ bảo vệ
thành hoặc phép để giết quái, hoặc dùng thẻ quái để thả lên sân đối phương. Khi quái tấn
công vào nhà chính, nhà chính sẽ bị trừ máu và năng lượng được tăng lên.
Điều kiện kết thúc trận đấu:
● Người chơi nào phá được nhà chính (máu = 0) của đối phương sẽ chiến
thắng
● Nếu hết 20 đợt quái mà hai bên nhà chính chưa hết máu thì người chơi nào
có máu cao hơn sẽ thắng (hồ nếu cả hai bên bằng máu)
3.1.2. Mô tả các thành phần trong game

Thẻ bài
Các thẻ bài được chia thành 3 loại:
● Thẻ trụ: thả ra các trụ gây ảnh hưởng đến quái trên sân, bảo vệ nhà chính
● Thẻ phép: thả phép trực tiếp lên sân nhà hoặc sân đối thủ để diệt qi phía
mình hoặc hỗ trợ qi phía đối thủ (lửa, băng, hồi máu, tăng tốc độ)
● Thẻ quái: thả quái lên sân đối thủ
Trụ bảo vệ
Trụ được đặt lên map để bảo vệ nhà chính khỏi các đợt tấn cơng của qi. Được
chia thành 3 loại chính: trụ tấn cơng, trụ hỗ trợ và trụ gây ảnh hưởng lên quái (làm chậm,
đóng băng).
16


Việc đặt trụ có thể làm thay đổi đường đi của quái ngay cả trong trận đấu và trong
đợt quái tấn công.
Các loại quái
Quái trong trận đấu sẽ được spawn ra theo đợt trong game (quái mặc định) hoặc
được người chơi thả lên sân của nhau bằng thẻ quái.
Có 3 loại quái: quái đi bộ, quái bay, quái độn thổ. Đặc biệt là quái Boss, là quái có
nhiều máu và có một số khả năng đặc biệt, tuy nhiên di chuyển sẽ chậm hơn quái thông
thường.
Các loại phép
Mỗi loại phép có hiệu ứng và cách sử dụng khác nhau tùy vào thiết kế mà phép có
thể được sử dụng trên sân nhà hoặc sân của đối thủ. Có 4 loại phép:
● Phép cầu lửa: sử dụng trên sân nhà, gây sát thương lên quái
● Phép cầu băng: sử dụng trên sân đối thủ, đóng băng trụ của đối thủ
● Phép hồi máu: sử dụng trên sân đối thủ, hồi máu cho quái trên sân đối thủ
● Phép tăng tốc: sử dụng trên sân đối thủ, tăng tốc độ di chuyển cho qi trên
sân đối thủ
Bot

Bot đóng vai trị như một người chơi, bot sẽ được ghép đôi với người chơi trong
trường hợp khơng tìm được người chơi thật. Có 2 loại bot sử dụng 2 chiến thuật khác
nhau: Bot tấn cơng và Bot phịng thủ.

3.2. Thực hiện
4 thành viên của team fresher số 9, bao gồm:
● Nguyễn Lê Bách
● Ngô Minh Ngọc Richard
● Nguyễn Minh Ký
● Trần Thiên Phúc
Cùng với sự hỗ trợ của các anh mentor là anh Nguyễn Tuấn Anh, anh Lê Minh Trung và
anh Nguyễn Minh Nhựt.
17


3.3. Kế hoạch thực hiện
Kế hoạch thực hiện được chia thành 3 build như sau:

Kết quả:
● Hoàn thành hầu hết các tính năng chính, sản phẩm cuối cùng là một game có thể
chơi được với người khác
● Có nghiên cứu cải thiện và làm đẹp các hiệu ứng bắn pháo
● Chủ động responsive cho nhiều tỉ lệ màn hình khác nhau

18


TỔNG KẾT
Như vậy, trong vịng 3 tháng, nhóm đã kịp hoàn thành một game online theo
phong cách thủ thành, chiến thuật thời gian thực. Thành thật mà nói, điều này vượt qua

những gì em mong đợi được học hỏi khi tham gia khóa VNG Tech Fresher ở ZingPlay
Studios, dù rằng game vẫn còn chưa được tối ưu về mặt hiệu suất.
Một lần nữa xin trân trọng cảm ơn VNG và Zing Play Game Studios đã tổ chức
chương trình VNG Tech Fresher để cho em cơ hội được thử sức với vai trị của một
Game Developer ở cả 2 phía client và server. Cảm ơn các thầy cô khoa Công nghệ Phần
mềm đã tạo điều kiện cho em được tham gia thực tập và hoàn thiện báo cáo.

19



×