1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo cáo thực tập lập trình GAME ONLINE trên ANDROID bằng COCOS2DX JS và JAVA

22 15 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 22
Dung lượng 447,47 KB

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

Nội dung

Em đã tìm kiếm một đơn vị phát triển game để cóthể áp dụng các kiến thức trên vào thực tế, và làm quen với công việc phát triển game trongmôi trường chuyên nghiệp.. Giới thiệu Công Ty Cổ

Trang 1

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ẬPLẬP TRÌNH GAME ONLINE TRÊN

ANDROID BẰNG COCOS2DX-JS VÀ JAVA

Công ty thực tập : Công Ty Cổ Phần VNG Người phụ trách : Đặng Thanh Tùng Thực tập sinh : Võ Thành Trung

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

Trang 2

LỜI MỞ ĐẦU

Hiện nay, mỗi tháng có hàng triệu ứng dụng mới được ra mắt trên các các cửa hàng ứngdụng Trong số đó, bên cạnh các ứng dụng phục vụ công việc hàng ngày (công việc, tàichính, …), có một số lượng lớn trong đó là các ứng dụng trò chơi (game) Game được tạo ra

để phục vụ nhu cầu giải trí của con người Ngày nay, ngành công nghiệp game là một bộphận không thể thiếu của ngành công nghiệp phần mềm Song hành cùng với nhịp độ pháttriển mạnh mẽ của các xu hướng mới, công nghệ mới, kèm theo nhu cầu giải trí online củangười dùng ngày càng lớn do các ảnh hưởng từ dịch Covid-19, ngành công nghiệp gameđang trên đà phát triển ngày càng mạnh mẽ hơn

Cùng với xu thế phát triển của thế giới, và đáp lại sự thay đổi nhu cầu giải trí của ngườidùng Nhiều công ty tại Việt Nam đã bước vào ngành công nghiệp game, nỗ lực từng ngày

để hòa nhập cùng với các công ty game hàng đầu thế giới VNG, cùng với Zing Play GameStudios, là một trong những cái tên đã góp phần rất lớn trong công cuộc phát triển của ngànhgame Việt

Các sản phẩm game từ trước đến nay đã và đang được cộng đồng người dùng yêu mến

vì mục đích giúp giải trí, giải tỏa căng thẳng, mang lại cảm xúc tích cực Bên cạnh đó cácgame cũng chính là những ứng dụng đầu tiên của các công nghệ mới (AI, VR, AR, NFT, …)

Do đó, xuất phát từ mong muốn tạo ra các sản phẩm đem lại niềm vui cho người dùng, vàniềm khao khát thách thức với các công nghệ mới, em quyết định chọn lập trình game làmđịnh hướng cho việc học tập và nghề nghiệp của bản thân

Sau ba năm học tập tại môi trường đại học, em đã lĩnh hội được nhiều kiến thức về kỹthuật và quy trình phát triển phần mềm Em đã tìm kiếm một đơn vị phát triển game để cóthể áp dụng các kiến thức trên vào thực tế, và làm quen với công việc phát triển game trongmôi trường chuyên nghiệp Qua chương trình VNG Tech Fresher 2020, em đã có được cơhội làm việc tại VNG và Zing Play Game Studios - là nơi đã giúp em hoàn thành được dựđịnh này

Trang 3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công Ty Cổ Phần VNG và Zing Play Game Studios đã tạođiều kiện cho em có cơ hội được thực tập tại công ty

Trong vòng 3 tháng thực tập, nhóm thực tập chúng em đã học được rất nhiều kiến thức

về phát triển game, từ đó có thể cài đặt được một project mobile online game với đầy đủ cáctính năng Tất cả những thành quả trên, để đạt được không thể thiếu các buổi training bài bản

từ các anh manager và senior trong công ty, niềm quan tâm và chỉ dẫn tận tình từ các anhmentor, tinh thần đoàn kết, nỗ lực từ các bạn trong nhóm, và sự hỗ trợ từ các anh/chị từ các

vị trí khác Chân thành cảm ơn các anh, các chị, các bạn đã giúp sức cùng em hoàn thành đợtthực tập này

Đặc biệt cảm ơn anh Đặng Thanh Tùng đã quản lý chương trình, sắp xếp các buổitraining kiến thức, hỗ trợ các bạn Fresher Cảm ơn anh Đặng Anh Tuấn, anh Phạm Anh Quốc

