Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
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
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 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 năm 2020 LỜI MỞ ĐẦU Ngày nay, với nhu cầu giải trí online ngày phát triển, ngành cơng nghiệp game theo trở thành phận khơng thể thiếu ngày khẳng định vị với phát triển cơng nghệ thơng tin toàn giới, phần cứng phần mềm Đi với xu phát triển này, ngành công nghiệp game Việt Nam khơng ngừng đổi chuyển biến phát triển để hòa nhập với năm châu bốn bể Ngồi cơng ty lớn có tiếng tăm 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ỏ lên, góp phần khơng nhỏ cho phát triển ngành game nói riêng cơng nghệ thơng tin Việt Nam nói chung, đóng góp sức cho công phát triển kinh tế xã hội nước nhà Đặc biệt bối cảnh dịch bệnh cách ly năm nay, nhu cầu giải trí giới trẻ lại cao hết, để lực lượng trẻ đặt dịng code tiếp bước cho phát triển tựa game mới, ứng dụng công nghệ mới, qua đem lại trải nghiệm tốt nhất, thú vị nhất, vui vẻ cho người Chính lẽ em định chọn cho đường lập trình game để làm định hướng cho việc học tập lao động tương lai Sau ba năm học tập trường, phần mong muốn có thêm kinh nghiệm thực tế, muốn tham gia làm game môi trường chuyên nghiệp, em có dự định thực tập hè Vì vậy, em định chọn VNG - kỳ lân Việt Nam không 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, đại, chuyên nghiệp - nơi giúp em thực dự định Người phụ trách: Vũ Hồng Phú 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ó hội thực tập công ty thông qua chương trình VNG FRESHER đầy ý nghĩa Chỉ thời gian ngắn, nhờ dẫn nhiệt tình anh Mentor, em bạn khác tạo thành nhóm thực tập tiếp thu kiến thức quan trọng để làm game Chân thành cảm ơn anh chị Mentor bỏ nhiều thời gian, công sức, sát cánh chúng em để hướng dẫn, bảo, qua hồn thành đợt thực tập Đặ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 khó khăn việc làm quen mơi trường mới, kỹ thuật để thực project, team HR training kỹ mềm nhiều nhân viên khác cởi mở, thân thiện, nhiệt tình vướng mắc em để làm sản phẩm thời gian qua Cuối 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 Hồ Chính Minh, ngày 23 tháng năm 2020 Sinh viên thực Nguyễn Du Lịch Người phụ trách: Vũ Hồng Phú Sinh Viên: Nguyễn Du Lịch NHẬN XÉT CỦA KHOA …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… Người phụ trách: Vũ Hồng Phú 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 Giới thiệu công ty VNG Sản phẩm công ty 2.1 Trò chơi trực tuyến 2.2 Nền tảng kết nối 2.3 Tài toán 2.4 Dịch Vụ Đám Mây Chương 2: Nội dung thực tập Tìm hiểu cơng ty kỹ công ty Nghiên cứu kỹ thuật 2.1 Các công cụ làm việc 2.2 Tìm hiểu framework game 2.3 Tìm hiểu framework sever Lịch trình thực tập 10 Chương 3: Chi tiết project 12 Giới thiệu game 12 1.1 Cốt truyện 12 1.2 Luật chơi 12 Thực 12 Quá trình thực tập 13 3.1 Build 1: 13 3.2 Build 14 3.3 Fix bug round cuối, nộp kết 14 TÀI LIỆU THAM KHẢO 16 TỔNG KẾT 17 Người phụ trách: Vũ Hồng Phú Sinh Viên: Nguyễn Du Lịch Phần 1: Giới thiệu công ty thực tập Giới thiệu công ty VNG VNG thành lập vào năm 2004 với tên thương hiệu VinaGame, sau đổi thành VNG Corporation để phù hợp với việc mở rộng tồn cầu hóa doanh nghiệp Đó lý công ty để tên gọi đơn giản VNG, vừa thân quen, lại vừa phù hợp với xứ mệnh Trải qua bao thăng trầm, VNG khẳng định thành cơng đồ phát triển cơng nghệ thơng tin tồn giới, liên tục công bố unicorn (kỳ lân) công nghệ khu vực Đông Nam Á với số lượng người dùng ngày tăng, khơng nước mà cịn quốc tế Hiện công ty mở trụ sở Việt Nam trụ sở nước ngồi, ngồi văn phịng khắp năm châu để tìm kiếm thị trường Ấn Độ, Brazil, … với số lượng nhân viên ngày 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 thân đồ cơng nghệ thơng tin giới với sản phẩm chính: Trị chơi trực tuyến, Nền tảng kết nối, Tài tốn, Dịch vụ đám mây Sản phẩm công ty 2.1 - Trò chơi trực tuyến VNG thiết kế game đa tảng bao gồm Android, IOS, Web PC với hai mảng lớn phát triển phát hành game, Việt Nam trường quốc tế, game tự sản xuất lẫn game phát hành từ game tiếng quốc tế Người phụ trách: Vũ Hồng Phú Sinh Viên: Nguyễn Du Lịch 2.2 Nền tảng kết nối - Bao gồm 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á nhân 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 tảng vCS, 123Go, 123Phim, cơng cụ tìm kiếm Laban.vn, v.v 2.3 - 2.4 Tài tốn Là tảng dịch vụ trung gian tốn, tài cá nhân theo xu hướng mới, với sản phẩm Cổng trung gian tốn 123 Pay, Ví điện tử ZaloPay Dịch Vụ Đám Mây - Cung cấp 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 kết nối Internet 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ú 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 tảng Chaos Age” nhằm mục đích giúp cho sinh viên tiếp cận với sản phẩm hoạt động thực hoạt động nào, giúp phát triển tư phát triển game chuyên nghiệp, rèn luyện kỹ mềm làm việc nhóm, truyết trình, kỹ giao tiếp 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 Được nghe người phụ trách giới thiệu công ty, trình thành lập 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ơng ty Ngồi ra, thực tập sinh giới thiệu cách thức làm việc công ty thời gian làm, quy định cần phải tuân thủ, cách sử dụng email cơng việc, lợi ích nhân viên công ty Kết quả: Hiểu thêm cơng ty VNG, q trình thành lập phát triển Có thêm kỹ việc sử dụng cơng cụ 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ỹ mềm Nghiên cứu kỹ thuật 2.1 Các công cụ làm việc Thời gian: ngày (1 tuần) Nội dung: Tìm hiểu cơng cụ sử dụng 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 cơng cụ giúp ích cho cơng việc sau Một số là: - TortoiseGit: ứng dụng kiểm soát sửa đổi git - IntelliJ IDEA: IDE để code client 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 phần mềm nêu Kết quả: Sử dụng thành thạo công cụ này, kết hợp sử dụng làm tập game Flappy Bird làm quen Người phụ trách: Vũ Hồng Phú Sinh Viên: Nguyễn Du Lịch Tìm hiểu framework game 2.2 Thời gian: ngày Nội dung: Tìm hiểu cách chương trình game hoạt động, hàm thuật tốn bản, có sẵn, setup từ trước để tiện cho việc phát triển game, theo dõi lỗi, tối ưu hiệu xuất sau - Lập trình hướng đối tượng JS: sử dụng JS ES5 nên chưa hỗ trợ hướng đối tượng, phải tìm hiểu cách sử dụng framework để giả hướng đối tượng - Cách quản lý nhớ: Garbage Collection JS trỏ cocos có cách quản lý nhớ khác nên phải tìm hiểu để tránh gây memory leak hay xóa đối tượng cịn cần dùng - Cách sử dụng JS binding để lập trình đa tảng Thực hiện: - Tham gia đầy đủ buổi training công ty - Làm thực hành, kiểm tra kiến thức học Kết quả: - Nâng cao kỹ lập trình với ngơn ngữ JS - Có kiến thức quan trọng cho việc lập trình game đa tảng sau - Ngồi cịn biết thêm số quy tắc việc viết code cho chuẩn, dễ đọc, dễ hiểu 2.3 Tìm hiểu framework sever Thời gian: ngày Nội dung: Tìm hiểu cách sever hoạt động - Giao tiếp qua mạng: học cách client sever giao tiếp với qua phương thức khác nhau, qua biết phân biệt sử dụng phương thức cho hiệu quả, tối ưu hóa liệu cần dùng - Lập trình song song: Vì có nhiều client có (hoặc vài) máy chủ nên việc lập trình song song bắt buộc, tìm hiểu vấn đề lập trình song song cách giải tối ưu hiệu Người phụ trách: Vũ Hồng Phú Sinh Viên: Nguyễn Du Lịch Sử dụng BitZero framework: framework nội công ty dùng để code sever, tìm hiểu cách sử dụng để đăng ký handler có kiện từ client gửi lên - Thực hiện: - Tham gia đầy đủ buổi training công ty - Làm thực hành, kiểm tra kiến thức học Kết quả: - Nâng cao kỹ lập trình Java - Hiểu rõ gặp phải cách xử lý lập trình song song Lịch trình thực tập Tuần Người hướng dẫn Cơng việc - Tìm hiểu 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 người hướng dẫn - Học kỹ mềm - Tìm hiểu framework 2+3 Mức độ hồn thành - Làm mini game - Làm diagram cho game - Code hàm Start build 1: 4+5 - Xây dựng map load map - Login Lobby - Shop and update - Các thao tác map 6+7 - Nâng cấp nhà - Luyện lính - Đồng client 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 đồ 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 10 + 11 - Fix bug build - Phó UI - Các cơng trình phịng thủ lính - Logic chiến đấu 12 + 13 - Đồng client sever - Fix bug phát sinh - Gửi QC 14 + 15 16 - Fix bug build - Gửi QC check lần cuối - Báo cáo kết Người phụ trách: Vũ Hồng Phú 11 Sinh Viên: Nguyễn Du Lịch Chương 3: Chi tiết project Giới thiệu game Game lấy ý tưởng từ trò chơi Clash of Clans tiếng với mong muốn tạo game chiến lược thả quân thời gian thực Việt Nam phát triển 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 sức hot không nhỏ từ phát hành đến 1.1 Cốt truyện Thời Loạn lấy bối cảnh thời trung cổ, người chơi tham gia trị chơi online điện thoại trở thành phần chiến với người chơi khắp 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 riêng mình, xây dựng thành trì ngày lớn mạnh chinh phạt tất tộc yếu 1.2 Luật chơi 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ủ gia nhập bang hội lớn để gia tăng sức mạnh, người chơi thỏa sức thể tài dụng binh cầm quân game dàn trận bàn tán nhiều thời gian qua Không đấu trí 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 an hem bang hội, tham dự kỳ Đệ Nhất Bang Hội mang cho toàn bang chiến thắng lẫy lừng phần thưởng đá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, cướp tài nguyên, nâng cấp nhà tài nguyên hay phòng thủ Thực Nhóm gồm thành viên 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 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 giúp đỡ khác từ nhân viên Team công ty Q trình thực tập 3.1 Build 1: Cơng việc: chia làm module ứng với tuần: - Module 1: • Đọc Design Document thiết kế diagram • Thống format liệu • Các data cần thiết - Module 2: • Xây dựng map load map với liệu giả • Tải data từ sever, hiển thị thơng tin loppy • Dựng shop - Module 3: • Các thao tác control map (drag move, zoom, …) • Hồn thiện loppy • Mua vật phẩm từ shop - Module 4: • Nâng cấp cơng trình • Luyện qn • Tinh chỉnh lỗi • Gửi QC lần Kết : - Độ hồn thiện tính đạ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 Công việc: chia làm module ứng với tuần - Module 1: • Fix bug build • Làm UI phó - Module 2: • Cơng trình phịng thủ • Lính cơng - Module 3: • Logic chiến đấu • Animation • Đồng 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 Kết : Đã hoàn thành toàn tính Fix bug round cuối, nộp kết 3.3 Công việc: - Fix bug build 2, chuẩn bị slide báo báo - Tổng kết, trao chứng Kết quả: Hồn thành thành cơng kỳ fresher với kết tốt, 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 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 số tài liệu nội công ty nằm phạm vi bảo mật chiếu theo hợp đồng lao động nên không 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ới khoảng tháng vừa training vừa luyện tập tháng làm project, nhóm hồn thành xuất sắc game chạy đa 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ớn với khối lượng công việc tương đối nhiều nhờ có anh memtor giúp sức, đề kế hoạch hợp lý giúp team hoàn thành tiến độ giao với chất lượng cao Game phát triển theo framework với tính kế thừa nên dễ dàng nâng cấp, bảo trì, sửa đổi sau để nâng tầm game lên mức cao Cuối xin cảm ơn giúp đỡ tồn thể nhân viên cơng ty giúp đỡ chúng em môi trường làm việc mở, tạo cho chúng em cảm giác khó tả q trình làm game, cảm ơn nhóm trainer cung cấp kiến thức cách cô đọng đầy đủ, cảm ơn team HR với học kỹ mềm có khơng hai, cảm ơn đến q thầy giúp đỡ q trình thực tập báo cáo Người phụ trách: Vũ Hồng Phú 17 Sinh Viên: Nguyễn Du Lịch ... vObjectStorage, Tape Backup, vCloudcam, Vending Machine,… Người phụ trách: Vũ Hồng Phú 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 tảng Chaos Age? ??... trường quốc tế, game tự sản xuất lẫn game phát hành từ game tiếng quốc tế Người phụ trách: Vũ Hồng Phú Sinh Viên: Nguyễn Du Lịch 2.2 Nền tảng kết nối - Bao gồm tảng kết nối đa dạng, đa dịch vụ, phục... Cách sử dụng JS binding để lập trình đa tảng Thực hiện: - Tham gia đầy đủ buổi training công ty - Làm thực hành, kiểm tra kiến thức học Kết quả: - Nâng cao kỹ lập trình với ngơn ngữ JS - Có kiến