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

Báo cáo thực tập mobile game developer

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 (5.6 MB, 28 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
Mobile Game Developer

Công ty thực tập:

Công Ty TNHH Athena Studio

Người phụ trách:

anh Phạm Khắc Cảnh

Thực tập sinh:

Phạm Hoài Bảo - 19520406

1


TP. Hồ Chí Minh, tháng 06 năm 2023

LỜI MỞ ĐẦU

Ngày nay, trị chơi di động mang lại nhiều lợi ích khiến chúng trở thành một phần
không thể thiếu trong cuộc sống của giới trẻ. Chúng có thể được sử dụng để giải trí,
tương tác xã hội, học tập, giải quyết vấn đề và sáng tạo. Trong bối cảnh các thiết bị di
động tiếp tục trở nên mạnh mẽ và phổ biến hơn, trò chơi di động sẽ càng trở nên quan
trọng hơn trong cuộc sống của chúng ta. Do đó, phát triển trò chơi di động là một
ngành đang phát triển nhanh chóng. Cùng với đó là nhu cầu nhân lực vơ cùng lớn mới


những lợi ích hấp dẫn.
Phát triển trị chơi di động khá khó khăn bởi vì nó địi hỏi nhiều kỹ năng và kiến thức
ngồi các kiến thức Technical mà cịn địi hỏi phải tìm hiểu và nghiên cứu sâu cũng
như sự hiểu biết về công nghệ Bất chấp sự khó khăn, phát triển trị chơi di động cũng
sẽ là một trải nghiệm rất bổ ích. Nếu bạn thích trị chơi và có kỹ năng phát triển
chúng, chắc chắn phát triển trò chơi di động sẽ là một nghề nghiệp tuyệt vời dành cho
bạn.
Sau những ngày tháng trong môi trường đại học, với mong muốn vận dụng các kiến
thức đã học và có những trải nghiệm trong môi trường thực tiễn, em đã quyết định
ứng tuyển vào Athena Studio – một môi trường lý tưởng và chuyên nghiệp để hiện
thực hóa mong muốn của mình. Em cũng cũng rất vui được làm việc trong quá phát
triển trò chơi, làm việc với một nhóm những người tài năng để đưa trò chơi vào cuộc
sống.

2


LỜI CẢM ƠN

Em xin trân trọng gửi lời cảm ơn Athena Studio đã tạo điều kiện cho em cơ hội được
thực tập tại công ty. Dù trong thời gian ngắn nhưng nhờ sự chỉ dẫn nhiệt tình của anh
Phạm Khắc Cảnh, em đã tiếp thu những kiến thức quan trọng để có thể tham gia một
dự án thực tế.
Chân thành cảm ơn anh Phạm Khắc Cảnh và các anh chị trong team Mainbase đã bỏ
ra nhiều thời gian, công sức để hướng dẫn, hướng dẫn, giúp đỡ em tận tình trong khi
làm quen môi trường mới cũng như trong việc tiếp cận kiến thức cơng nghệ, kỹ năng
lập trình và tư duy sản phẩm để có thể thực hiện tốt dự án cá nhân và dự án thực tế
trong thời gian qua.
Em 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áo cáo này.


TP. HCM, ngày 25 tháng 06 năm
2023

Phạm Hoài Bảo

3


NHẬN XÉT CỦA KHOA
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................

..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
4


MỤC LỤC

LỜI MỞ ĐẦU.................................................................................................................2
LỜI CẢM ƠN.................................................................................................................3
MỤC LỤC...................................................................................................................... 5
CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP..................................................... 6
1.1. Giới thiệu............................................................................................................6

1.2. Sản phẩm công ty............................................................................................... 7
1.3. Lịch làm việc khi thực tập tại cơng ty................................................................ 8
CHƯƠNG 2: NỘI DUNG THỰC TẬP........................................................................10
2.1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty....................................10
2.2. Nghiên cứu kỹ thuật......................................................................................... 10
2.2.1. Tuần 1...................................................................................................... 10
2.2.2. Tuần 2...................................................................................................... 10
2.3. Dự án Tile Home Makeover (Tile Matching).................................................. 10
2.3.1. Công nghệ và kiến trúc hệ thống:............................................................ 10
2.3.2. Mô tả dự án:............................................................................................. 11
2.3.3. Quá trình thực hiện:.........................................................................................11

2.3.4. Kết quả:....................................................................................................14
2.4. Dự án Tile Blast................................................................................................14
2.4.1. Công nghệ và kiến trúc hệ thống:.................................................................... 14
2.3.2. Mơ tả dự án:..................................................................................................... 14
2.3.2. Q trình thực hiện:........................................................................................ 16
2.4. Dự án Magical Survival............................................................................................. 20
2.4.1. Công nghệ và kiến trúc hệ thống:.................................................................... 20
2.4.2. Mô tả dự án...................................................................................................... 20
2.3.2. Quá trình thực hiện:........................................................................................ 20

CHƯƠNG 3: TỔNG KẾT............................................................................................ 25
3.1. Điểm mạnh....................................................................................................... 25
3.2. Điểm yếu.......................................................................................................... 25
3.3. Chuẩn đạt được................................................................................................ 25
TÀI LIỆU THAM KHẢO............................................................................................ 26

5



CHƯƠNG 1: GIỚI THIỆU CƠNG TY THỰC TẬP

1.1. Giới thiệu

Hình 1.1. Logo Athena Studio

Athena Studio là một công ty công nghệ đa quốc gia chuyên cung cấp những
sản phẩm trò chơi di động phục vụ cho người tiêu dùng trên khắp thế giới. Athena tập
trung vào những sản phẩm game thuộc dòng casual - giải đố và tự tạo những nền tảng
marketing trực tuyến
Logo Athena Studio là một mô tả cách điệu của Athena, nữ thần trí tuệ, thủ
cơng và chiến tranh của Hy Lạp. Logo kết hợp mũ bảo hiểm và giáo và chữ "A" trong
thiết kế. Biểu trưng thể hiện cam kết của Athena Studio trong việc tạo ra các trò chơi
di động chất lượng cao thú vị và hấp dẫn. Mũ bảo hiểm tượng trưng cho sự tập trung
của công ty vào sự sáng tạo và đổi mới, trong khi ngọn giáo tượng trưng cho cam kết
của công ty về chất lượng sản phẩm xuất sắc. Chữ "A" đại diện cho tên công ty và
cũng thể hiện mục tiêu của công ty là mang lại niềm vui và sự phấn khích cho người
chơi trên khắp thế giới. Logo là một thiết kế đơn giản nhưng có sức ảnh hưởng, nắm
bắt được bản chất sứ mệnh của Athena Studio và chắc chắn sẽ nổi bật trong thị trường
game di động đơng đúc.
Athena Studio được chính thức thành lập vào tháng 9 năm 2015 có trụ sở đặt
tại thành phố Hồ Chí Minh, Việt Nam, tham gia vào ngành phát triển game toàn cầu
với mục tiêu tạo ra những sản phẩm game chất lượng cao. Cuối năm 2015 đánh dấu
cột mốc 10 triệu giờ chơi của người dùng trên những sản phẩm đã ra mắt.
Năm 2017, lần đầu tiên một sản phẩm của công ty - Woody Puzzle đứng đầu
bảng xếp hạng của Canada và Nhật bản. Với 20 triệu người chơi trên tất cả sản
phẩm đã phát hành.

6



Đầu năm 2019, đạt được mốc 1 tỷ giờ chơi và sản phẩm Woody Battle được
feature toàn cầu trên Google Play Store.
Vào năm 2020, văn phòng của Athena được mở rộng gấp 3 lần, phát hành
nhiều sản phẩm
Vào năm 2021, các trò chơi của Athena sẽ vượt mốc 2 tỷ giờ chơi, liên tục
đứng đầu bảng xếp hạng AppStore tại Nhật Bản, Pháp và Úc. Ngày nay, Athena cũng
là một trong những đối tác lớn của Google, Apple và Facebook. Nó cũng liên tục được
xếp hạng trong số 50 nhà sản xuất trò chơi giải đố hàng đầu tại Mỹ.

Những thành tựu lớn của công ty bao gồm:
● Phát hành hơn 60 tựa game, đạt 2 tỷ lượt tải xuống các trò chơi của họ.
● Nổi bật trên Google Play và App Store.
● Giành được nhiều giải thưởng, trong đó có giải "Game di động hay nhất" tại
Appy Awards.
● Hợp tác với các thương hiệu lớn, chẳng hạn như Disney và Warner Bros.
Athena Studio chính là thành viên thứ 10 của giới khởi nghiệp Việt Nam tham
gia mạng lưới Endeavor tồn cầu. Trước đó, chúng ta đã có Giao Hàng Nhanh, The
Coffee House, Elsa, Trusting Social, Topica, Ecomobi, NextPay, OhmniLabs, Katalon.

1.2. Sản phẩm cơng ty
Woody Block Puzzle Battle: Một trị chơi giải đố ghép khối nhiều người chơi
trong đó người chơi cạnh tranh để loại bỏ các khối của đối thủ. Trò chơi đã được tải
xuống hơn 2 tỷ lần và đã xuất hiện trên Google Play và App Store. Trò chơi cũng là
một cách tuyệt vời để cải thiện khả năng phối hợp tay mắt và phản xạ của bạn. Khi
chơi, bạn sẽ cần nhanh chóng phản ứng với các khối bị rơi và đảm bảo rằng bạn đặt
chúng vào đúng vị trí. Woody Block Puzzle Battle là một trò chơi thú vị và đầy thử
thách dành cho người chơi ở mọi lứa tuổi. Đó là một cách tuyệt vời để kiểm tra chiến
lược và kỹ năng giải quyết vấn đề của bạn, đồng thời cũng có thể rất thú vị khi chơi

với bạn bè hoặc gia đình

Pixel Art: Color Island: Trị chơi tơ màu nghệ thuật pixel nơi người chơi có thể
tạo ra những tác phẩm nghệ thuật pixel của riêng mình. Trị chơi đã được tải xuống
hơn 100 triệu lượt, Trị chơi có nhiều hình ảnh khác nhau cho đến màu sắc, từ động
vật, phong cảnh đến đồ vật. Người chơi có thể chọn từ nhiều màu khác nhau để tơ
màu cho hình ảnh của mình và họ cũng có thể sử dụng các cơng cụ khác nhau để tạo
7


các hiệu ứng khác nhau.Trị chơi cũng có nhiều cấp độ khác nhau, từ dễ đến khó. Điều
này cho phép người chơi ở mọi cấp độ kỹ năng thưởng thức trò chơi. Color Island là
một trò chơi thú vị và thư giãn phù hợp với người chơi ở mọi lứa tuổi. Đó là một cách
tuyệt vời để thể hiện sự sáng tạo của bạn và để thư giãn.

Word Search Duo: Một trị chơi tìm từ dành cho hai người chơi. Người chơi
thay phiên nhau cố gắng tìm các từ trong một lưới các chữ cái. Trị chơi dễ học nhưng
khó thành thạo. Người chơi phải sử dụng vốn từ vựng và kỹ năng giải quyết vấn đề
của mình để tìm ra càng nhiều từ càng tốt. Trị chơi có nhiều từ khác nhau, từ những
từ phổ biến đến những từ khó hiểu hơn. Điều này giữ cho trị chơi đầy thử thách và
thú vị. Người chơi có thể thách thức bạn bè hoặc gia đình của họ trực tuyến. Đây là
một cách tuyệt vời để cạnh tranh với những người khác và xem ai là người chơi tìm
kiếm từ tốt nhất. Người chơi có thể xem cách họ xếp hạng so với những người chơi
khác trên bảng xếp hạng. Đây là một cách tuyệt vời để theo dõi tiến trình của bạn và
xem bạn đang cải thiện như thế nào.

Block Jewel Puzzle: Một trò chơi giải đố ghép 3 trong đó người chơi ghép các
khối cùng màu để xóa chúng khỏi bàn cờ. Trị chơi đã được khen ngợi vì lối chơi đầy
thử thách nhưng bổ ích. Trị chơi có nhiều cấp độ khác nhau, từ dễ đến khó. Điều này
giữ cho trò chơi đầy thử thách và thú vị. Người chơi có thể sử dụng Power-up để giúp

họ xóa nhiều khối hơn. Điều này bổ sung thêm một lớp chiến lược cho trị chơi. Người
chơi có thể xem cách họ xếp chồng lên nhau so với những người chơi khác trên bảng
xếp hạng. Đây là một cách tuyệt vời để theo dõi tiến trình của bạn và xem bạn đang
cải thiện như thế nào.

8


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, cách tổ chức của 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 của cơng ty,
các phịng ban, … Ngồi ra, thực tập sinh cịn được giới thiệu về văn hóa làm việc
trong cơng ty như thời gian đi làm, các quy định, cách sử dụng email trong công việc,
Kết quả: Kết thúc thời gian tìm hiểu, em đã có hiểu được về sơ bộ cách tổ chức nhân
sự của Công ty, giúp bản thân tự định hướng làm việc trong ngành sản xuất game trên
thiết bị di động

2.2. Nghiên cứu kỹ thuật
2.2.1. Công cụ sử dụng:
Thời gian : 1 ngày
Nội dung:
Giới thiệu về một số công cụ được sử dụng trong công ty
○ Jira: là công cụ để quản lý dự án, kiểm soát và theo dõi các vấn đề xảy ra
trong dự án, quản lý tiến độ của các dự án đang thực hiện.

○ Slack: là ứng dụng làm việc giúp team làm việc hiệu quả hơn thông qua sự
tương tác, trao đổi qua khung chat linh hoạt. Slack lại tập trung phát triển

các tính năng giúp việc tương tác nhóm mạnh mẽ, gắn kết. các cuộc hội
thoại dễ được tìm kiếm và theo dõi theo mỗi dự án riêng biệt, các thành viên
9


có thể gọi, trao đổi, chia sẻ dữ liệu, các tệp và kết nối với các ứng dụng khác
do có mở cổng API trên nhiều phần mềm.
○ Confluent: là một nền tảng dựa trên được thiết kế để giúp các doanh nghiệp
xây dựng, vận hành và quản lý các hệ thống dữ liệu phân tán thời gian thực.
Với Confluent, người dùng có thể xử lý, lưu trữ và phân phối dữ liệu từ
nhiều nguồn khác nhau, đồng thời cung cấp khả năng xử lý dữ liệu thời gian
thực và đáp ứng cao. Trong các dự án của công ty, đây là nơi để viết và lưu
trữ các tài liệu về Game Design - là phương thức chính để giao tiếp giữa
game designer và game developer.
Kết quả:
Em đã có hiểu biết về cách sử dụng các công cụ để thực hiện các task cơng
việc. Tao điều kiện cho em có thể giao tiếp hiệu quả hơn trong công việc.
2.2.1. Standard Code
Thời gian : 2 ngày
Nội dung:
Coding standard là một tập hợp các quy tắc và hướng dẫn về cách viết mã trong
một ngơn ngữ lập trình cụ thể. Nó có thể bao gồm các quy tắc về cú pháp, đặt tên
biến, định dạng mã, xử lý lỗi, bảo mật và nhiều yếu tố khác. Mục tiêu của coding
standard là tạo ra mã nguồn dễ đọc, dễ hiểu, dễ bảo trì và dễ mở rộng. Việc tuân thủ
coding standard giúp đảm bảo những thành viên trong dự án có thể làm việc cùng
nhau một cách hiệu quả và giảm thiểu lỗi trong mã nguồn.
Kết quả:
Tham khảo một số dự án của công ty, để có cái nhìn tổng quan hơn về
Standard, giúp cho việc code của bản thân được tốt hơn giúp việc làm việc giữa các
developer được diễn ra suôn sẻ.

2.2.2. Cocos2Dx
Thời gian : 2 tuần
Nội dung:
Tìm hiểu và sử dụng Game Engine Cocos2Dx - Cocos2d-x là một cơng cụ phát
trị chơi 2D mã nguồn mở và miễn phí được viết bằng C++. Đây là một trong những
khung phát triển trò chơi phổ biến nhất trên thế giới và được sử dụng bởi nhiều nhà
phát triển, từ những người có sở thích đến các studio trị chơi chun nghiệp.
Cocos2d-x là một khung đa nền tảng, có nghĩa là các trị chơi được phát triển
với nó có thể chạy trên nhiều nền tảng khác nhau, bao gồm iOS, Android, Windows,
macOS và Linux. Những dự án Cocos2Dx thường là những quảng cáo chơi được để
nhúng vào các ứng dụng.
10


Kết quả:
Giúp em nắm rõ hơn về các logic trong việc phát triển game nói chung và cơng
cụ Cocos nói riêng, cũng như học được cách sử dụng JavaScript/TypeScript vào
những dự án nhỏ:
2.2.2. Unity
Thời gian : 1 tháng
Nội dung:
Tìm hiểu và sử dụng Game Engine Unity - một công cụ trò chơi đa nền tảng
được phát triển bởi Unity Technologies. Nó được sử dụng để tạo các trị chơi 2D và
3D, cũng như các mô phỏng tương tác và các trải nghiệm khác. Unity là một trong
những cơng cụ trị chơi phổ biến nhất trên thế giới và nó được sử dụng bởi nhiều nhà
phát triển, từ những người có sở thích đến các studio trị chơi chun nghiệp.Unity là
Engine chính để phát triển các dự án trong cơng ty Athena. Tham gia vào các dự án
thực tế đang vận hành, cũng như phát triển những dự án mới.
Kết quả:
Giúp em nâng cao hiểu biết hơn về việc quản lý các tài nguyên trong game.

Giải quyết các vấn đề được tốt hơn. Đồng thời học cách sử dụng ngôn ngữ C# trong
việc phát triển các Game bằng Unity.
2.2.2. Kiến trúc MVC và ESC
Thời gian : 2 tuần
Nội dung:
MVC là một mẫu thiết kế phổ biến để phát triển trò chơi vì nó có thể giúp giữ
cho mã có tổ chức và dễ bảo trì. Bằng cách tách dữ liệu, giao diện người dùng và
logic, việc hiểu và sửa đổi mã sẽ dễ dàng hơn.. Unity hỗ trợ MVC thông qua mẫu
Model-View-Presenter (MVP) của nó. MVP là một biến thể của MVC tách chế độ
xem khỏi bộ điều khiển. Chế độ xem chịu trách nhiệm hiển thị dữ liệu, trong khi
người thuyết trình chịu trách nhiệm xử lý đầu vào của người dùng và cập nhật chế độ
xem.
ECS có một số lợi thế so với các kiến trúc phát triển trò chơi truyền thống,
chẳng hạn như lập trình hướng đối tượng (OOP). ECS hiệu quả hơn, có thể mở rộng
và dễ lý giải hơn. Nó cũng phù hợp với các trị chơi có số lượng thực thể lớn, chẳng
hạn như trị chơi chiến lược thời gian thực và trò chơi trực tuyến nhiều người chơi
(MMO).. Unity hỗ trợ ECS thông qua gói Thực thể của nó. Gói Thực thể cung cấp
một tập hợp các lớp và phương thức để tạo và quản lý các thực thể và thành phần. Nó
cũng cung cấp một số hệ thống có thể được sử dụng để xử lý các thực thể và thành
phần.
11


Kết quả: Hiểu được tốt hơn về 2 kiến trúc được sử dụng trong hệ thống công ty. Giúp
cải tiến khả code của bản thân theo kiến trúc cần thiết để đáp ứng nhu cầu phát triển
của các dự án riêng biệt
2.2.2. Playfab
Thời gian : 2 tuần
Nội dung:
PlayFab là một nền tảng dựa trên đám mây cung cấp cho các nhà phát triển trò

chơi một bộ dịch vụ hỗ trợ : đa người chơi, kinh tế trong game, tương tác với người
dùng, phân tích dữ liệu … PlayFab là một dịch vụ được quản lý, có nghĩa là Microsoft
xử lý cơ sở hạ tầng và bảo trì nền tảng. Điều này giải phóng các developer trị chơi để
tập trung vào việc tạo trò chơi.
Kết quả:
Giúp em biết cách tương tác thông qua các API của game đến server. Hiểu rõ
hơn về cách hoạt động của những dự án đang hoạt động, ngồi phát triển các
gameplay cịn phải trú tâm đến quản lý sản phẩm đang hoạt động. Biết cách tạo những
custom API bằng Javascript trên nền tảng của Playfab.
2.2.2. Native
Thời gian : 1 tháng
Nội dung:
Một dự án native trong Unity là một dự án sử dụng mã gốc để bổ sung chức
năng của cơng cụ Unity. Điều này có thể được thực hiện bằng cách viết các plugin gốc
hoặc bằng cách tích hợp với các thư viện gốc.
Tìm hiểu và xử lý những vấn đề gặp phải của Unity sau khi export sang các
project native của Android và IOS. Khắc phục những sự cố gặp phải thường là do các
thư viện khơng có khả năng tương thích trên mọi nền tảng
Kết quả:
Biết được cách xử lý các lỗi xảy ra sau khi export thành những project native,
hiểu được cách code bằng ngôn ngữ Java và Swift ứng với mỗi nền tản

12


2.3. Dự án Tile Home Makeover (Tile Matching)
2.3.1. Công nghệ và kiến trúc hệ thống:







Game Engine: Unity
Nền tảng: iOS, Android
Backend: Microsoft Azure Playfab,
Report tools: Firebase Crashlytic
Kiến trúc: MVC

2.3.2. Mô tả dự án:
Tile Home Makeover (tên gọi khác là Tile Matching) là Game giải đố thuộc
thể loại match-3 kết hợp với yếu tố trang trí nhà ở. Gameplay chính đó là chọn những
ô gỡ những ô vuông trên màn chơi vào thanh bên dưới và xoá bỏ chúng nếu đã chọn
được 3 ô giống nhau.Nhận những phần thưởng từ màn chơi để mua vật phẩm trang trí
những căn phịng. Theme của trò chơi là yếu tố du lịch, người chơi sẽ đến những quốc
gia để mở khóa các background, hình ảnh khối vng, và nội thất cho căn phịng của
họ.

Khi tham gia, dự án đã hoàn thiện hoàn chỉnh những chức năng chính và phát
hành trên Apple Store, Google Play Store.
13


2.3.3. Q trình thực hiện:
Tính năng Shop và In-App-Purchase:
● Dựa vào mô tả của Game Design Document và những sprite vẽ của bộ phận
Game Artist, code hồn chỉnh màn hình Shop cũng như những cửa sổ và item
trong Shop.
● Xử lý dữ liệu được lấy từ Backend thông qua API để load lên những IAP thành
các item trong shop với UI dựa trên những dữ liệu đó.

● Kết nối các Shop Item để gọi về những API mua IAP tương ứng.
● Deploy tính năng và kiểm tra những lỗi phát sinh từ Firebase Crashlytics và
bộ phận QA.
Tính năng Health:
● Xem mơ tả của Game Design Document về tính năng Health - tức số lần chơi
có thể chơi trước khi đợi hồi phục.
● Thêm dữ liệu Health vào thông tin người dùng, cập nhật những sự kiện vào/kết
thúc màn chơi ứng với những yêu cầu về Health của Game Designer
● Lưu những mốc thời gian chơi của người chơi, hồi phục Health khi mở ứng
dụng dựa vào mốc thời gian đã lưu (chạy trên thiết bị người chơi mà không
cần backend)
● Thêm dữ liệu Health ở backend để ứng với dữ liệu từ thiết bị người dùng
● Deploy tính năng và kiểm tra những lỗi phát sinh.

Công cụ thiết kế màn chơi:
Những màn chơi được đọc từ những dữ liệu lưu dưới file JSON, những dữ liệu này
được tạo ra bởi Game Designer từ những Google Sheets. Thiết kế công cụ làm màn
chơi với tính năng chính là đặt các ơ vng trong trị chơi vào các vị trí tương ứng
ngay trên chính Unity và có thể xuất dữ liệu đó thành file JSON để lưu lại dữ liệu
màn chơi
● Dựa vào những thông tin màn chơi và cách đọc màn chơi đã có, tạo ra cơng cụ
để xuất dữ liệu từ những thao tác trên màn hình
● Hiển thị thơng tin đã lưu thành những ô vuông tương tự như trong màn chơi.
Lưu những dữ liệu này vào bộ nhớ tạm, cập nhật dữ liệu đó vào file khi thực
hiện lưu dữ liệu

14


● Kiểm tra dữ liệu màn chơi: kiểm dữ liệu màn chơi có hợp lệ, và thơng báo các

loại dữ liệu để những GD đang thiết kế màn chơi dễ chỉnh sửa.
● Preview hình ảnh và thơng tin màn chơi ở màn hình chọn màn chơi để chỉnh
sửa

● Play Test màn chơi dựa vào những logic đã sẵn từ luồng game chính và loại bỏ
những thơng tin khơng cần thiết như dữ liệu người dùng để tạo màn hình chơi
thử

15


2.3.4. Kết quả:

2.4. Dự án Tile Blast
2.4.1. Công nghệ và kiến trúc hệ thống:





Game Engine: Unity
Nền tảng: Android
Backend: Microsoft Azure Playfab
Kiến trúc: MVC

2.3.2. Mô tả dự án:
Dự án Tile Blast là game giải đố thuộc thể loại Match-3 với điểm mới là những khối
vng để chọn có những chức năng đặc biệt, hoạt động khác với khối bình thường,
vd: khối băng không chọn được như khối thường, lớp băng chỉ mất đi khi có khối bên
cạnh đã được chọn. Điều kiện thắng của mỗi màn chơi là khác nhau có thể là thu thập

một loại khối vuông, hoạt phá hết trong một khoảng thời gian cụ thể.

16


Dự án này được phát triển dựa vào source code core gameplay của dự án Tile Home
Makeover. Những tính năng mới sẽ được thêm vào những file mới là partial class của
những class trong game cũ, và hạn chế thay đổi logic từ source code cũ. Những file
mới cũng sẽ được lưu ở thư mục tách biệt với source code cũ

17


2.3.2. Quá trình thực hiện:
Tạo Dự án từ Source Code cũ:
● Thiết lập backend PlayFab để lưu dữ liệu cơ bản của người chơi tương ứng.
● Chỉ sao chép phần Core - gameplay match-3 của dự án Tile Home Makeover,
loại bỏ đi những phần không hoặc chưa cần thiết (Trang trí phịng ở, Economy,
Shop, Mission, Firebase, Ads,..), thay đổi kết nối với Backend để giao tiếp với
PlayFab mới.
● Thay đổi cấu trúc dữ liệu màn chơi để xử lý những khối vuông chức năng cần
lưu nhiều dữ liệu hơn
● Thay đổi luồng hoạt động của ứng dụng để game chỉ chạy những tính năng
chính. Đảm bảo phần gameplay match-3 vẫn hoạt động bình thường.
● Thay đổi một số Logic để phù hợp với cách hoạt động của gameplay mới
Tính năng các khối đặc biệt:
● Làm việc với Game Designer để thống nhất trong cách hoạt động của các khối
đặc biệt
● Code những logic các khối đặc biệt, nhận các file sprite từ bộ phận game Logic
để xử lý việc hiển thị khác biệt của các khối này.

● Thêm dữ liệu lưu trữ để đáp ứng các khối đặc biệt (khối có nhiều state, có thể
có kích cỡ lớn hơn bình thường)
18


● Build project với và nhận Feedback từ Game Designer. Chỉnh sửa các logic
cũng như cách hiển thị phù hợp với mong muốn của GD.
● Nhận những khối đặc biệt mới và lặp lại công việc.

Công cụ thiết kế Level:
● Sao chép Công cụ tạo màn chơi của dự án Tile Home Makeover, thay đổi cách
lưu dữ liệu để phù hợp với dữ liệu màn chơi đã thay đổi

19


● Thay đổi Thông báo kiểm tra dữ liệu màn chơi cho tương ứng với dự án này.
thay đổi logic thông báo để đáp ứng với dữ liệu khác.
● Nhận những yêu cầu của Game Designer để thêm những tính nay mới cho
Công cụ thiết kế (Ẩn một số khối, Di chuyển các khối khi bị ẩn, Auto zoom,
kích cỡ khối vng)

● Cập nhật tính năng play test tương ứng với dữ liệu các khối đặc biệt

20


● Nhận feedback về tính năng của cơng cụ từ Game Designer và chỉnh sửa cho
phù hợp
● Update một số tính năng mới của Tile Blast sang dự án cũ Tile Home

Makeover.
Xử lý Native Android:
● Sửa các lỗi thư viện không hoạt động/ sai phiên bản khi build trên Android
● Sửa các UI không hoạt động như mong muốn trên Android.
● Thay đổi kích cỡ các file ảnh để hiển thị tốt nhất trên Android và ít tốn tài
nguyên nhất
● Chỉ sao chép phần Core - gameplay match-3 của dự án Tile Home Makeover,
loại bỏ đi những phần không hoặc chưa cần thiết (Trang trí phịng ở, Economy,
Shop, Mission, Firebase, Ads,..), thay đổi kết nối với Backend để giao tiếp với
PlayFab mới.
● Thay đổi cấu trúc dữ liệu màn chơi để xử lý những khối vuông chức năng cần
lưu nhiều dữ liệu hơn
● Thay đổi luồng hoạt động của ứng dụng để game chỉ chạy những tính năng
chính. Đảm bảo phần gameplay match-3 vẫn hoạt động bình thường.
21


● Thay đổi một số Logic để phù hợp với cách hoạt động của gameplay mới

2.4. Dự án Magical Survival
2.4.1. Công nghệ và kiến trúc hệ thống:
● Game Engine: Unity
● Nền tảng: Android
● Kiến trúc: MVC
2.4.2. Mô tả dự án
Dự án Magic Survival là game top-down với yếu tố Rogue-lite, người chơi nâng được
những kỹ năng và nâng cấp chúng trong màn chơi, những kỹ năng này sẽ mất đi mỗi
khi người chơi thua cuộc. Sau mỗi màn chơi người chơi sẽ nhận vàng để nâng cấp vũ
khí của mình để đi xa hơn trong vòng chơi khác nhau. Trò chơi lấy bối cảnh Fantasy
vào vai một phù thuỷ chống chọi với những con quái vật.


2.3.2. Quá trình thực hiện:
Phát triển gameplay bắn đạn:
● Code logic nảy bật tường và bật quái vật của những viên đạn mà không sử
dụng đến vật lý của game engine để tăng perform của game.
● Dùng Asset joystick có sẵn để thiết kế input trò chơi theo 3 tùy chọn của trò
chơi (Cố định, di chuyển được, theo hướng chỉ định)
● Tạo ra cách quản lý đạn hiệu quả và ít tốn tài nguyên
22


● Định hình các thơng tin chỉ số người chơi, áp dụng chúng vào logic bắn đạn.

Tính năng các quái vật:
● Code những loại quái vật có các chỉ số cố định và có thể thay đổi, hiển thị máu,
cách di chuyển cũng như logic khi bị
● Làm việc với Game Designer để quyết định các tính năng của những quái vật
đặc biệt cũng như cách các chơi hoạt động.
● Xử lý các logic quái vật và nhận feedback từ Game Designer.
● Cập nhật hình ảnh quái vật từ file sprite của bộ phận Game Artis.
● Build Project và nhận feedback, sửa các lỗi logic phát sinh.

Tính năng Kỹ năng và Vũ Khí:
● Dựa trên Game Design Document đã bàn bạc với GD, xây dựng các chỉ số Vũ
khí theo từng cấp độ để người chơi nhận được chỉ số đó khi vào màn chơi.
● Xây dựng hệ thống Kỹ năng và nâng cấp mà người chơi có thể nhận được. Xử
lý logic từng kỹ năng đặc biệt

23



● Xử lý việc thay đổi chỉ số tạm thời của người chơi từ chỉ số cơ bản của vũ khí
và chỉ số cộng thêm từ kỹ năng
● Phát triển tính năng Spell book, có khả năng đặc biệt trong một thời gian ngắn
khi nhận được vật phẩm.
● Build Project và nhận feedback từ GD, sửa những lỗi phát sinh.

Tính năng thay đổi chỉ số trong game:
● Làm ra tính năng đọc file JSON để đọc các dữ liệu để biến chúng thành các
thơng số trong trị chơi như chỉ số vũ khí, cấp độ, chỉ số quái vật
24


● Tạo Spreadsheet với các thông tin tưởng ứng để Export thành file Json để đọc
dữ liệu khi vào trò chơi

Tính năng Level Màn chơi:
● Phát triển tính năng spawn quái vật từ ở những vị trí cố định hoặc ngẫu nhiên
với cách hoạt động đã bàn bạc với bộ phận Game Designer.
● Tạo Spreadsheet màn chơi và cách đọc tương tự như đọc dữ liệu các chỉ số màn
chơi
● Hiển thị các màn hình nhận Skill tương ứng với thiết kế của màn chơi
● Xây dựng những pop-up UI tạm thời để vào và chơi màn chơi một cách đầy đủ
● Build dự án và nhận Feedback từ Game Designer, sửa những lỗi phát sinh.

25


×