đã hướng dẫn, giúp đỡ nhóm em trong việc xây dựng Game Client, xây dựng logic, nâng caotrải nghiệm người chơi Cảm ơn anh Võ Toàn Thuận đã chỉ dẫn chúng em trong việc xâydựng server, các API và xử lý các vấn đề về đồng bộ trong game online

Em cũng xin chân thành cảm ơn thầy cô trong khoa Công nghệ phần mềm đã hỗ trợ,tạo điều kiện em hoàn thành bài báo cáo này

Võ Thành TrungThành phố Hồ Chí Minh, ngày 30 tháng 8 năm 2021

Trang 4

NHẬN XÉT CỦA KHOA

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 5

Giới thiệu Công Ty Cổ Phần VNG 6Giới thiệu Zing Play Game Studios 7

Tìm hiểu về chuyên môn và các kỹ năng trong công việc phát triển game 9

Các công cụ làm việc 9Chuỗi seminar tìm hiểu về công việc phát triển game 10Chuỗi seminar kỹ năng mềm 12Trải nghiệm, phân tích thiết kế, vẽ các sơ đồ liên quan cho game Thời Loạn Mobile 13Thiết kế sơ đồ, phát triển project game: Game Mobile Online phong cách thủ thành

Giới thiệu về game 18Mục tiêu của game: 18

Trang 6

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

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

Thành lập từ năm 2004 đến nay, VNG đã trải qua 14 năm phát triển và mở rộng để trởthành một trong những công ty Internet & Công nghệ hàng đầu Việt Nam và Đông Nam Á,với hơn 3200 thành viên

Hệ sinh thái ứng dụng và dịch vụ của VNG bao gồm 4 nhóm chính, tập trung hướngđến những trải nghiệm phong phú và giải pháp tối ưu, phục vụ cho người dùng cá nhân và tổchức:

Kỳ, Rules of Survival, Crossfire Legend…

Trang 7

2 Giới thiệu Zing Play Game Studios

ZingPlay Game Studios - là studio trong VNG phát triển game lớn nhất và lâu đời nhất

có trụ sở tại Hà Nội

Tháng 7/2007 trung tâm ra đời với tên gọi là GSN - Game Studio North Hiện nay, từđội ngũ GSN 20 người đã trở thành tập thể ZPS gần 500 nhân sự có mặt tại Hà Nội - ĐàNẵng - Hồ Chí Minh và 6 quốc gia khác trên thế giới

Các sản phẩm thu hút hàng chục triệu khách hàng, ZPS là đơn vị đầu tiên ở Việt Namphát triển thành công ứng dụng giải trí trực tuyến bằng thực lực của chính những người Việttrẻ năng động và nhiều hoài bão

Các sản phẩm game đánh dấu bước phát triển của ZPS:

- Sinh Tử Môn thuộc thể loại Tower Defense (2007- 2008)

- ZingPlay: cổng game giải trí số 1 Việt Nam ( thống trị thị trường casual gameportal trong nước) , có trên 34 loại game hot, game vui (2008- 2010)

- ZingFarm: game nuôi trồng trực tuyến (2010-2011)

- myFish + ohfish: game đối kháng, chăn nuôi kết hợp chiến đấu

- myPlay: cổng game giải trí chơi trên nền web với rất nhiều thể loại game bài,bida, cá ngựa (8/2011 đến nay)

- Cấm Giới: game chiến thuật kết hợp nhập vai, là game người Việt thiết kế, cótiềm năng tiên phong cho game Việt, ra mắt vào cuối tháng 12/2012

- Thời Loạn: webgame chiến thuật thả quân ra mắt tháng 11/2013

- Farmery: Game nông trại trên mobile ra mắt 5/2013

Trang 8

- ZinZin: Game mini mobile ra mắt cuối 2013

- FarmeryZ: Webgame nông trại ra mắt tháng 5/2014

- Thời Loạn Mobile: ra mắt 7/2014

- Cửu Tộc: MMO ra mắt 9/1/2015

- Siêu phẩm Cờ Tỷ Phú ra mắt 1/2016

Trang 9

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

Chương trình thực tập với sản phẩm tốt nghiệp là tựa game “Game Mobile Onlinephong cách thủ thành (Tower Defense)” nhằm giúp sinh viên được đào tạo công việc chuyênmôn về phát triển Client - Server game trực tuyến 2D trên Android, sử dụng Cocos2dx-JS vàJava Bên cạnh đó, sinh viên có cơ hội được học tập về phong cách lập trình game chuyênnghiệp, tìm hiểu toàn cảnh về các vai trò trong đội ngũ phát triển game, đồng thời được rènluyện các kỹ năng mềm thiết yếu như làm việc nhóm, thuyết trình, đàm phán và giải quyếtvấn đề

