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

BÁO CÁO THỰC TẬP LẬP TRÌNH GAME UNITY3D TRÊN ANDROID

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 MB, 22 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

LẬP TRÌNH GAME UNITY3D TRÊN
ANDROID

Cơng ty thực tập

: Công ty TNHH Gameloft Vietnam

Người phụ trách

: Nguyễn Hữu Hậu

Thực tập sinh

: Lê Trường Long Hưng

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


2

LỜI MỞ ĐẦU
Ngày nay, ngành công nghiệp game là một phần không thể thiếu của công nghiệp
phần mềm. Từ một ngành chỉ được coi là thú vui vô bổ, ngành game đã và đang phát
triển rất mạnh mẽ, mang lại khơng những giải trí cho nhiều người khắp thế giới mà cịn
thúc đẩy sự hiện diện của nhiều cơng nghệ tân tiến như công nghệ đồ họa hay thực tế ảo.
Không những thế, trong những năm trở lại đây nhiều sự kiện thể thao trên thế giới đã


công nhận, và cho phép thi đấu, các môn thể thao điện tử, với nền tảng là những game
chiến lược đấu tổ đội. Có thể thấy là ngành cơng nghiệp game sẽ khơng ngừng phát triển
và sẽ tiếp túc ảnh hưởng thế giới chúng ta ngày qua ngày.
Trong q trình tồn cầu hóa, nước Việt Nam chúng ta cũng đã và đang tiếp thu
nhiều phát triển cơng nghệ, trong đó có ngành cơng nghiệp game. Bên cạnh những công
ty trẻ trong nước nhu VNG, một số công ty lớn cũng đã đầu tư vào giúp ngành công
nghiệp game của Việt Nam phát triển; điển hình nhất là Gameloft.
Vốn thích chơi game từ nhỏ, em ln có ước muốn sau này làm nhà phát triển
game để có thể làm và thiết kế những trị chơi mong muốn của mình. Em cũng nhận thấy
ngành cơng nghiệp game là một ngành có triển vọng nhưng lại ít được để ý và còn khá
non nớt ở Việt Nam. Do mong muốn có kinh nghiệm trong ngành phần mềm, cũng như
trải nghiệm quá trình phát triển game, em quyết định đăng ký thực tập vào đầu học kỳ
này. Em đã chọn tuyển vào Gameloft – một trong những công ty chuyên về game lớn
nhất và thành công nhất hiện nay, đồng thời cũng là một trong những công ty game đầu
tư mở chi nhánh tại Việt Nam.

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


3

LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty Gameloft Việt Nam đã tạo cơ hội cho em được
thực tập tại công ty.
Chỉ trong thời gian ngắn, nhưng nhờ sự hướng dẫn nhiệt tình của đội, em đã tiếp
thu được những kiến thức quan trọng để có thể làm được một game 3D. Chân thành cảm
ơn các anh trong đội đã bỏ thời gian công sức để hướng dẫn em hoàn thành đợt thực tập
này.

Đặc biệt cảm ơn anh Nguyễn Hữu Hậu đã hướng dẫn, giúp đỡ cho em và giúp
cung cấp, dạy sử dụng những công cụ cần thiết từ xây dựng và phát triển đến quản lý và
tối ưu hóa sản phẩm; cảm ơn anh Nguyễn Vinh Tường và anh Timothy Dia đã hướng dẫn
em cách viết báo cáo và tài liệu tham khảo của dự án, cũng như cho em biết về cấu trúc
và cách thức làm việc của một đội trong AGILE.
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 cho em làm bài báo cáo này.
Lê Trường Long Hưng
TP. Hồ Chí Minh, tháng 6/2022

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


4

NHẬN XÉT CỦA KHOA

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

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

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


5

