1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

28 6 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

Tiêu đề Báo cáo thực tập Mobile Game Developer
Tác giả Phạm Hoài Bảo
Người hướng dẫn Anh Phạm Khắc Cảnh
Trường học Trường đại học Công nghệ Thông tin
Chuyên ngành Kỹ thuật phần mềm
Thể loại Báo cáo thực tập
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 28
Dung lượng 5,6 MB

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

Nội dung

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ứcngoà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ũngnhư sự hiểu biết về

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

Trang 2

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ầnkhô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 quantrọ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ộtngà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ớinhữ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ứcngoà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ũngnhư 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ểnchú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 chobạ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ếnthứ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ệnthự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áttriể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ộcsống

Trang 3

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 đượcthự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 anhPhạ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 khilà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ănglậ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

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

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

Trang 6

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ữngsả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ậptrung 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ảngmarketing 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" trongthiế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 trungcủ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ếtcủ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ườichơ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ắmbắ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ườnggame 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ở đặttại thành phố Hồ Chí Minh, Việt Nam, tham gia vào ngành phát triển game toàn cầuvớ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ấucộ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 đầubả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ảnphẩm đã phát hành

Trang 7

Đầu năm 2019, đạt được mốc 1 tỷ giờ chơi và sản phẩm Woody Battle đượcfeature 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ànhnhiề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 đượcxế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ạiAppy 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 thamgia mạng lưới Endeavor toàn cầu Trước đó, chúng ta đã có Giao Hàng Nhanh, TheCoffee 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ơitrong đó người chơi cạnh tranh để loại bỏ các khối của đối thủ Trò chơi đã được tảixuố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 Khichơ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 đặtchú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ếnlượ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ơivớ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ốnghơ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ừ độngvậ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

Trang 8

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ềunà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áchtuyệ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ơithay 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ưngkhó 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ìmkiế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ơikhá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áckhố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 đầythử thách nhưng bổ ích Trò chơi có nhiều cấp độ khác nhau, từ dễ đến khó Điều nàygiữ 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ườichơ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ảngxế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 đangcải thiện như thế nào

Trang 9

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áchgiới thiệu về công ty, quá 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, … Ngoài ra, thực tập sinh còn được giới thiệu về văn hóa làm việctrong 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ênthiế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 ratrong 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ểncá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ộithoạ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

Trang 10

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ệpxâ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 gianthực và đáp ứng cao Trong các dự án của công ty, đây là nơi để viết và lưutrữ các tài liệu về Game Design - là phương thức chính để giao tiếp giữagame designer và game developer

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ácdeveloper được diễn ra suôn sẻ

Cocos2d-x là một khung đa nền tảng, có nghĩa là các trò chơi được phát triểnvớ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

Trang 11

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àonhững dự án nhỏ:

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# trongviệc phát triển các Game bằng Unity

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ẳnghạ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ấpmộ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ànhphần

Trang 12

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úpcả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ểncủa các dự án riêng biệt

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, ngoài phát triển cácgameplay 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ữngcustom API bằng Javascript trên nền tảng của Playfab

Tìm hiểu và xử lý những vấn đề gặp phải của Unity sau khi export sang cácproject native của Android và IOS Khắc phục những sự cố gặp phải thường là do cácthư 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

Trang 13

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

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

Trang 14

2.3.3 Quá 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ậnGame Artist, code hoàn chỉnh màn hình Shop cũng như những cửa sổ và itemtrong Shop

● Xử lý dữ liệu được lấy từ Backend thông qua API để load lên những IAP thànhcá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ếtthú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ở ứngdụ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ôngcầ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ànchơi với tính năng chính là đặt các ô vuông trong trò chơi vào các vị trí tương ứngngay trên chính Unity và có thể xuất dữ liệu đó thành file JSON để lưu lại dữ liệumà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ựchiện lưu dữ liệu

Ngày đăng: 04/09/2023, 20:57

w