1 Tìm hiểu công ty và các kỹ năng làm việc

Thời gian : 1 ngày

Nội dung : Giới thiệu về công ty, nơi làm việc, quy định tại công sở.

Được nghe người phụ trách giới thiệu về VNG và Zing Play Game Studios, quátrình thành lập và phát triển, các sản phẩm làm nên tên tuổi Được gặp gỡ các anh, chịquản lý cấp cao trong công ty Giới thiệu và làm quen với các anh mentor, các bạnfresher chung nhóm

Sau đó thực tập sinh được giới thiệu về văn hóa làm việc của công ty, bao gồmgiờ giấc làm việc, quy định sử dụng thiết bị chung, quy trình truy cập vào dữ liệu côngty

Cuối cùng thực tập sinh được bố trí vị trí làm việc, hướng dẫn cài đặt thiết bịchuẩn bị cho công việc

Kết quả : Hiểu thêm về công ty, đặc biệt là về quy trình và phong cách làm việc Làm

quen được với các anh mentor, các bạn fresher Nắm rõ lịch trình 1 ngày làm việc ởcông ty Có tinh thần kỷ luật và trách nhiệm

2 Tìm hiểu về chuyên môn và các kỹ năng trong công việc phát triển game.

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

Thời gian : 4 ngày

Trang 10

Nội dung : Tìm hiểu về các ngôn ngữ, frameworks, tools sẽ được sử dụng trong

Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên để tạo ra 1 minigame

đơn giản

Kết quả : Nắm được các sử dụng các ngôn ngữ, công cụ phục vụ cho việc phát

triển game

2.2 Chuỗi seminar tìm hiểu về công việc phát triển game.

Thời gian : 3 tuần

Nội dung : Training xung quanh công việc chuyên môn trong phát triển game Tìm

hiểu thêm về các mảng công việc khác trong đội ngũ game

Đây là chuỗi training mang lại rất nhiều kiến thức Những trainer trong cácseminar là các Leader các bộ phận, hay Senior Developer có nhiều năm làm việctại công ty Các kiến thức lĩnh hội được trong seminar bao gồm:

- Kiến thức chuyên môn: tìm hiểu về Client, Server, Design Pattern,Clean Code:

+ Client: sử dụng Cocos2dx-JS, các khái niệm về Director, Scene,Layer, Node, Sprite; tạo hiệu ứng hình ảnh, thu nhận tương tác ngườidùng (qua chuột, bàn phím, chạm); tối ưu sử dụng các object tronggame; tối ưu hình ảnh hiển thị trên các kích cỡ màn hình Sử dụng cáccông cụ để tạo Sprite Sheet, tạo Spine Animation, thiết kế GUI

+ Server: các khái niệm, mô hình bố trí server, các giao thức TCP,UDP; các phương thức tạo gói tin gửi/nhận (JSON, Binary, Protobuf,

…); cách bố trí lưu trữ cơ sở dữ liệu; các phương pháp tối ưu tương tácgiữa Client và Server; làm quen với server engine của công ty

Trang 11

+ Design Pattern: tìm hiểu về các design pattern thường xuyênđược sử dụng trong game thông qua thực hành thiết kế các sơ đồ usecase, sơ đồ tuần tự và sơ đồ lớp.

+ Clean Code: tìm hiểu về các convention được quy định trongcác project; cách đặt tên biến phải xúc tích và giải nghĩa đầy đủ về vaitrò của biến đó; cách phân chia hàm phải gói gọn trong vai trò duy nhấtcủa hàm; cách comment phải cung cấp đầy đủ cho người đọc về hoàncảnh sử dụng hàm, sử dụng hằng, biến, công thức

- Hiểu biết về các mảng khác: tìm hiểu về các bộ phận GameDesigner, QC, Art, Multimedia, Marketing:

+ Game Designer: tìm hiểu nhiệm vụ của Game Designer, quytrình lên ý tưởng và hoàn thiện, các tài liệu được Game Designer cungcấp để biến ý tưởng thành sản phẩm thực tế

+ QC: tìm hiểu về các lỗi trong game, phân loại lỗi theo cấp độnghiêm trọng; quy trình xử lý lỗi; cách email gửi build kiểm tra lỗi; sửdụng hệ thống quản lý lỗi JIRA

