1. Trang chủ
  2. » Cao đẳng - Đại học

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

17 130 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 367,71 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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... N

Trang 1

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

Trang 2

Người phụ trách: Vũ Hồng Phú 2 Sinh Viên: Nguyễn Du Lịch

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 toà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ể Ngoà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

Trang 3

Người phụ trách: Vũ Hồng Phú 3 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 đó hoà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

Trang 4

Người phụ trách: Vũ Hồng Phú 4 Sinh Viên: Nguyễn Du Lịch

NHẬN XÉT CỦA KHOA

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 5

Người phụ trách: Vũ Hồng Phú 5 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 toá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

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

3 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

Trang 6

Người phụ trách: Vũ Hồng Phú 6 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 toà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 ngoài, ngoà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 toán, Dịch vụ đám mây

2 Sản phẩm của công ty

- 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ế

Trang 7

Người phụ trách: Vũ Hồng Phú 7 Sinh Viên: Nguyễn Du Lịch

- 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

- Là các nền tảng và dịch vụ trung gian thanh toá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

- 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,…

Trang 8

Người phụ trách: Vũ Hồng Phú 8 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, quá 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

Ngoà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, quá 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

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 quá 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 soá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

Trang 9

Người phụ trách: Vũ Hồng Phú 9 Sinh Viên: Nguyễn Du Lịch

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 toá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

- Ngoà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

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

Trang 10

Người phụ trách: Vũ Hồng Phú 10 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

hướng dẫn

Mức

độ hoàn thành

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

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

- Học kỹ năng mềm

Team HR 100%

2 + 3

- Tìm hiểu về framework

- Làm mini game

- Làm các diagram cho game

- Code các hàm cơ bản

Anh Vũ Hồng Phú

100%

4 + 5

Start build 1:

- Xây dựng map và load map

- Login và Lobby

- Shop and update

Anh Vũ Hồng Phú

100%

6 + 7

- Các thao tác trên map

- Nâng cấp nhà

- Luyện lính

- Đồng bộ client và sever

Anh Vũ Hồng Phú

100%

Trang 11

Người phụ trách: Vũ Hồng Phú 11 Sinh Viên: Nguyễn Du Lịch

8 + 9

- Fix bug

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

- Tối ưu code

- Gửi QC

Anh Vũ Hồng Phú

100%

10 + 11

Start build 2

- Fix bug build 1

- Phó bản UI

- Các công trình phòng thủ và lính

Anh Vũ Hồng Phú

100%

12 + 13

- Logic chiến đấu

- Đồng bộ client và sever

- Fix bug phát sinh

- Gửi QC

Anh Vũ Hồng Phú

100%

14 + 15

- Fix bug build 2

- Gửi QC check lần cuối

Anh Vũ Hồng Phú

100%

16 - Báo cáo kết quả

Trang 12

Người phụ trách: Vũ Hồng Phú 12 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

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

Thông qua việc huấn luyện quân 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 luôn 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 hoà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 nguyên 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ú

Trang 13

Người phụ trách: Vũ Hồng Phú 13 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 Quá trình thực tập

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, …)

• Hoàn thiện loppy

• Mua được vật phẩm từ shop

- Module 4:

• Nâng cấp công trình

• Luyện quân

• Tinh chỉnh các lỗi

• Gửi QC lần 1

Kết quả :

- Độ hoàn thiện các tính năng đạt khoảng 90%

- Chưa có UX cho UI

Trang 14

Người phụ trách: Vũ Hồng Phú 14 Sinh Viên: Nguyễn Du Lịch

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

• Hoàn thiện animation

• Hoà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

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ả: Hoà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ế

Trang 15

Người phụ trách: Vũ Hồng Phú 15 Sinh Viên: Nguyễn Du Lịch

Trang 16

Người phụ trách: Vũ Hồng Phú 16 Sinh Viên: Nguyễn Du Lịch

TÀI LIỆU THAM KHẢO

Cocos2dx-JS test case

https://cocos2d-x.org/js-tests/

Cocos2dx-JS api reference

https://docs.cocos2d-x.org/api-ref/js/V3.8/

Cocos creator

https://docs.cocos.com/creator/manual/en/

https://docs.cocos.com/creator/api/en/

Trò chơi thực tế:

https://beta.play.zing.vn/games/thoi-loan.html

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ày đăng: 05/09/2021, 21:00

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w