Mục lục
Chương 1: Giới thiêu công ty thực tập .............................................................................6
1. Giới thiệu công ty Gameloft .....................................................................................6
2. Sản phẩm của công ty ...............................................................................................6
Chương 2: Nội dung thực tập ...........................................................................................7
Chương 3: Chi tiết các project đã tham gia ..................................................................... 12
1. Giới thiệu Applaydu & Friends .............................................................................. 12
2. Tối ưu hóa hiệu suất hoạt động của A&F ............................................................... 14
3. Minigame: Tìm đường............................................................................................ 16
4. Chế độ sáng tạo: Lưu và tải bản đồ ......................................................................... 19
TỔNG KẾT ................................................................................................................... 21
CÁC LINK THAM KHẢO ............................................................................................ 22

Nguyễn Hữu Hậu


Lê Trường Long Hưng – 18520284


6

Chương 1: Giới thiêu công ty thực tập

1. Giới thiệu công ty Gameloft
Gameloft SE là một công ty phát hành game của Pháp, thành lập vào năm 1999
bởi Michel Guillemot, một trong những nhà sáng lập Ubisoft. Gameloft là một công ty
đa quốc gia, quản lý 18 studio trên thế giới, và chủ yếu phát triển game và ứng dụng cho
thị trường dị động. Từ 2016 trở đi, Gameloft là một cơng ty con của tập đồn truyền
thơng Vivendi, một trong những công ty truyền thông lớn nhất ở châu Âu.
2. Sản phẩm của công ty
Như đã nêu trên, Gameloft chủ yếu phát triển game cho nền tảng di động, máy tính
bảng lẫn điện thoại, iOS lẫn Android. Phần lớn những game được phát triển và xuất bản
bởi Gameloft lấy cảm hứng từ những game có sẵn trên nền tảng PC hoặc Console, tạo
cho người chơi một cảm giác như chơi những game đó trên một thiết bị di động cầm tay.
Một số tựa game nổi tiếng nhất của Gameloft có thể kể đến dịng game đua xe Asphalt,
hay các game góc nhìn thứ nhất Brothers in Arms và Modern Combat.
Về mặt thương mại, dịch vụ Gameloft for Brands cung cấp cho các thương hiệu
khả năng kết nối với khách hàng và truyền bá sản phẩm của mình thơng qua game. Với
những hợp đồng thỏa thuận, Gameloft hợp tác với các thương hiệu lớn tạo những trải
nghiệm giúp liên kết thương hiệu với các khách hàng. Nhiều tập đoàn lớn như Disney,
Warner Bros. và LEGO đã trở nên gần gũi với khách hàng hơn nhờ những trò chơi dựa
trên các thương hiệu đấy mà Gameloft đã phát triển.

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284



7

Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình game Unity3D trên Android” nhằm mục đích
giúp sinh viên thực tập được đào tạo toàn diện về cách phát triển game 3D trên nền tảng
Android sử dụng game engine Unity, đồng thời rèn luyện những kỹ năng quan trọng
khác như làm việc nhóm, giao tiếp và quản lý mã nguồn. Tại cơng ty, sinh viên có cơ hội
được học tập, khám phá và làm việc trong môi trường phát triển game chun nghiệp.
1. Tìm hiểu cơng ty và các nội quy quy định
Thời gian: 3 ngày
Nội dung:
 Giới thiệu về công ty, bao gồm lịch sử thành lập, các sản phẩm và thành tích, cơ
cấu tổ chức công ty
 Giởi thiệu về cách thức làm việc trong cơng ty, bao gồm nội quy, quy định, các
chính sách công ty, cách sử dụng các cổng thông tin liên lạc trong công ty, cơ cấu
tổ chức của các đội và dự án
 Ký các văn bản liên quan đến chính sách và nội quy cơng ty
 Hồn thành khóa học online về luật chống tham nhũng Sapin III, định hướng cho
người mới, và chính sách chống quấy rối
Kết quả: Hiểu biết thêm về nguồn gốc, tác phong xử sự và cấu trúc làm việc của
Gameloft SE; học thêm kỹ năng sử dụng e-mail trong công việc, tác phong môi trường
làm việc, cũng như hiểu biết thêm về luật pháp.
2. Giởi thiệu và làm quen với các thành viên trong đội
Thời gian: 1 ngày
Nội dung: Giới thiệu và làm quen với đội Applaydu & Friends, với anh Nguyễn Vinh
Tường và Timothy Dia là producer và anh Nguyễn Hữu Hậu là quản lý nhóm lập trình
viên. Giới thiệu các thành viên trong đội và sản phẩm được đội phát triển.


Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