+ Art: tìm hiểu về art 3D, 2D, các loại animation sử dụng tronggame

+ Multimedia: tìm hiểu về các visual effect (VFX) sử dụng tronggame; các sound effect (SFX); background music (BGM)

+ Marketing: tìm hiểu về thị trường game, các yếu tố cần để gameđược nhiều người biết đến

Thực hiện :

- Tham gia đầy đủ các buổi seminar của công ty

- Thực hiện các bài tập thực hành, tham gia các trò chơi nhỏ trong quá trìnhtham gia seminar

- Tích cực phát biểu, thể hiện ý kiến trong suốt quá trình tham gia

Kết quả :

Trang 12

- Nâng cao kỹ năng chuyên môn về client, server, sử dụng công cụ liênquan.

- Nắm thêm một số quy tắc trong việc viết code sao cho đúng chuẩn, dễ đọc,

dễ hiểu

- Ngoài ra còn biết được nhiệm vụ đặc thù của các vai trò liên quan, mởrộng hiểu biết về công việc game, thuận lợi cho việc trao đổi giữa các thành viênkhác vai trò

2.3 Chuỗi seminar kỹ năng mềm

Nội dung: Các kiến thức kỹ năng mềm: giao tiếp, đàm phán và thuyết phục

- Khái niệm về giao tiếp, các tình trạng trong giao tiếp, cách giao tiếp hiệuquả Cách đặt câu hỏi , lắng nghe và phản hồi

