Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
5,6 MB
Nội dung
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 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 phần thiếu sống giới trẻ Chúng sử dụng để giải trí, tương tác xã hội, học tập, giải vấn đề sáng tạo Trong bối cảnh thiết bị di động tiếp tục trở nên mạnh mẽ phổ biến hơn, trò chơi di động trở nên quan trọng sống Do đó, phát triển trò chơi di động ngành phát triển nhanh chóng Cùng với nhu cầu nhân lực vơ lớn lợi ích hấp dẫn Phát triển trị chơi di động khó khăn địi hỏi nhiều kỹ kiến thức ngồi kiến thức Technical mà cịn địi hỏi phải tìm hiểu nghiên cứu sâu hiểu biết cơng nghệ Bất chấp khó khăn, phát triển trò chơi di động trải nghiệm bổ ích Nếu bạn thích trị chơi có kỹ phát triển chúng, chắn phát triển trò chơi di động nghề nghiệp tuyệt vời dành cho bạn Sau ngày tháng môi trường đại học, với mong muốn vận dụng kiến thức học có trải nghiệm môi trường thực tiễn, em định ứng tuyển vào Athena Studio – môi trường lý tưởng chun nghiệp để thực hóa mong muốn Em cũng vui làm việc phát triển trị chơi, làm việc với nhóm người tài để đưa trò chơi vào sống 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 hội thực tập công ty Dù thời gian ngắn nhờ dẫn nhiệt tình anh Phạm Khắc Cảnh, em tiếp thu kiến thức quan trọng để tham gia dự án thực tế Chân thành cảm ơn anh Phạm Khắc Cảnh anh chị team Mainbase bỏ nhiều thời gian, công sức để hướng dẫn, hướng dẫn, giúp đỡ em tận tình làm quen môi trường việc tiếp cận kiến thức cơng nghệ, kỹ lập trình tư sản phẩm để thực tốt dự án cá nhân dự án thực tế thời gian qua Em xin cảm ơn thầy cô 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 TP HCM, ngày 25 tháng 06 năm 2023 Phạm Hoài Bảo NHẬN XÉT CỦA KHOA MỤC LỤC LỜI MỞ ĐẦU .2 LỜI CẢM ƠN .3 MỤC LỤC CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP 1.1 Giới thiệu 1.2 Sản phẩm công ty 1.3 Lịch làm việc thực tập công ty CHƯƠNG 2: NỘI DUNG THỰC TẬP 10 2.1 Tìm hiểu cơng ty kỹ công ty 10 2.2 Nghiên cứu kỹ thuật 10 2.2.1 Tuần 10 2.2.2 Tuần 10 2.3 Dự án Tile Home Makeover (Tile Matching) 10 2.3.1 Công nghệ 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ệ 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ệ 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 25 TÀI LIỆU THAM KHẢO 26 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 công ty công nghệ đa quốc gia chuyên cung cấp sản phẩm trò chơi di động phục vụ cho người tiêu dùng khắp giới Athena tập trung vào sản phẩm game thuộc dòng casual - giải đố tự tạo tảng marketing trực tuyến Logo Athena Studio mơ tả cách điệu Athena, nữ thần trí tuệ, thủ công chiến tranh Hy Lạp Logo kết hợp mũ bảo hiểm giáo chữ "A" thiết kế Biểu trưng thể cam kết Athena Studio việc tạo trò chơi di động chất lượng cao thú vị hấp dẫn Mũ bảo hiểm tượng trưng cho tập trung công ty vào sáng tạo đổi mới, giáo tượng trưng cho cam kết công ty chất lượng sản phẩm xuất sắc Chữ "A" đại diện cho tên công ty thể mục tiêu công ty mang lại niềm vui phấn khích cho người chơi khắp giới Logo thiết kế đơn giản có sức ảnh hưởng, nắm bắt chất sứ mệnh Athena Studio chắn bật thị trường game di động đơng đúc Athena Studio thức thành lập vào tháng năm 2015 có trụ sở đặt thành phố Hồ Chí Minh, Việt Nam, tham gia vào ngành phát triển game toàn cầu với mục tiêu tạo sản phẩm game chất lượng cao Cuối năm 2015 đánh dấu cột mốc 10 triệu chơi người dùng sản phẩm mắt Năm 2017, lần sản phẩm công ty - Woody Puzzle đứng đầu bảng xếp hạng Canada Nhật Với 20 triệu người chơi tất sản phẩm phát hành Đầu năm 2019, đạt mốc tỷ chơi sản phẩm Woody Battle feature toàn cầu Google Play Store Vào năm 2020, văn phòng Athena mở rộng gấp lần, phát hành nhiều sản phẩm Vào năm 2021, trò chơi Athena vượt mốc tỷ chơi, liên tục đứng đầu bảng xếp hạng AppStore Nhật Bản, Pháp Úc Ngày nay, Athena đối tác lớn Google, Apple Facebook Nó liên tục xếp hạng số 50 nhà sản xuất trò chơi giải đố hàng đầu Mỹ Những thành tựu lớn công ty bao gồm: ● Phát hành 60 tựa game, đạt tỷ lượt tải xuống trò chơi họ ● Nổi bật Google Play App Store ● Giành nhiều giải thưởng, có giải "Game di động hay nhất" Appy Awards ● Hợp tác với thương hiệu lớn, chẳng hạn Disney Warner Bros Athena Studio thành viên thứ 10 giới khởi nghiệp Việt Nam tham gia mạng lưới Endeavor tồn cầu Trước đó, có Giao Hàng Nhanh, The Coffee 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ơi người chơi cạnh tranh để loại bỏ khối đối thủ Trò chơi tải xuống tỷ lần xuất Google Play App Store Trò chơi cách tuyệt vời để cải thiện khả phối hợp tay mắt phản xạ bạn Khi chơi, bạn cần nhanh chóng phản ứng với khối bị rơi đảm bảo bạn đặt chúng vào vị trí Woody Block Puzzle Battle trò chơi thú vị đầy thử thách dành cho người chơi lứa tuổi Đó cách tuyệt vời để kiểm tra chiến lược kỹ giải vấn đề bạn, đồng thời thú vị chơi với bạn bè gia đình Pixel Art: Color Island: Trị chơi tơ màu nghệ thuật pixel nơi người chơi tạo tác phẩm nghệ thuật pixel riêng Trị chơi tải xuống 100 triệu lượt, Trị chơi có nhiều hình ảnh khác màu sắc, từ động vật, phong cảnh đến đồ vật Người chơi chọn từ nhiều màu khác để tơ màu cho hình ảnh họ sử dụng cơng cụ khác để tạo hiệu ứng khác nhau.Trò chơi có nhiều cấp độ khác nhau, từ dễ đến khó Điều cho phép người chơi cấp độ kỹ thưởng thức trò chơi Color Island trò chơi thú vị thư giãn phù hợp với người chơi lứa tuổi Đó cách tuyệt vời để thể sáng tạo bạn để 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ơi thay phiên cố gắng tìm từ lưới chữ Trò chơi dễ học khó thành thạo Người chơi phải sử dụng vốn từ vựng kỹ giải vấn đề để tìm nhiều từ tốt Trị chơi có nhiều từ khác nhau, từ từ phổ biến đến từ khó hiểu Điều giữ cho trò chơi đầy thử thách thú vị Người chơi thách thức bạn bè gia đình họ trực tuyến Đây cách tuyệt vời để cạnh tranh với người khác xem người chơi tìm kiếm từ tốt Người chơi xem cách họ xếp hạng so với người chơi khác bảng xếp hạng Đây cách tuyệt vời để theo dõi tiến trình bạn xem bạn cải thiện Block Jewel Puzzle: Một trị chơi giải đố ghép người chơi ghép khối màu để xóa chúng khỏi bàn cờ Trị chơi khen ngợi lối chơi đầy thử thách bổ ích Trị chơi có nhiều cấp độ khác nhau, từ dễ đến khó Điều giữ cho trò chơi đầy thử thách thú vị Người chơi sử dụng Power-up để giúp họ xóa nhiều khối Điều bổ sung thêm lớp chiến lược cho trò chơi Người chơi xem cách họ xếp chồng lên so với người chơi khác bảng xếp hạng Đây cách tuyệt vời để theo dõi tiến trình bạn xem bạn cải thiện CHƯƠNG 2: NỘI DUNG THỰC TẬP 2.1 Tìm hiểu công ty kỹ công ty Thời gian: ngày Nội dung: giới thiệu công ty, cách tổ chức công ty, nghe người phụ trách giới thiệu công ty, trình thành lập phát triển, quy trình làm việc cơng ty, phịng ban, … Ngồi ra, thực tập sinh cịn giới thiệu văn hóa làm việc công ty thời gian làm, quy định, cách sử dụng email công việc, Kết quả: Kết thúc thời gian tìm hiểu, em có hiểu sơ cách tổ chức nhân Công ty, giúp thân tự định hướng làm việc ngành sản xuất game thiế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 : ngày Nội dung: Giới thiệu số công cụ sử dụng công ty ○ Jira: công cụ để quản lý dự án, kiểm soát theo dõi vấn đề xảy dự án, quản lý tiến độ dự án thực ○ Slack: ứng dụng làm việc giúp team làm việc hiệu thông qua tương tác, trao đổi qua khung chat linh hoạt Slack lại tập trung phát triển tính giúp việc tương tác nhóm mạnh mẽ, gắn kết hội thoại dễ tìm kiếm theo dõi theo dự án riêng biệt, thành viên gọi, trao đổi, chia sẻ liệu, tệp kết nối với ứng dụng khác có mở cổng API nhiều phần mềm ○ Confluent: tảng dựa thiết kế để giúp doanh nghiệp xây dựng, vận hành quản lý hệ thống liệu phân tán thời gian thực Với Confluent, người dùng xử lý, lưu trữ phân phối liệu từ nhiều nguồn khác nhau, đồng thời cung cấp khả xử lý liệu thời gian thực đáp ứng cao Trong dự án công ty, nơi để viết lưu trữ tài liệu Game Design - phương thức để giao tiếp game designer game developer Kết quả: Em có hiểu biết cách sử dụng công cụ để thực task cơng việc Tao điều kiện cho em giao tiếp hiệu công việc 2.2.1 Standard Code Thời gian : ngày Nội dung: Coding standard tập hợp quy tắc hướng dẫn cách viết mã ngôn ngữ lập trình cụ thể Nó bao gồm quy tắc cú pháp, đặt tên biến, định dạng mã, xử lý lỗi, bảo mật nhiều yếu tố khác Mục tiêu coding standard tạo mã nguồn dễ đọc, dễ hiểu, dễ bảo trì dễ mở rộng Việc tuân thủ coding standard giúp đảm bảo thành viên dự án làm việc cách hiệu giảm thiểu lỗi mã nguồn Kết quả: Tham khảo số dự án cơng ty, để có nhìn tổng quan Standard, giúp cho việc code thân tốt giúp việc làm việc developer diễn suôn sẻ 2.2.2 Cocos2Dx Thời gian : tuần Nội dung: Tìm hiểu sử dụng Game Engine Cocos2Dx - Cocos2d-x cơng cụ phát trị chơi 2D mã nguồn mở miễn phí viết C++ Đây khung phát triển trò chơi phổ biến giới sử dụng nhiều nhà phát triển, từ người có sở thích đến studio trị chơi chun nghiệp Cocos2d-x khung đa tảng, có nghĩa trị chơi phát triển với chạy nhiều tảng khác nhau, bao gồm iOS, Android, Windows, macOS Linux Những dự án Cocos2Dx thường quảng cáo chơi để nhúng vào ứng dụng 10 2.3.3 Q trình thực hiện: Tính Shop In-App-Purchase: ● Dựa vào mô tả Game Design Document sprite vẽ phận Game Artist, code hồn chỉnh hình Shop cửa sổ item Shop ● Xử lý liệu lấy từ Backend thông qua API để load lên IAP thành item shop với UI dựa liệu ● Kết nối Shop Item để gọi API mua IAP tương ứng ● Deploy tính kiểm tra lỗi phát sinh từ Firebase Crashlytics phận QA Tính Health: ● Xem mô tả Game Design Document tính Health - tức số lần chơi chơi trước đợi hồi phục ● Thêm liệu Health vào thông tin người dùng, cập nhật kiện vào/kết thúc chơi ứng với yêu cầu Health Game Designer ● Lưu mốc thời gian chơi người chơi, hồi phục Health mở ứng dụng dựa vào mốc thời gian lưu (chạy thiết bị người chơi mà không cần backend) ● Thêm liệu Health backend để ứng với liệu từ thiết bị người dùng ● Deploy tính kiểm tra lỗi phát sinh Công cụ thiết kế chơi: Những chơi đọc từ liệu lưu file JSON, liệu tạo Game Designer từ Google Sheets Thiết kế cơng cụ làm chơi với tính đặt vng trị chơi vào vị trí tương ứng Unity xuất liệu thành file JSON để lưu lại liệu chơi ● Dựa vào thông tin chơi cách đọc chơi có, tạo cơng cụ để xuất liệu từ thao tác hình ● Hiển thị thơng tin lưu thành ô vuông tương tự chơi Lưu liệu vào nhớ tạm, cập nhật liệu vào file thực lưu liệu 14 ● Kiểm tra liệu chơi: kiểm liệu chơi có hợp lệ, thông báo loại liệu để GD thiết kế chơi dễ chỉnh sửa ● Preview hình ảnh thơng tin chơi hình chọn chơi để chỉnh sửa ● Play Test chơi dựa vào logic sẵn từ luồng game loại bỏ thơng tin khơng cần thiết liệu người dùng để tạo hình chơi thử 15 2.3.4 Kết quả: 2.4 Dự án Tile Blast 2.4.1 Công nghệ kiến trúc hệ thống: ● ● ● ● Game Engine: Unity Nền tảng: Android Backend: Microsoft Azure Playfab Kiến trúc: MVC 2.3.2 Mô tả dự án: Dự án Tile Blast game giải đố thuộc thể loại Match-3 với điểm khối vuông để chọn có chức đặc biệt, hoạt động khác với khối bình thường, vd: khối băng khơng chọn khối thường, lớp băng có khối bên cạnh chọn Điều kiện thắng chơi khác thu thập loại khối vuông, hoạt phá hết khoảng thời gian cụ thể 16 Dự án phát triển dựa vào source code core gameplay dự án Tile Home Makeover Những tính thêm vào file partial class class game cũ, hạn chế thay đổi logic từ source code cũ Những file lưu thư mục tách biệt với source code cũ 17 2.3.2 Quá trình thực hiện: Tạo Dự án từ Source Code cũ: ● Thiết lập backend PlayFab để lưu liệu người chơi tương ứng ● Chỉ chép phần Core - gameplay match-3 dự án Tile Home Makeover, loại bỏ phần khơng chưa cần thiết (Trang trí phịng ở, Economy, Shop, Mission, Firebase, Ads, ), thay đổi kết nối với Backend để giao tiếp với PlayFab ● Thay đổi cấu trúc liệu chơi để xử lý khối vuông chức cần lưu nhiều liệu ● Thay đổi luồng hoạt động ứng dụng để game chạy tính Đảm bảo phần gameplay match-3 hoạt động bình thường ● Thay đổi số Logic để phù hợp với cách hoạt động gameplay Tính khối đặc biệt: ● Làm việc với Game Designer để thống cách hoạt động khối đặc biệt ● Code logic khối đặc biệt, nhận file sprite từ phận game Logic để xử lý việc hiển thị khác biệt khối ● Thêm liệu lưu trữ để đáp ứng khối đặc biệt (khối có nhiều state, có kích cỡ lớn bình thường) 18 ● Build project với nhận Feedback từ Game Designer Chỉnh sửa logic cách hiển thị phù hợp với mong muốn GD ● Nhận khối đặc biệt lặp lại công việc Công cụ thiết kế Level: ● Sao chép Công cụ tạo chơi dự án Tile Home Makeover, thay đổi cách lưu liệu để phù hợp với liệu chơi thay đổi 19 ● Thay đổi Thông báo kiểm tra liệu chơi cho tương ứng với dự án thay đổi logic thông báo để đáp ứng với liệu khác ● Nhận yêu cầu Game Designer để thêm tính cho Công cụ thiết kế (Ẩn số khối, Di chuyển khối bị ẩn, Auto zoom, kích cỡ khối vng) ● Cập nhật tính play test tương ứng với liệu khối đặc biệt 20 ● Nhận feedback tính cơng cụ từ Game Designer chỉnh sửa cho phù hợp ● Update số tính Tile Blast sang dự án cũ Tile Home Makeover Xử lý Native Android: ● Sửa lỗi thư viện không hoạt động/ sai phiên build Android ● Sửa UI không hoạt động mong muốn Android ● Thay đổi kích cỡ file ảnh để hiển thị tốt Android tốn tài nguyên ● Chỉ chép phần Core - gameplay match-3 dự án Tile Home Makeover, loại bỏ phần không chưa cần thiết (Trang trí phịng ở, Economy, Shop, Mission, Firebase, Ads, ), thay đổi kết nối với Backend để giao tiếp với PlayFab ● Thay đổi cấu trúc liệu chơi để xử lý khối vuông chức cần lưu nhiều liệu ● Thay đổi luồng hoạt động ứng dụng để game chạy tính Đảm bảo phần gameplay match-3 hoạt động bình thường 21 ● Thay đổi số Logic để phù hợp với cách hoạt động gameplay 2.4 Dự án Magical Survival 2.4.1 Công nghệ kiến trúc hệ thống: ● Game Engine: Unity ● Nền tảng: Android ● Kiến trúc: MVC 2.4.2 Mô tả dự án Dự án Magic Survival game top-down với yếu tố Rogue-lite, người chơi nâng kỹ nâng cấp chúng chơi, kỹ người chơi thua Sau chơi người chơi nhận vàng để nâng cấp vũ khí để xa vòng chơi khác Trò chơi lấy bối cảnh Fantasy vào vai phù thuỷ chống chọi với quái vật 2.3.2 Quá trình thực hiện: Phát triển gameplay bắn đạn: ● Code logic nảy bật tường bật quái vật viên đạn mà không sử dụng đến vật lý game engine để tăng perform game ● Dùng Asset joystick có sẵn để thiết kế input trò chơi theo tùy chọn trò chơi (Cố định, di chuyển được, theo hướng định) ● Tạo cách quản lý đạn hiệu tốn tài ngun 22 ● Định hình thông tin số người chơi, áp dụng chúng vào logic bắn đạn Tính quái vật: ● Code loại quái vật có số cố định thay đổi, hiển thị máu, cách di chuyển logic bị ● Làm việc với Game Designer để định tính quái vật đặc biệt cách chơi hoạt động ● Xử lý logic quái vật nhận feedback từ Game Designer ● Cập nhật hình ảnh quái vật từ file sprite phận Game Artis ● Build Project nhận feedback, sửa lỗi logic phát sinh Tính Kỹ Vũ Khí: ● Dựa Game Design Document bàn bạc với GD, xây dựng số Vũ khí theo cấp độ để người chơi nhận số vào chơi ● Xây dựng hệ thống Kỹ nâng cấp mà người chơi nhận Xử lý logic kỹ đặc biệt 23 ● Xử lý việc thay đổi số tạm thời người chơi từ số vũ khí số cộng thêm từ kỹ ● Phát triển tính Spell book, có khả đặc biệt thời gian ngắn nhận vật phẩm ● Build Project nhận feedback từ GD, sửa lỗi phát sinh Tính thay đổi số game: ● Làm tính đọc file JSON để đọc liệu để biến chúng thành thông số trị chơi số vũ khí, cấp độ, số quái vật 24 ● Tạo Spreadsheet với thông tin tưởng ứng để Export thành file Json để đọc liệu vào trị chơi Tính Level Màn chơi: ● Phát triển tính spawn quái vật từ vị trí cố định ngẫu nhiên với cách hoạt động bàn bạc với phận Game Designer ● Tạo Spreadsheet chơi cách đọc tương tự đọc liệu số chơi ● Hiển thị hình nhận Skill tương ứng với thiết kế chơi ● Xây dựng pop-up UI tạm thời để vào chơi chơi cách đầy đủ ● Build dự án nhận Feedback từ Game Designer, sửa lỗi phát sinh 25 CHƯƠNG 3: TỔNG KẾT Quãng thời gian thực tập […] giúp em cải thiện thân nhiều quy trình làm việc thực tế, tác phong người kỹ sư phần mềm Được làm việc đây, em học thêm kỹ mềm sử dụng mail, quản lý ticket, làm việc nhóm, giao tiếp với cấp trên, … Chỉ thời gian hạn chế, em hoàn thành dự án cá nhân trình training với tính năng, u cầu đặt ban đầu Khi tham gia vào dự án thực tế, em hoàn thành tốt tác vụ hạn đạt chất lượng tốt 3.1 Điểm mạnh Trong trình làm việc em nhận có điểm mạnh sau: Khả tự tìm hiểu giải vấn đề, cách xử lý khó khăn phải thực project có Dev, giao tiếp tốt với team khác công ty để hoàn thành projects giao mong đợi, có khả thực task cách nhanh chóng 3.2 Điểm yếu Trong q trình làm việc em nhận có điểm chưa tốt sau: Quản lý thời gian chưa tốt, chưa xác định thời gian để thực công việc, chưa hiểu ý game designer dẫn đến chức không hoạt động ý muốn 3.3 Chuẩn đạt Goal Mục tiêu môn học Điểm G1 Nắm bắt xu hướng, nhu cầu xã hội tính đặc thù doanh nghiệp 9/10 G2 Hiểu giải thích khái niệm bản, thuật ngữ sơ đồ hệ thống dự án 9/10 G3 Nắm quy trình, phương pháp cơng nghệ phát triển sản phẩm phần mềm doanh nghiệp 8/10 G4 Có khả tìm hiểu vấn đề, mơ hình hóa vấn đề tham gia giải vấn đề 9/10 26 G5 Phát triển kỹ tư duy, kỹ làm việc nhóm kỹ trình bày 9/10 G6 Đọc, hiểu tài liệu giao tiếp tiếng Anh 9/10 27 TÀI LIỆU THAM KHẢO MVC in Game Development (gamedeveloper.com) Entity Component System: An Introductory Guide | Simplilearn DOTS - Unity’s Data-Oriented Technology Stack 28