8
Kết quả: Làm quen được với các thành viên trong đội và sản phẩm, dự án đội đang làm
và phát triển.
3. Nghiên cứu kỹ thuật
3.1 Nghiên cứu các công cụ làm việc
Thời gian: 3 ngày
Nội dung: Giới thiệu thực tập sinh đến những công cụ sẽ được sử dụng xuyên suốt q
trình làm việc, bao gồm:
 Unity: Game engine chính dùng để phát triển sản phẩm
 Confluence: Kho lưu trữ tài liệu liên quan đến quá trình phát triển như hướng dẫn
sử dụng asset, tài liệu thiết kế, …
 Jira: Cơng cụ quản lý cơng việc theo mơ hình AGILE + Công cụ quản lý lỗi và sự
cố phát hiện được
 Gitlab/Sourcetree: Cơng cụ quản lý mã nguồn
Thực hiện: Tìm hiểu và thực hành sử dụng các công cụ trên
Kết quả: Hiểu thấu các sử dụng những công cụ làm việc trong quy trình phát triển sản
phẩm.
3.2 Nghiên cứu cấu trúc sản phẩm
Thời gian: 2 ngày
Nội dung: Nghiên cứu cách sắp xếp và bố trí các tài nguyên trong game và cấu trúc,
phân tầng các đối tượng trong cảnh. Đồng thời giới thiệu thực tập sinh cách sử dụng
Doozy, công cụ vẽ UI được sử dụng trong sản phẩm.
Thực hiện: Quan sát, đọc tài liệu và ghi nhớ cách bố cục đối tượng trong từng cảnh.
Đồng thời tìm hiểu và thực hành cách sử dụng Doozy.
Kết quả: Hiểu rõ cách trình bày và sắp xếp tài nguyên trong dự án, cách bố trí đối tượng

trong cảnh, và cách tạo giao diện riêng của mình bằng Doozy.

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


9
3.3 Tìm hiểu cơng nghệ AR
Thời gian: 7 ngày
Nội dung: Nghiêm cứu các kỹ thuật áp dụng công nghệ thực tế cường hóa (AR) vào
Unity để thiết bị có thể thu cảm xúc của người chơi vào mặt của nhân vật ảo, đồng thời
hiểu cách ứng dụng áp dụng các bộ lọc ảnh để tạo những hiệu ứng bắt mắt.
 AR: trải nghiệm mang tính tương tác của một mơi trường thế giới thực khi các đối
tượng ngoài thế giới thực được cường hóa bởi thơng tin giác quan được tạo bởi
máy tính; là hệ thống kết hợp 3 tính năng cơ bản: kết hợp thế giới thực và ảo,
tương tác thời gian thực, và đại diện chính xác vật thực và ảo trong không gian 3
chiều.
Thực hiện: Tải cảnh ví dụ AR từ GitLab và tự nghiên cứu, sau đó tự thực nghiệm xem
thực tập sinh có thể cải thiện hay thêm tính năng gì mới khơng.
Kết quả: Hiểu được cách dùng thư viện ARFoundation để tích hợp cơng nghệ AR vào
sản phẩm Unity, cách chiếu cảm xúc khuôn mặt vào mặt nhân vật ảo, đồng thời cải thiện
được cảnh AR một phần (cảnh mặc đình chỉ có đầu nhân vật; thực tập sinh tìm được cách
vẽ thân nhân vật với vật lý ragdoll)
3.4 Tìm hiểu cách tối ưu hóa hiệu suất và tốc độ sản phẩm
Thời gian: ~3 tuần
Nội dung: Nghiên cứu cách sử dụng Mesh Baker để tăng hiệu suất chạy trò chơi bằng
cách kết hợp các đối tượng trong một cảnh thành một đối tượng duy nhất có thể vẽ hết
sau một lần gọi hàm vẽ.
 Mesh: Bao gồm nhiều tam giác được sắp xếp trong khơng gian 3D để tạo hình ảnh