- Cách cân bằng cảm xúc, hóa giải vị thế tâm lý bất bình đẳng (ngạo mạn /

- Tham gia đầy đủ các buổi seminar

- Tích cực đóng góp ý kiến, tham gia các trò chơi nhỏ trong các buổi seminar

và giành được hạng nhất chung cuộc

Kết quả :

- Tham gia đầy đủ các buổi seminar

- Tích cực đóng góp ý kiến, tham gia các trò chơi nhỏ trong các buổi seminar

và giành được hạng nhất chung cuộc

- Lĩnh hội được nhiều kiến thức về giao tiếp, thuyết trình, đàm phán vàthương lượng

Trang 13

2.4 Trải nghiệm, phân tích thiết kế, vẽ các sơ đồ liên quan cho game Thời Loạn Mobile

Nội dung: Trải nghiệm game Thời Loạn Mobile, từ đó tìm hiểu, làm slide giới

thiệu các chức năng của game, vẽ ra các sơ đồ use case, sơ đồ tuần tự để thể hiệnhành vi của game

Thực hiện :

- Tìm hiểu game Thời Loạn Mobile

- Làm bài tập thiết kế slide giới thiệu các chức năng, đơn vị có trong game

- Vẽ các sơ đồ use case, sơ đồ tuần tự thể hiện hành vi của game

Kết quả :

- Nắm rõ các chức năng, đơn vị có trong game Thời Loạn Mobile

- Ứng dụng thực tế các sơ đồ vào trong thể hiện hành vi của game

2.5 Thiết kế sơ đồ, phát triển project game: Game Mobile Online phong cách thủ thành (Tower Defense)

Nội dung : Ứng dụng các kiến thức đã học vào việc thiết kế và phát triển game

Game Mobile Online phong cách thủ thành (Tower Defense), đáp ứng được cácyêu cầu tính năng cần có của một game mobile, được chia thành các giai đoạn:

- Thiết kế các sơ đồ use case, sơ đồ tuần tự:

Tìm hiểu chi tiết, nằm chắc nội dung mô tả game và tính năng trong designdocument để vẽ các sơ đồ use case, sơ đồ tuần tự mô tả hành vi người dùng tronggame Từ đó tổng hợp và thiết kế sơ đồ lớp hoàn thiện cấu trúc tổ chức các classcủa game

- Dựa theo sơ đồ đã có, tiến hành cài đặt và phát triển game:

Theo các sơ đồ đã vẽ, sử dụng kiến thức đã được training về xây dựng Client Server (Cụ thể mô tả trong phần công việc ở dưới)

-Thực hiện :

- Tham gia đầy đủ các buổi, chủ động phối hợp với các thành viên kháctrong nhóm

Trang 14

- Chủ động liên hệ hỗ trợ từ các anh mentor khi có vướng mắc về code hoặcdocument.

- Tìm hiểu về công ty và văn hóa

làm việc Cài đặt thiết bị

- Tìm hiểu về các ngôn ngữ,

framework và công cụ sử dụng

trong quá trình làm việc

- Tham gia các buổi seminar training

kỹ năng chuyên môn

- Hoàn thành assignment #1: xây

dựng 1 minigame áp dụng ngôn

ngữ, framework và công cụ được

cấp

Anh Đặng Thanh TùngAnh Võ Toàn ThuậnAnh Đặng Anh TuấnAnh Phạm Anh QuốcAnh Nguyễn Trung Hưng

100%

2

- Tham gia các buổi seminar training

kỹ năng chuyên môn

- Hoàn thành assignment #2: chơi và

tìm hiểu game Thời Loạn Mobile

Anh Đặng Thanh TùngAnh Võ Toàn ThuậnAnh Đặng Anh TuấnAnh Phạm Anh QuốcAnh Nguyễn Anh Tuấn

100%

Trang 15

- Hoàn thành assignment #3: demo 1

tính năng trong game thủ thành

Anh Phạm Gia TháiAnh Đào Tuấn Linh

3

- Tham gia các buổi seminar training

kỹ năng chuyên môn

- Tìm hiểu design document, lập kế

hoạch thực hiện build

Anh Đặng Thanh TùngAnh Võ Toàn ThuậnAnh Đặng Anh TuấnAnh Phạm Anh Quốc

100%

4

- Tìm hiểu design document

- Tham gia các buổi seminar training

kỹ năng chuyên môn

- Giao diện màn chơi

Anh Đặng Thanh TùngAnh Võ Toàn ThuậnAnh Đặng Anh TuấnAnh Phạm Anh QuốcAnh Nguyễn Dương PhongChị Nguyễn Thị NhànAnh Vũ Tiến KhangAnh Phạm Quốc Dương

100%

5

- Tìm hiểu design document

- Flow, các giai đoạn trong trận đấu

- Truy cập vị trí các ô trong game

- Class đọc config màn chơi game

Anh Đặng Thanh TùngAnh Võ Toàn ThuậnAnh Đặng Anh TuấnAnh Phạm Anh Quốc

100%

6

- Flow bắt đầu trận đấu - kết thúc

trận đấu

- Cơ chế thêm, xóa, cập nhật các

object trong game

Anh Đặng Thanh TùngAnh Võ Toàn ThuậnAnh Đặng Anh TuấnAnh Phạm Anh QuốcChị Phan Huy Thiên ThưAnh Lê Duy

100%

7

- Quái vật mẫu (sample) trong

game

- Thuật toán tìm đường cho quái vật

Sinh số lượng quái vật theo config

game trên client

Anh Đặng Thanh TùngAnh Võ Toàn ThuậnAnh Đặng Anh TuấnAnh Phạm Anh QuốcChị Lâm Hồng Loan

100%

Trang 16

- Tham gia chuỗi training kỹ năng

mềm

8

- Tháp pháo mẫu (sample) trong

game Các cách người chơi xây

dựng tháp pháo

- Xử lý các lỗi được report ở build

#1

Anh Đặng Thanh TùngAnh Võ Toàn ThuậnAnh Đặng Anh TuấnAnh Phạm Anh Quốc

- Model lưu trữ thông tin người chơi

ở server Model quản lý, thực hiện

trận đấu

- Sinh số lượng quái vật theo config

game ở server

Anh Đặng Thanh TùngAnh Võ Toàn ThuậnAnh Đặng Anh TuấnAnh Phạm Anh Quốc

100%

10

- Thiết kế và xây dựng model người

chơi BOT Các hành vi cơ bản của

BOT (xây tháp, thả quái vật)

- Tạo BOT đối đầu với người chơi

với các phong cách chiến đấu khác

nhau

- Xử lý các lỗi được report ở build

#2

Anh Đặng Thanh TùngAnh Võ Toàn ThuậnAnh Đặng Anh TuấnAnh Phạm Anh Quốc

100%

11

- Hiệu ứng hình ảnh các phép thuật

sử dụng trong game Các cách

người chơi sử dụng phép thuật

- Ảnh hưởng chỉ số của phép thuật

lên tháp pháo và quái vật (tăng

Anh Đặng Thanh TùngAnh Võ Toàn ThuậnAnh Đặng Anh TuấnAnh Phạm Anh Quốc

100%

Ngày đăng: 10/03/2022, 20:34

TỪ KHÓA LIÊN QUAN

w