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

báo cáo thực tập lập trình GAME đa nền tảng CHAOS AGE

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 (367.71 KB, 17 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 ĐA NỀN TẢNG CHAOS AGE

Công ty thực tập

: VNG Corporationt

Người phụ trách

: Vũ Hồng Phú

Thực tập sinh

: Nguyễn Du Lịch

Mã số sinh viên

: 17520096

TP. Hồ Chí Minh, ngày 23 tháng 9 năm 2020


LỜI MỞ ĐẦU
Ngày nay, với nhu cầu giải trí online ngày một phát triển, ngành cơng nghiệp game theo đó
cũng đã trở thành một bộ phận không thể thiếu và ngày càng khẳng định vị thế của mình với sự
phát triển cơng nghệ thơng tin của tồn thế giới, cả về phần cứng và phần mềm.
Đi cùng với xu thế phát triển này, ngành công nghiệp game của Việt Nam cũng khơng


ngừng đổi mình chuyển biến và phát triển để hịa nhập với năm châu bốn bể. Ngồi những cơng
ty lớn có tiếng tăm trên thế giới (như Gameloft) gia nhập vào thị trường Việt Nam, đã có nhiều
cơng ty khởi nghiệp nhỏ nổi lên, góp phần khơng nhỏ cho sự phát triển của ngành game nói
riêng và cơng nghệ thơng tin của Việt Nam nói chung, đóng góp sức mình cho cơng cuộc phát
triển kinh tế của xã hội của nước nhà.
Đặc biệt trong bối cảnh dịch bệnh cách ly như năm nay, nhu cầu giải trí của giới trẻ lại càng
cao hơn bao giờ hết, để rồi chính lực lượng trẻ này sẽ đặt những dòng code tiếp theo tiếp bước
cho sự phát triển các tựa game mới, ứng dụng các cơng nghệ mới, qua đó đem lại trải nghiệm
tốt nhất, thú vị nhất, vui vẻ nhất cho mọi người. Chính vì lẽ đó em đã quyết định chọn cho mình
con đường lập trình game để làm định hướng cho việc học tập cũng như lao động trong tương
lai của mình.
Sau ba năm học tập trên trường, một phần do 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, em có dự định
là sẽ thực tập trong hè. Vì vậy, em quyết định chọn VNG - một kỳ lân của Việt Nam không chỉ
trong ngành game mà cịn lấn sân sang nhiều ngành khác làm mơi trường lý tưởng, hiện đại,
chuyên nghiệp - là nơi sẽ giúp em thực hiện dự định này.

Người phụ trách: Vũ Hồng Phú

2

Sinh Viên: Nguyễn Du Lịch


LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty VNG đã tạo điều kiện cho em có cơ hội được thực tập tại
cơng ty thơng qua chương trình VNG FRESHER đầy ý nghĩa.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của các anh Mentor, em cùng
các bạn khác tạo thành nhóm thực tập đã tiếp thu được những kiến thức quan trọng để có thể
làm được một game. Chân thành cảm ơn các anh chị Mentor đã bỏ ra nhiều thời gian, công sức,

sát cánh cùng chúng em để hướng dẫn, chỉ bảo, qua đó hồn thành đợt thực tập này.
Đặc biệt phải cảm ơn anh Huỳnh Vĩnh Trí đã training phần Java code sever, anh Vũ Hồng
Phú đã sát cánh bên cạch chúng em trải qua những khó khăn trong việc làm quen môi trường
mới, các kỹ thuật để hiện thực project, team HR đã training các kỹ năng mềm và rất nhiều các
nhân viên khác đã cởi mở, thân thiện, nhiệt tình trong các vướng mắc của em để có thể làm ra
một sản phẩm trong thời gian qua.
Cuối cùng 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ài báo cáo này.
TP. Hồ Chính Minh, ngày 23 tháng 9 năm 2020
Sinh viên thực hiện

Nguyễn Du Lịch

Người phụ trách: Vũ Hồng Phú

3

Sinh Viên: Nguyễn Du Lịch


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

……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………

Người phụ trách: Vũ Hồng Phú

4

Sinh Viên: Nguyễn Du Lịch


MỤC LỤC
Phần 1: Giới thiệu công ty thực tập .......................................................................................... 6
1.

Giới thiệu công ty VNG ................................................................................................ 6


2.

Sản phẩm của công ty ................................................................................................... 6
2.1.

Trò chơi trực tuyến ................................................................................................. 6

2.2.

Nền tảng kết nối ..................................................................................................... 7

2.3.

Tài chính và thanh tốn .......................................................................................... 7

2.4.

Dịch Vụ Đám Mây ................................................................................................. 7

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

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

2.

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

3.


2.1.

Các cơng cụ làm việc ............................................................................................. 8

2.2.

Tìm hiểu framework game ..................................................................................... 9

2.3.

Tìm hiểu về framework sever ................................................................................ 9

Lịch trình thực tập ....................................................................................................... 10

Chương 3: Chi tiết về project ................................................................................................. 12
1.

Giới thiệu về game ...................................................................................................... 12
1.1.

Cốt truyện ............................................................................................................. 12

1.2.

Luật chơi chính ..................................................................................................... 12

2.

Thực hiện .................................................................................................................... 12


3.

Quá trình thực tập ....................................................................................................... 13
3.1.

Build 1: ................................................................................................................. 13

3.2.

Build 2 .................................................................................................................. 14

3.3.

Fix bug round cuối, nộp kết quả........................................................................... 14

TÀI LIỆU THAM KHẢO ...................................................................................................... 16
TỔNG KẾT ............................................................................................................................ 17

Người phụ trách: Vũ Hồng Phú

5

Sinh Viên: Nguyễn Du Lịch


Phần 1: Giới thiệu công ty thực tập

1. Giới thiệu công ty VNG
VNG được thành lập vào năm 2004 với tên thương hiệu là VinaGame, sau đó đổi thành
VNG Corporation để phù hợp hơn với việc mở rộng và toàn cầu hóa doanh nghiệp. Đó cũng là

lý do cơng ty để tên gọi đơn giản là VNG, vừa thân quen, lại vừa phù hợp với các xứ mệnh mới.
Trải qua bao thăng trầm, VNG đã khẳng định mình thành cơng trên bản đồ phát triển cơng
nghệ thơng tin trên tồn thế giới, liên tục được công bố là unicorn (kỳ lân) công nghệ của khu
vực Đông Nam Á với số lượng người dùng ngày càng tăng, không chỉ trong nước mà cịn quốc
tế.
Hiện nay cơng ty đã mở 5 trụ sở trên cả Việt Nam và 2 trụ sở ở nước ngồi, ngồi ra là các
văn phịng trên khắp năm châu để tìm kiếm thị trường như Ấn Độ, Brazil, … với số lượng nhân
viên ngày càng tăng mạnh
Trải qua nhiều thời kỳ khác nhau, cơng ty đã có nhiều sản phẩm để định hình chính bản thân
mình trên bản đồ công nghệ thông tin của thế giới với 4 sản phẩm chính: Trị chơi trực tuyến,
Nền tảng kết nối, Tài chính và thanh tốn, Dịch vụ đám mây
2. Sản phẩm của cơng ty
2.1.
-

Trị chơi trực tuyến
VNG thiết kế game đa nền tảng bao gồm Android, IOS, Web cũng như PC với hai
mảng lớn đó là phát triển và phát hành game, cả Việt Nam và trên trường quốc tế, cả
game tự sản xuất lẫn game phát hành từ các game nổi tiếng quốc tế

Người phụ trách: Vũ Hồng Phú

6

Sinh Viên: Nguyễn Du Lịch


2.2.

Nền tảng kết nối


-

Bao gồm các nền tảng kết nối đa dạng, đa dịch vụ, phục vụ toàn diện nhu cầu kết nối,
giải trí, tìm kiếm của cá nhân và tổ chức.

-

Nền tảng OTT Zalo, hệ sinh thái mạng xã hội giải trí Zing (Zing TV, Zing MP3…)

-

Các nền tảng vCS, 123Go, 123Phim, cơng cụ tìm kiếm Laban.vn, v.v.

2.3.
-

2.4.

Tài chính và thanh toán
Là các nền tảng và dịch vụ trung gian thanh tốn, tài chính cá nhân theo xu hướng
mới, với sản phẩm như Cổng trung gian thanh toán 123 Pay, Ví điện tử ZaloPay.
Dịch Vụ Đám Mây

-

Cung cấp các dịch vụ đám mây toàn diện cho tổ chức, doanh nghiệp, địa phương.

-


Các hệ thống, giải pháp công nghệ thông minh dựa trên kết nối Internet và công nghệ
đám mây.

-

Sản phẩm: 123CS, Cloud server, IoT HUB, vCloudStack, vObjectStorage, Tape
Backup, vCloudcam, Vending Machine,…

Người phụ trách: Vũ Hồng Phú

7

Sinh Viên: Nguyễn Du Lịch


Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình game đa nền tảng Chaos Age” nhằm mục đích giúp cho
sinh viên ngay lập tức tiếp cận với một sản phẩm đã được hoạt động thực sự sẽ hoạt động như
thế nào, giúp phát triển tư duy phát triển game chuyên nghiệp, rèn luyện kỹ năng mềm như làm
việc nhóm, truyết trình, kỹ năng giao tiếp.
1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian: 3 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 (như đã
nhắc đến ở trê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 .
Ngồi ra, thực tập sinh cịn được giới thiệu về cách thức làm việc trong công ty như thời
gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong công việc, các lợi ích khi
là một nhân viên của công ty
Kết quả: Hiểu thêm về cơng ty VNG, 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 các cơng cụ trong cơng việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm

hơn, phát triển kỹ năng mềm.
2. Nghiên cứu kỹ thuật
2.1.

Các công cụ làm việc

Thời gian: 5 ngày (1 tuần)
Nội dung: Tìm hiểu về các cơng cụ sẽ được sử dụng trong q trình làm việc.
Trong thời gian này, mentor đã hướng dẫn thực tập sinh tìm hiểu về các cơng cụ sẽ giúp ích
cho trong cơng việc sau này. Một số trong đó là:
-

TortoiseGit: ứng dụng kiểm sốt sửa đổi git

-

IntelliJ IDEA: IDE chính để code client và sever

-

Cocos Studio: ứng dụng xây dựng môi trường đồ họa game cho cocos framework

Thực hiện: Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả: Sử dụng thành thạo các công cụ này, kết hợp sử dụng làm bài tập game Flappy Bird
như một các làm quen

Người phụ trách: Vũ Hồng Phú

8


Sinh Viên: Nguyễn Du Lịch


Tìm hiểu framework game

2.2.

Thời gian: 2 ngày
Nội dung: Tìm hiểu về cách một chương trình game hoạt động, các hàm và thuật tốn cơ
bản, có sẵn, đã được setup từ trước của để tiện cho việc phát triển game, theo dõi lỗi, tối ưu hiệu
xuất sau này.
-

Lập trình hướng đối tượng trên JS: vì sử dụng JS ES5 nên chưa hỗ trợ hướng đối
tượng, vì thế phải tìm hiểu cách sử dụng framework để giả hướng đối tượng như thế
nào.

-

Cách quản lý bộ nhớ: vì Garbage Collection của JS và con trỏ của cocos có cách quản
lý bộ nhớ khác nhau nên phải tìm hiểu để tránh gây memory leak hay xóa đối tượng
vẫn cịn cần dùng.

-

Cách sử dụng JS binding để lập trình đa nền tảng

Thực hiện:
-


Tham gia đầy đủ các buổi training của công ty.

-

Làm các bài thực hành, kiểm tra về kiến thức đã học.

Kết quả:
-

Nâng cao kỹ năng lập trình với ngơn ngữ JS.

-

Có được những kiến thức quan trọng cho việc lập trình game đa nền tảng sau này.

-

Ngồi ra cịn được biết thêm một số quy tắc trong việc viết code sao cho đúng chuẩn,
dễ đọc, dễ hiểu.

2.3.

Tìm hiểu về framework sever

Thời gian: 2 ngày
Nội dung: Tìm hiểu về cách sever hoạt động
-

Giao tiếp qua mạng: học cách client và sever giao tiếp với nhau qua các phương thức
khác nhau, qua đó biết phân biệt và sử dụng phương thức nào sao cho hiệu quả, tối ưu

hóa dữ liệu cần dùng

-

Lập trình song song: Vì có rất nhiều client nhưng chỉ có một (hoặc một vài) máy chủ
nên việc lập trình song song là bắt buộc, tìm hiểu về các vấn đề của lập trình song
song cũng như cách giải quyết và tối ưu hiệu năng

Người phụ trách: Vũ Hồng Phú

9

Sinh Viên: Nguyễn Du Lịch


Sử dụng BitZero framework: là một framework nội bộ của cơng ty dùng để code
sever, tìm hiểu cách sử dụng để đăng ký các handler khi có sự kiện từ client gửi lên.

-

Thực hiện:
-

Tham gia đầy đủ các buổi training của công ty.

-

Làm các bài thực hành, kiểm tra về kiến thức đã học.

Kết quả:

-

Nâng cao kỹ năng lập trình Java.

-

Hiểu rõ những gì sẽ gặp phải và cách xử lý khi lập trình song song

3. Lịch trình thực tập

Tuần

1

Người
hướng dẫn

Cơng việc

- Tìm hiểu về cơng ty

Team HR

100%

Anh Vũ
Hồng Phú

100%


Anh Vũ
Hồng Phú

100%

Anh Vũ
Hồng Phú

100%

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

- Học kỹ năng mềm
- Tìm hiểu về framework

2+3

Mức
độ
hồn
thành

- Làm mini game
- Làm các diagram cho game
- Code các hàm cơ bản
Start build 1:

4+5


- Xây dựng map và load map
- Login và Lobby
- Shop and update
- Các thao tác trên map

6+7

- Nâng cấp nhà
- Luyện lính
- Đồng bộ client và sever

Người phụ trách: Vũ Hồng Phú

10

Sinh Viên: Nguyễn Du Lịch


- Fix bug
8+9

- Hoàn thiện về đồ họa

Anh Vũ
Hồng Phú

100%

Anh Vũ

Hồng Phú

100%

Anh Vũ
Hồng Phú

100%

Anh Vũ
Hồng Phú

100%

- Tối ưu code
- Gửi QC
Start build 2

10 + 11

- Fix bug build 1
- Phó bản UI
- Các cơng trình phịng thủ và lính
- Logic chiến đấu

12 + 13

- Đồng bộ client và sever
- Fix bug phát sinh
- Gửi QC


14 + 15
16

- Fix bug build 2
- Gửi QC check lần cuối
- Báo cáo kết quả

Người phụ trách: Vũ Hồng Phú

11

Sinh Viên: Nguyễn Du Lịch


Chương 3: Chi tiết về project
1. Giới thiệu về game
Game lấy ý tưởng từ trò chơi Clash of Clans nổi tiếng với mong muốn tạo ra một game
chiến lược thả quân thời gian thực do chính Việt Nam phát triển và phát hành. Với game play
quen thuộc, dễ điều khiển, dễ làm quen, Chaos Age đã tạo nên một sức hot không nhỏ từ khi
phát hành đến nay.
1.1.

Cốt truyện

Thời Loạn lấy bối cảnh thời trung cổ, mỗi người chơi sẽ tham gia trị chơi online ngay trên
điện thoại của mình và trở thành một phần của cuộc chiến với người chơi trên khắp thế giới.
Thời Loạn buộc bạn phải trở thành vị thủ lĩnh tài ba, lãnh đao đội quân của riêng mình, xây
dựng thành trì ngày càng lớn mạnh và chinh phạt tất cả bộ tộc yếu kém.
1.2.


Luật chơi chính

Thơng qua việc huấn luyện qn lính, xây dựng binh lực, cơng trình phịng thủ và gia nhập
các bang hội lớn để gia tăng sức mạnh, người chơi sẽ được thỏa sức thể hiện tài dụng binh và
cầm quân ngay trong game dàn trận được bàn tán nhiều nhất thời gian qua.
Khơng chỉ đấu trí giữa các thủ lĩnh với nhau, tham gia trị chơi online, người chơi cịn ln
kết nối với các an hem trong bang hội, tham dự các kỳ Đệ Nhất Bang Hội và mang về cho toàn
bang chiến thắng lẫy lừng cùng những phần thưởng rất đáng mong đợi.
Trị chơi xoay quanh vịng tuần hồn chính: Xây nhà lấy tài nguyên, Luyện lính, đi cướp tài
nguyên, nâng cấp nhà tài ngun hay phịng thủ
2. Thực hiện
Nhóm gồm 4 thành viên của team GSN_1:
-

Nguyễn Minh Tiến

-

Phạm Trọng Nhân

-

Lê Trí Thơng

-

Nguyễn Du Lịch

Sự giúp đỡ tận tình của hai anh memtor:

-

Vũ Hồng Phú

Người phụ trách: Vũ Hồng Phú

12

Sinh Viên: Nguyễn Du Lịch


-

Huỳnh Vĩnh Trí

Và nhiều sự giúp đỡ khác từ các nhân viên và các Team của cơng ty
3. Q trình thực tập
3.1.

Build 1:

Công việc: chia làm 4 module ứng với 4 tuần:
-

Module 1:
• Đọc Design Document và thiết kế các diagram
• Thống nhất format dữ liệu
• Các data cần thiết

-


Module 2:
• Xây dựng map và load map với dữ liệu giả
• Tải data từ sever, hiển thị ra thơng tin trên loppy
• Dựng shop

-

Module 3:
• Các thao tác control map (drag move, zoom, …)
• Hồn thiện loppy
• Mua được vật phẩm từ shop

-

Module 4:
• Nâng cấp cơng trình
• Luyện qn
• Tinh chỉnh các lỗi
• Gửi QC lần 1

Kết quả :
-

Độ hồn thiện các tính năng đạt khoảng 90%

-

Chưa có UX cho UI


Người phụ trách: Vũ Hồng Phú

13

Sinh Viên: Nguyễn Du Lịch


3.2.

Build 2

Công việc: chia làm 4 module ứng với 4 tuần
-

Module 1:
• Fix bug build 1
• Làm UI phó bản

-

Module 2:
• Cơng trình phịng thủ
• Lính tấn cơng

-

Module 3:
• Logic chiến đấu
• Animation
• Đồng bộ client sever


-

Module 4:
• Fix bug phát sinh
• Hồn thiện animation
• Hồn thiện UX UI
• Nộp QC lần 2

Kết quả : Đã hoàn thành toàn bộ những tính năng trên.
Fix bug round cuối, nộp kết quả

3.3.

Cơng việc:
-

Fix bug của build 2, chuẩn bị slide báo báo

-

Tổng kết, trao chứng chỉ

Kết quả: Hồn thành thành cơng kỳ fresher với kết quả tốt, được công ty tin tưởng tiếp tục
lao động tạo công ty với project thực tế

Người phụ trách: Vũ Hồng Phú

14


Sinh Viên: Nguyễn Du Lịch


Người phụ trách: Vũ Hồng Phú

15

Sinh Viên: Nguyễn Du Lịch


TÀI LIỆU THAM KHẢO
Cocos2dx-JS test case
/>
Cocos2dx-JS api reference
/>
Cocos creator
/> />
Trò chơi thực tế:
/>
Cùng một số tài liệu nội bộ công ty nằm trong phạm vi bảo mật chiếu theo hợp đồng
lao động nên không được phép tiết lộ

Người phụ trách: Vũ Hồng Phú

16

Sinh Viên: Nguyễn Du Lịch


TỔNG KẾT

Như vậy chỉ với khoảng 1 tháng vừa training vừa luyện tập cùng 2 tháng làm project, nhóm
đã hồn thành xuất sắc một game chạy đa nền tảng với đầy đủ tính năng, UX UI, animation y
hệt game thật.
Dù áp lực thời gian là khá lớn với khối lượng cơng việc tương đối nhiều nhưng nhờ có các
anh memtor giúp sức, đề ra kế hoạch hợp lý đã giúp team hoàn thành đúng tiến độ được giao
với chất lượng cao nhất. Game phát triển theo framework với các tính nhất kế thừa nên dễ dàng
nâng cấp, bảo trì, sửa đổi sau này để nâng tầm game lên một mức cao hơn.
Cuối cùng xin cảm ơn sự giúp đỡ của tồn thể của các nhân viên của cơng ty đã giúp đỡ
chúng em trong môi trường làm việc mở, tạo cho chúng em những cảm giác khó tả trong q
trình làm game, cảm ơn nhóm trainer đã cung cấp kiến thức một cách cô đọng và đầy đủ, cảm
ơn team HR với những bài học kỹ năng mềm có một không hai, và cảm ơn đến quý thầy cô đã
giúp đỡ trong quá trình thực tập và báo cáo.

Người phụ trách: Vũ Hồng Phú

17

Sinh Viên: Nguyễn Du Lịch



×