một đối tượng 3D. Một tam giác trong Unity được định nghĩa bởi ba điểm tạo nên
nó, được gọi là vertice.
 Batching: phương pháp tối ưu hóa hàm vẽ được sử dụng bởi Unity, yêu cầu kết
hợp mesh sao cho Unity có thể vẽ chúng sử dụng ít hàm vẽ hơn.
 Thơng thường, một cảnh có càng ít số lần gọi batch, tam giác và vertice sẽ cần ít
hàm vẽ hơn, và vì thế chạy nhanh hơn. Kết hợp nhiều mesh thành một mesh sẽ
Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


10
giảm số lần gọi batch do Unity có thể vẽ những mesh lớn ấy bằng một hàm vẽ, tuy
nhiên những mesh càng lớn lại làm tăng số tam giác và vertice cần phải vẽ ra. Việc
tối ưu hóa vì thế phải kiếm một sự cân bằng giữa số lần gọi batch được giảm và số
tam giác và vertice mới được tạo ra.
Thực hiện: Nghiên cứu cách sử dụng Mesh Baker, sau đó thử nghiệm những cách khác
nhau để kết hợp các đối tượng trong cảnh sao cho hiệu suất đạt mức tối ưu nhất. Ngoài
ra, thực tập sinh được yêu cầu viết tài liệu hướng dẫn sử dụng lên Confluence để giúp
các thành viên cịn lại trong đội cũng có thể thực hiện cơng việc tối ưu hóa sản phẩm.
Kết quả: Hiểu được cấu trúc các đối tượng trong cảnh và cách tổ chức đối tượng sao cho
gọn gang nhất, hiểu được một số khái niệm cơ bản liên quan đển đồ họa trong lập trình
game 3D (i.e. Mesh), hiểu được cách debug hiệu suất hoạt động của sản phẩm và tầm
quan trong của việc tối ưu hóa sản phẩm, hiểu được cách viết tài liệu hướng dẫn cho tập
thể tổ chức.
4. Thực hiện project
Sau một tháng được luyện tập và thực hành, thực tập sinh đã nắm được những kiến
thức cơ bản về sử dụng Unity và các công cụ phát triển khác như Jira, Sourcetree, cũng
với những công nghệ quan trọng như ARFoundation và Doozy UI. Từ tháng thứ 2 trở đi,
thực tập sinh bắt đầu được giao task trong từng sprint, tham gia vào phát triển nhiều khía

cạnh khác nhau của ứng dụng.
5. Lịch làm việc

Tuần

Cơng việc
-

1

-

-

Nguyễn Hữu Hậu

Tìm hiểu về cơng
ty, cách tổ chức của
cơng ty, tác phong,
nội quy làm việc
Làm quen với các
thành viên trong đội
và sản phẩm được
phát triển
Làm quen với các

Người hướng dẫn

Mức
độ

hoàn
thành

Nhận xét của người
hướng dẫn

Chị Nguyễn Hoàng
Anh
Anh Nguyễn Hữu
Hậu
Anh Nguyễn Vinh
Tường
Anh Timothy Dia

Lê Trường Long Hưng – 18520284


11

1

-

2

-

-

3-5

-

Từ tuần 5

Nguyễn Hữu Hậu

công cụ làm việc
trong công ty.
Học cách trao đổi,
làm việc qua email.
Nghiên cứu các
công cụ làm việc
Nghiên cứu cấu trúc
sản phẩm
Tìm hiểu cơng
nghệ AR
Thực hành cải thiện
chức năng AR của
sản phẩm
Tìm hiểu kiến thức
cơ bản về đồ họa
3D trong Unity
Tìm hiểu cách sử
dụng Mesh Baker
để tối ưu hóa hiệu
suất trị chơi
Thực hành cách sử
dụng
Confluence
thơng qua viết tài

