Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
690,12 KB
Nội dung
[Số trang] 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 3D TRÊN ANDROID Công ty thực tập : Công ty TNHH Phát Triển Phần Mềm VNG Người phụ trách : Nguyễn Đăng Quang Thực tập sinh : Nguyễn Đông Anh TP Hồ Chí Minh, tháng 01 năm 2021 [Số trang] LỜI MỞ ĐẦU Ngày nay, ngành công nghiệp game phận thiếu ngành công nghiệp phần mềm Với tốc độ phát triển vô mạnh mẽ, ngành game nhân tố kích thích phát triển công nghệ thông tin giới, phần cứng phần mềm Cùng với xu phát triển giới, Việt Nam ngoại lệ Ngành công nghiệp game non trẻ Việt Nam phát triển mạnh mẽ, để hòa nhập với công ty hàng đầu game giới Bên cạnh công ty game lớn giới, công ty game start-up Việt Nam (VNG) gia nhập vào thị trường Việt Nam, góp phần lớn vào phát triển tích cực ngành game Việt Ngành game sinh nhu cầu giải trí giới trẻ thiết bị cơng nghệ Và giới trẻ nguồn nhân lực quan trọng cho việc phát triển ngành game sau Vì lý này, em định chọn lập trình game làm định hướng cho việc học tập Sau ba năm học tập trường, mong muốn có thêm kinh nghiệm thực tế, muốn tham gia làm game mơi trường chun nghiệp, em có dự định thực tập hè Vì vậy, em định chọn VNG - môi trường lý tưởng, đại, chuyên nghiệp - nơi giúp em thực dự định [Số trang] LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công ty TNHH Phát Triển Phần Mềm VNG Việt Nam tạo điều kiện cho em có hội thực tập công ty Chỉ thời gian ngắn, nhờ dẫn nhiệt tình nhóm trainer, nhóm thực tập chúng em tiếp thu kiến thức quan trọng để làm game 3D Chân thành cảm ơn anh chị nhóm trainer bỏ nhiều thời gian,cơng sức để hướng dẫn chúng em hồn thành đợt thực tập Đặc biệt cảm ơn anh Nguyễn Đăng Quang, training Android, hướng dẫn, giúp đỡ cho chúng em tận tình khó khăn cơng việc, đến khó khăn việc làm quen với mơi trường mới; cảm ơn chị Liên Bích Quyên, training 3D, hỗ trợ chúng em nhiều vấn đề kỹ thuật 3D, Android trình làm game; cảm ơn anh Phạm Đình Cát, dẫn chúng em cách làm báo cáo, lên kế hoạch, kỹ thiếu; cảm ơn anh Trần Thế Sơn, anh Phạm Phú Hào, training cho chúng em kiến thức quan trọng C+ +, 3D để làm sản phẩm thời gian qua Cũng 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 [Số trang] NHẬN XÉT CỦA KHOA [Số trang] MỤC LỤC MỤC LỤC Chương 1: Giới thiệu công ty thực tập 2 Giới thiệu công ty VNG Sản phẩm công ty .2 Chương 2: Nội dung thực tập .3 Tìm hiểu cơng ty kỹ công ty .3 Nghiên cứu kỹ thuật .3 Thực project Lịch làm việc .7 Chương 3: Chi tiết project .9 Giới thiệu Game Thực 11 Kế hoạch 11 TÀI LIỆU THAM KHẢO 13 TỔNG KẾT 14 [Số trang] Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty VNG VNG công ty công nghệ Việt Nam, thành lập vào năm 2004 với mảng sản phẩm Trị chơi trực tuyến, Nền tảng kết nối, Thanh toán điện tử Dịch vụ điện toán đám mây Sau 15 năm hoạt động, VNG doanh nghiệp khởi nghiệp kỳ lân Việt Nam định giá tỷ USD Sản phẩm công ty Hê sinh thái sản phẩm VNG bao gồm nhóm sản phẩm chính, tập trung vào ứng dụng, giải pháp mang đến trải nghiệm phong phú tiện ích thường ngày cho người sử dụng: 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 Một số sản phẩm tiêu biểu: vCloudcam, 123CS, Cloud server, IoT Hub, vCloudStack,… Data Center VNG có hai Data Center đạt tiêu chuẩn Tier-3, đặt TP.HCM (Công viên Phần mềm Quang Trung, Q 12) Hà Nội (khu Cơng nghệ cao Hịa Lạc) với tổng diện tích 1.700 m 2, cơng suất điện cung cấp 1.2 MW VNG Games VNG Games nhánh trực thuộc công ty VNG, bao gồm việc xin giấy phép phát hành tựa game từ thị trường quốc tế Việt Nam phát hành tựa game Việt Nam thị trường quốc tế Ngồi cịn tổ chức kiện giải đấu game khu vực Việt Nam Kể từ 2005 đến nay, VNG Games tích lũy nhiều sản phẩm trị chơi hấp dẫn có đến Studio vận hành game [Số trang] Chương 2: Nội dung thực tập Đợt thực tập với chủ đề “Lập trình game 3D Android” nhằm mục đích giúp sinh viên thực tập đào tạo tồn diện lập trình game 3D Android, đồng thời rèn luyện kỹ mềm làm việc nhóm, thuyết trình, giao tiếp Tại cơng ty, sinh viên có hội học tập, khám phá làm việc môi trường phát triển game chun nghiệ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, q 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… Kết : 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 email cơng việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm Nghiên cứu kỹ thuật 2.1 Các công cụ làm việc Thời gian : ngày 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, supervisor 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ố phần mềm số Tortoise Git - sử dụng quản lý source code, Jira – sản phẩm cho phép theo dõi bug quản lý dự án, Excel - chương trình soạn thảo văn hữu ích phổ biến Thực : Thực hành sử dụng phần mềm nêu Kết : Lập trình sử dụng cơng cụ miễn phí, giúp dễ dàng kết hợp cơng cụ với 2.2 Tìm hiểu ngơn ngữ C# nâng cao Thời gian : ngày (1 tuần) Nội dung : Được training kỹ thuật C# nâng cao, kiến thức quan trọng cho việc tối ưu Android - Lập trình hướng đối tượng Các kiến thức lập trình hướng đối tượng khái niêm, đặc tính tính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình Ngồi ra, thực tập sinh hướng dẫn cách thiết kế lớp cho đối tượng game - Con trỏ : [Số trang] Con trỏ môt phần quan trọng lập trình game, cần phải sử dụng trỏ để cấp phát động, truyền tham số qua lại hàm, lớp - Quản lý nhớ Thực tập sinh hướng dẫn cách cấp phát, quản lý nhớ cho tối ưu, tránh rò rỉ nhớ, phần quan trọng lập trình game điện thoại, nhớ điện thoại khơng thể lớn máy tính - STL : Cung cấp phương pháp để sử dụng STL game STL có sẵn tiện ích list, vector, input, output … chuẩn Áp dụng STL lập trình C# làm tăng tốc độ lập trình, giúp lập trình viên tiết kiệm thời gian Điều quan trọng là chuẩn C#, nên tương thích nhiều tảng khác nhau, so với thư viện từ bên thứ ba Thực : - 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 : - 2.3 Nâng cao kỹ lập trình với ngơn ngữ C# Có kiến thức quan trọng cho việc lập trình game mobile 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 Lập trình 3D với Unity Nội dung: Các kiến thức Unity để làm game đơn giản - Khái niệm Unity Năm khái niệm Unity Ngồi ra, trainer cịn cung cấp cho thực tập sinh khái niệm hệ tọa độ 3D, vertex, pixel, fragment…, khái niệm quan trọng lập trình game 3D - Rendering pipeline: Làm để tạo hình ảnh 3D hình mặt phẳng 2D Thực chất liệu vào thơng tin hình ảnh 3D, sau mà ta nhận hình ảnh 2D mơ lại hình ảnh 3D Q trình gọi renderring pipeline Vậy, định nghĩa renderring pipeline chuỗi phép biến đổi thơng tin hình ảnh 3D thành hình ảnh 2D hình - Shader Là phép biến đổi vertex, color hiệu ứng đặc biệt Việc thực pipeline, từ phiên OpenGL 2.0 trở - Texture Những thông tin vertices đưa vào chứa thông tin tập hợp tam giác, render lên cho ta mơ hình 3D dạng khung dây Nhưng mà render [Số trang] - - dạng khung dây nhìn hình ảnh khơng thực Bởi ta cần phải phủ hình ảnh vào khung dây Khái niệm texture giúp ta thực điều Ta load hình ảnh bitmap ứng với tọa độ texture tam giác, ta có hình ảnh đối tượng 3D với bề mặt thực OBJ model Là file model tĩnh Nó chứa thơng tin vertices, texture coordinate để vẽ lên đối tượng 3D Shader effect : Skydome using cube mapping Là kỹ thuật vẽ không gian bầu trời với hình lập phương texture tương ứng Skybox hay dùng game 3D Thực : - Tham gia đầy đủ buổi trainning Làm tập thực hành vẽ hình bản, load mơ hình 3D từ file, … Tìm kiếm tài liệu mạng để tìm hiểu thêm Kết : 2.4 Hiểu khái niệm lập trình đồ họa với Unity Đã vẽ hình ảnh Unity, load file mơ hình *.obj Lập trình Android Nội dung : Các kỹ thuật tạo ứng dụng Android, sử dụng Unity Android - Định nghĩa Android: Android tập hợp phần mềm (software stack) dành cho thiết bị di động, bao gồm hệ điều hành, phần mềm trung gian (middleware)và ứng dụng chủ chốt (key applications) Google Inc mua lại phát triển ban đầu phần mềm từ Android Inc., năm 2005 Hệ điều hành di động Android dựa tẳng Linux - Tạo ứng dụng Android: Được trainner hướng dẫn tạo ứng dụng bản, cấu hình quyền truy cập cho android, cách sử dụng công cụ để biên dịch, chạy android máy ảo PC Thực : - Tham gia đầy đủ buổi training Tạo ứng dụng bản, lập trình Unity Kết quả: - Đã tạo ứng dụng đồ họa từ Unity sau đưa lên Android [Số trang] Thực project Sau tháng training thực hành, thực tập sinh nắm kiến thực C++, Unity, Android Trong tháng thứ hai, trainer hướng dẫn thực tập sinh áp dụng kiến thức học để thực project game 3D Android Chi tiết đồ án nói phần sau Lịch làm việc Tuần Mức độ Cơng việc Người hướng dẫn hồn thành - Tìm hiểu cơng ty, Anh Nguyễn Đăng 100% cách tổ chức Quang công ty - Làm quen với công cụ làm việc công ty - Học cách trao đổi, làm việc qua email - Tìm hiểu ngơn ngữ Anh Phạm Phú 100% lập trình C# nâng Hào cao - Thực hành C# - Làm test C# - Tìm hiểu Unity Anh Nguyễn Đăng 100% C# Unity Quang - Thực hành số Chị Liên Bích hình vẽ Qun - Load mơ hình 3D từ file - Tìm hiểu Anh Phạm Phú Android Hào - Thực hành tạo ứng dụng Android Giai đoạn Alpha: Anh Nguyễn Đăng - Lên kế hoạch Quang - Viết Framework - Tạo lớp Graphics, Graphics 2D để vẽ mơ hình, texture 2D - Tìm kiếm mơ hình Giai đoạn Alpha(tiếp): Anh Phạm Phú Nhận xét người hướng dẫn [Số trang] - Viết lớp quản lý Object, lớp Object Giai đoạn Beta: - Viết chức nâng cao - Thêm particle để tạo hiệu ứng đẹp Giai đoạn Beta giai đoạn kết thúc, báo cáo : - Fix bug, fix rị rì vùng nhớ - Báo cáo cuối đợt thực tập Hào Anh Nguyễn Đăng Quang Anh Nguyễn Đăng Quang [Số trang] Chương 3: Chi tiết project Giới thiệu game Game lấy ý tưởng từ game Dead Target Mapoly Studio VNG, chỉnh sửa luật để tạo gameplay thú vị phù hợp với việc chơi game hệ (Phân chia loại súng, thêm feature, thay đổi cốt truyện) 1.1 1.2 Cốt truyện Thế giới ô nhiễm bệnh tật nên người dần đến bờ vực thẳm, P.E.A.C.E tạo vacxin Z nhằm đẩy lùi dịch bệnh- đặc biệt ung thư Tuy nhiên, sau năm phổ biến Z, người sử dụng bổng trở thành zombie Steve Scarlet định lập để chống chọi với hậu tận Luật chơi Mơ tả Nâng cấp vũ khí để tiêu diệt zombie qua chế độ chơi chiến dịch, phần thưởng Bảo vệ người dân họ gặp nạn, sử dụng cảm ứng để điều khiển góc bắn, bắn đạn vũ khí phụ Nhân vật tự động di chuyển theo ý muốn nhà thiết kế Ngồi cịn có kiện đua top mua gói PASS để sở hữu vũ khí [Số trang] Tóm tắt: Kiểu chơi: hành độnng, tự động di chuyển công zombie súng, dao, lựu đạn Mục tiêu: tiêu diệt tất zombie Nhiệm vụ: không để dân thường bị tiêu diệt [Số trang] Có loại vũ xoay phiên là: AR (súng trường), MG (súng máy), SG (súng ngắn) SR (súng ngắm) Thực Hơn 20 thành viên team Zombie Hunter: - Nguyễn Đăng Quang Phạm Đình Cát Liên Bích Qun Phạm Phú Hào Trần Thế Sơn … Và giúp đỡ tận tình team trainer VNG Kế hoạch - Release tính Skin Hero, Region - Đạt doanh thu xxx usd (không thể tiết lộ) - Release event mà không cần qua build apk [Số trang] TÀI LIỆU THAM KHẢO For Models http://www.md2.sitters-electronics.nl For Particle http://www.particlesystems.org/ http://www.3d4a.vn/forum/showthread.php?t=23907 http://en.wikipedia.org/wiki/Particle_system For Font https://sites.google.com/site/sbskit/gamefornewbie http://sourcemaking.com/design_patterns/state http://nehe.gamedev.net/tutorial/2d_texture_font/18002/ http://plib.sourceforge.net/fnt/index.html For graphics http://opengl.org http://songho.ca http://nehe.gamedev.net [Số trang] TỔNG KẾT Chân thành cảm ơn giúp đỡ anh chị nhóm trainer VNG, nỗ lực nhóm Zombie Hunter để hoàn thành game ... [Số trang] Chương 2: Nội dung thực tập Đợt thực tập với chủ đề ? ?Lập trình game 3D Android? ?? nhằm mục đích giúp sinh viên thực tập đào tạo toàn diện lập trình game 3D Android, đồng thời rèn luyện... Thực project Sau tháng training thực hành, thực tập sinh nắm kiến thực C++, Unity, Android Trong tháng thứ hai, trainer hướng dẫn thực tập sinh áp dụng kiến thức học để thực project game 3D Android. .. quan trọng lập trình game 3D - Rendering pipeline: Làm để tạo hình ảnh 3D hình mặt phẳng 2D Thực chất liệu vào thơng tin hình ảnh 3D, sau mà ta nhận hình ảnh 2D mơ lại hình ảnh 3D Q trình gọi