liệu hướng dẫn sử
dụng Mesh Baker
Thực hiện các task
theo sprint của team

Anh Nguyễn Hữu
Hậu
Anh Nguyễn Vinh
Tường
Anh Timothy Dia
Anh Nguyễn Hữu
Hậu

Anh Nguyễn Hữu
Hậu

Anh Nguyễn Hữu
Hậu
Anh Nguyễn Vinh
Tường
Anh Timothy Dia

Lê Trường Long Hưng – 18520284


12

Chương 3: Chi tiết các project đã tham gia
1. Giới thiệu Applaydu & Friends
Applaydu & Friends(A&F) là thành quả của sự đối tác giữa Gameloft và thương

hiệu bánh kẹo Ferrero SpA thông qua dịch vụ Gameloft for Brands nhằm truyền bá cho
khách hàng dòng sản phẩm trứng đồ chơi Kinder Surprise của Ferrero.
Với sứ mệnh tạo một không gian vui chơi an toàn cho trẻ em từ 6 đến 15 tuổi,
đồng thời là bước kế tiếp sau Applaydu cho trẻ em từ 3 đến 5 tuổi, A&F hứa hẹn sẽ tạo
một trải nghiệm tuổi thơ hấp dẫn cho con em đi học. A&F không những là một môi
trường cho các bạn trẻ thi đua và vui chơi với nhau, nó cịn là một mạng xã hội an tồn,
cho phép trẻ có thể làm bạn và trị chuyện xun ngơn ngữ, hỗ trợ một phịng chat có
phiên dịch ngơn ngữ tự động ở hai bên được kiểm soát chặt chẽ để tránh từ ngữ thô tục,
đồng thời cho phép trẻ thể hiện bản thân và cá tính của mình thơng qua một hệ thống tùy
biến nhân vật với các trang phục và màu sắc khác nhau, và một môi trường cho phép sử
dụng công nghệ AR chiếu mặt trẻ vào nhân vật của mình, kết hợp với các bộ lọc khác
nhau để tạo những clip ngắn hài hước giống như là một sự kết hợp giữa Snapchat và
TikTok. Ngoài những nhân vật cá nhân của mình, người chơi có thể mở khóa nhân vật
đặc biệt bằng cách quét mã QR trên những đồ chơi giấu trong các quả trứng Kinder
Surprise – người chơi được khuyến khích thu thập những nhân vật này và mở khóa trong
trị chơi như Pokémon.
Nổi bật so với các game di động khác trên thị trường là việc A&F khơng có IAP
hay quảng cáo phiền phức trong game trong quá trình chơi. Tất cả các trang phục, màu
sắc, bộ lọc và hiệu ứng đều có thể mua được bằng tiền tệ trong game, vốn chỉ có thể nhận
được thơng qua chơi trị chơi, khơng thể nạp tiền mua được. Sử dụng tiền thật trong A&F
được giới hạn qua mua trứng Kinder Surprise, và chỉ để mở khóa những nhân vật đặc
biệt không thể sử dụng các trang phục hay kiểu tóc được cung cấp bởi game, và vì thế
khơng cần thiết phải có.
Trong tương lai, A&F hứa hẹn sẽ mang thêm sự sáng tạo và tính giáo dục vào sản
phẩm của mình với chế độ chơi Sáng tạo (Creative mode), cho phép trẻ tự tạo bản đồ

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284



13
riêng của mình và sử dụng lập trình trực quan giống Scratch.mit để mở rộng chức năng
của những bản đồ đó.

Chế độ chơi chính của A&F đặt người chơi vào một trường đua với 11 người chơi
khác tranh nhau đến được vạch đích đầu tiên. Sử dụng cần điều khiển (joystick), người
chơi điều động tay đua của mình để vượt mặt các tay đua khác và về đích nhanh nhất,
đồng thời khéo léo điều động bản thân vượt qua những cạm bẫy và chướng ngại vật rải
rác khắp bản đồ. Để hỗ trợ người chơi, các tấm booster đặt trên bản đồ có thể ban cho
những ai kích hoạt nó những sức mạnh khác nhau như tăng tốc hay lá chắn chống
chướng ngại vật, và do các cạm bẫy có khả năng cho một hiệu ứng diện rộng kích hoạt trì
hỗn như hố đen hay bom làm rớt sàn, những người chơi đặc biệt tinh nghịch có thể cố
tình kích hoạt bẫy sao cho các người chơi sau bị mắc bẫy khi hiệu ứng có hiệu lực. Bên
cạnh đó, khắp bản đồ là những đồng xu cho phép người chơi thu thập; số tiền này có thể
dùng để mua trang phục cho nhân vật của mình, hay thêm các bộ lọc và hiệu ứng cho chế
độ AR. Sau cuộc đua, mỗi người chơi sẽ nhận thêm xu dựa trên vị trí cuối cùng mình đạt
được.

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


14
A&F là một trò chơi chơi nhiều người, cho phép trẻ thi đấu với những người chơi
khác qua mạng. Nếu khơng có mạng, người chơi có thể luyện tập offline thông qua chế
độ chơi đơn; khi này người chơi sẽ chơi với máy.

2. Tối ưu hóa hiệu suất hoạt động của A&F

Một trong những phiền muộn phổ biến nhất Gameloft nhận được từ người chơi là
việc A&F rất nặng, gây vấn đề chậm hoạt động, tụt FPS trong những máy cấu hình yếu
hơn.
Để giải quyết vấn đề này, đội sử dụng Mesh Baker, một công cụ từ Unity Asset
Store được sử dụng để tối ưu game thông qua kết hợp đối tượng trong cảnh để hạn chế số
hàm vẽ Unity gọi để vẽ những đối tượng đó. Sau 3 ngày nghiên cứu, thực hành và thử
nghiệm, thực tập viên hiểu rõ cách sử dụng Mesh Baker để tối ưu hóa game, cũng như
cách sử dụng các công cụ và giao diện được cung cấp bởi Unity để so sánh hiệu suất
trước và sau khi dùng.

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


15
Tuy nhiên, một trở ngại gặp phải trong quá trình tối ưu hóa là cách thực thi kết hợp
các đối tượng trong cảnh. Do một mesh được cấu thành bởi nhiều tam giác, và số tam
giác cần phải vẽ có ảnh hưởng đến hiệu suất hoạt động của game, nên những mesh được
cấu thành bởi càng nhiều mesh kết hợp lại dù có giảm số batch vẽ những mesh đó (do kết
hợp nên chỉ cần một batch call thay vì gọi batch cho từng mesh) nhưng lại tạo ra những
mesh rất lớn chứa rất nhiều tam giác. Vì thế, trong quá trình thực hành, thực tập sinh phải
thử nghiệm với nhiều cách và họa tiết kết hợp đối tượng khác nhau, nhằm tìm ra những
tổ hợp nào giảm được batch call nhiều nhất nhưng tăng tam giác ít nhất. Mỗi lần thử
nghiệm thực tập sinh quay clip và chụp màn hình trước và sau khi kết hợp để đối chiếu
và so sánh.

Sau khi thực tập sinh chứng tỏ rằng Mesh Baker là một cơng cụ tối ưu hóa game
hiệu quả với những kết quả thể hiện sự cải thiện rõ ràng, thực tập sinh được yêu cầu viết
tài liệu hướng dẫn sử dụng Mesh Baker, để người sau có thể góp phần tối ưu hóa những

cảnh mình làm góp vào dự án chung. Tại đây, thực tập sinh lần đầu sử dụng Confluence
là một công cụ lưu trữ tài liệu, thay vì trước đây là một nguồn tài liệu vào để đọc.

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


16

3. Minigame: Tìm đường
Một trong những ý tưởng đội Thiết kế Game (Game Design – GD) của A&F và
producer đề xuất để làm game vui nhộn hơn là những màn minigame với những chế độ
chơi khác nhau (giống như trong Fall Guys) để người chơi bớt chán chơi mỗi một chế độ
đua xe. Đội GD đã đề xuất 4 minigame khác nhau và giao các lập trình viên tạo cảnh
mẫu để thử nghiệm và lấy ý kiến của đại diện bên Ferrero, và thực tập sinh đã chọn game
Tìm đường để đóng góp vào mục tiêu đấy.
Trong Tìm đường, 12 người chơi phải tìm cách đi từ điểm bắt đầu sang vạch đích
ở phía bên kia sân chơi. Giữa hai điểm là một mạng lưới gồm các tấm sàn ghép lại với
nhau thành một hình chữ nhật. Trong mạng lưới này chỉ có một con đường chính xác –
các ơ nằm trên con đường sẽ sáng lên khi người chơi bước lên, và sau một thời gian
khơng có người chơi khác bước lên sẽ chớp trước khi trở về màu ban đầu, buộc các
người chơi phải tiếp tục tiếp xúc với chúng để chúng tiếp tục báo hiệu ô đúng. Các ơ cịn
lại khơng vững chắc, có cơ hội (rất nhỏ) lắc lư để gợi ý điều đấy, và những người chơi
chẳng may bước lên sẽ làm chúng chớp đỏ trước khi rớt xuống vào hư không, mang
người chơi xấu số rớt theo và buộc họ phải hồi sinh lại tại điểm bắt đầu. Khác với chế độ
đua chính, các tay đua trong Tìm đường khơng dùng xe; bù lại, người chơi có thể nhảy
để tránh bị rớt xuống hư không.

Nguyễn Hữu Hậu


Lê Trường Long Hưng – 18520284


17
Sử dụng những tài nguyên và asset đã có sẵn từ những cảnh khác, thực tập sinh
tiến hành xây dựng màn chơi theo yêu cầu của đội GD, chỉnh sửa theo lời khuyên và ý
kiến của producer, GD và quản lý. Riêng hành vi của các ô sàn là asset có sẵn được mở
rộng ra và thêm chức năng để phục vụ cho chế độ chơi mới, và lớp quản lý ơ lưới và
thuật tốn tạo đường ngẫu nhiên là do thực tập sinh tự thiết kế và thực thi trong mã
nguồn.
Một trở ngại gặp trong suốt quá trình làm chế độ chơi mới là cách làm cho máy
cũng có thể chơi và thắng được như con người. Tại đây, nhờ sự hướng dẫn của quản lý
đội, thực tập sinh tìm hiểu về NavMesh trong Unity và cách tạo những đối tượng định
hướng và chặn đường máy, định hướng cho máy có thể tìm đường đến đích. Với kiến
thức này, thực tập sinh chỉnh sửa chế độ chơi, thêm một số tính năng hỗ trợ cho người
chơi máy cũng có thể chơi được, với khả năng máy cập nhật đường đi khi các tấm sàn bị
lộ dần dần chứ không biết con đường chính xác từ ban đầu, tạo người chơi cảm giác máy
cũng phải “mị” đường như mình.
Một khi thực tập sinh đã hoàn thành cái cốt lõi của chế độ chơi mới, cảnh được
đẩy lên Sourcetree và giao lại cho bộ phận GD và họa sĩ để tiến hành trang trí màn chơi,
tạo được kết quả như sau:

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


18


Tuy nhiên, bản thân thực tập sinh cũng thấy chế độ chơi này cịn q dễ, và vì thế
đã tự tìm hiểu, nghiên cứu cách tăng độ khó của chế độ mà khơng có sự chỉ dẫn của quản
lý hay GD. Kết quả của quá trình này là phiên bản “khó” của trị chơi Tìm đường, với
khả năng tạo chướng ngại vật (lấy từ các màn khác trong chế độ đua xe) ở những vị trí
ngẫu nhiên trên ơ lưới sao cho mỗi lần chơi là một bố cục khác nhau. Ngồi việc mở
rộng những chướng ngại vật đã có sẵn sao cho lớp quản lý ơ lưới có thể hỗ trợ được, thực
tập sinh trong quá trình phát triển chế độ khó đã phân tích kỹ lưỡng và tạo nên quy tắc
tạo vật cản, rồi thực thi những quy tắc đó vào mã nguồn. Kết quả là phiên bản thử
nghiệm của A&F nay có thêm một chế độ khó của trị chơi Tìm đường cho đội thử
nghiệm. Tuy nhiên, thực tập sinh đã nhận ý kiến từ một trong các anh đội GD và
producer là nhiều lúc màn chơi khó q, sợ người chơi có thể sẽ khơng qua được, nên
trong tương lai có thể sẽ chỉnh sửa lại sao cho độ khó đồng đều hơn.

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


19

4. Chế độ sáng tạo: Lưu và tải bản đồ
Một trong những tính năng dự kiến sẽ ra mắt sắp tới, chế độ sáng tạo cho phép
người chơi tự thiết kế bản đồ riêng của mình và chia sẻ với các người chơi khác.
Do trong khoảng thời gian phân công việc trong sprint có chức năng này thực tập
sinh xin nghỉ để hồn thành một số đồ án mơn học tại trường nên số lượng tác vụ cịn sót
lại khơng nhiều do quẩn lý và producer ưu tiên phân công cho những thành viên khác
trong đội. Dù thế, vẫn còn sót lại một số cơng việc chưa phân cơng người làm, và thực
tập sinh đã chọn tạo cơ chế lưu và tải bản đồ thành một file .json theo yêu cầu của GD.
Sử dụng kiến thức về ScriptableObject, thực tập sinh sau 2 ngày đã tạo thành công
một hệ thống lưu/tải bản đồ cơ bản. Hệ thống này lưu những đối tượng trò chơi cho phép

đặt lên bản đồ vào một từ điển làm cơ sở dữ liệu; khi lưu bản đồ, hệ thống lưu vị trí và
góc xoay các đối tượng người chơi đã đặt theo mã số thứ tự được gán với đối tượng đó
theo từ điển. Khi vào chế độ sáng tạo, nếu tồn tại file bản đồ trong thiết bị hệ thống sẽ tự
động đọc file đó và tạo lại các đối tượng ở những vị trí và góc quay trong file, lấy đối

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


20
tượng cần khởi tạo thông qua đọc mã số đối tượng của đối tượng đó, rồi tham chiếu với
từ điển lấy prefab cần thiết.
Hiện chức năng này chỉ ở giai đoạn nguyên mẫu, còn đề xuất ý tưởng nên chức
năng lưu/tải này hiện chỉ lưu loại đối tượng, vị trí và góc xoay của chúng trong cảnh; hơn
nữa, do ràng buộc sức chứa của máy chủ nên lưu hay tải ghi đè cùng một file để tuân
theo quy tắc GD đặt ra (mỗi người chơi một bản đồ). Trong tương lai, khi bên khách
hàng chấp thuận cho tính năng sáng tạo, hệ thống lưu/tải này sẽ được xem xét lại để mở
rộng tính năng hơn.

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


21

TỔNG KẾT
Như vậy, chỉ sau vài tuẩn ngắn ngủi thực tập sinh đã đóng góp vào q trình phát
triển của Applaydu & Friends nhiều tính năng khác nhau dưới các vai trị khác nhau.

Ngồi việc hồn thành các tác vụ đã được đưa ra, thực tập sinh đã thành công thích nghi
và hịa nhập vào mơi trường làm việc chun nghiệp trong ngành công nghiệp game.
Chân thành cảm ơn các anh, các chị trong Gameloft SAI Studio và đội Applaydu
& Friends đã hỗ trợ em hoàn thành kỳ thực tập, cũng như giúp đỡ em hịa nhập vào cơng
ty và môi trường làm việc.

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284


22

CÁC LINK THAM KHẢO
AR Foundation:
/>Mesh Baker:
 /> />Màn hình thơng số hiệu suất của Unity:
/>NavMesh:
 /> />ScriptableObject:
 /> /> />Hệ thống lưu/tải
 /> />FR2NIW8QCJE74CyT&index=2

Nguyễn Hữu Hậu

Lê Trường Long Hưng – 18520284



×