1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thực tập tốt nghiệp báo cáo thực tập tại gameloft quản lý phiên bản (version control) và TortoiseSVN ứng dụng CC++ và framework có sẵn để làm bài tập physic

31 10 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 đề Thực Tập Tốt Nghiệp Báo Cáo Thực Tập Tại Gameloft Quản Lý Phiên Bản (Version Control) Và TortoiseSVN Ứng Dụng C/C++ Và Framework Có Sẵn Để Làm Bài Tập Physic
Tác giả Nguyễn Thanh Tùng
Người hướng dẫn ThS. Nguyễn Thị Trang
Trường học Học viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo thực tập
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 31
Dung lượng 1,88 MB

Nội dung

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN I - - Thực tập tốt nghiệp Báo cáo thực tập Gameloft Giảng viên đánh giá: ThS Nguyễn Thị Trang Sinh viên: Nguyễn Thanh Tùng Mã số sinh viên: B17DCCN665 Lớp: D17CNPM2 HÀ NỘI, 2021 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat LỜI CẢM ƠN Em xin chân thành cảm ơn Công ty Gameloft, đặc biệt ThS.Nguyễn Thị Trang tận tình giúp đỡ em nhiều trình thực tập thời gian qua Em xin cảm ơn công ty Gameloft cung cấp cho em sở vật chất tài liệu học tập để em tham khảo để thực tập trình thực tập Vì cịn thiếu nhiều kinh nghiệm em cịn nhiều sai sót q trình thực tập, em mong thầy cho em lời khuyên để em hoàn thiện kỹ thân Một lần nữa, Em xin chân thành cảm ơn Công ty Gameloft ThS.Nguyễn Thị Trang SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat NHẬN XÉT CỦA ĐƠN VỊ THỰC TẬP ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Hà Nội ngày 12 Tháng năm 2021 SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat MỤC LỤC LỜI CẢM ƠN NHẬN XÉT CỦA ĐƠN VỊ THỰC TẬP NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN CHƯƠNG 1: GIỚI THIỆU CHUNG ĐƠN VỊ THỰC TẬP 1.1 Thông tin đơn vị thực tập: 1.2 Thông tin công ty sinh viên tham gia thực tập: 1.2.1 Các khóa đào tạo 1.2.2 Đội ngũ nhân 1.2.3 Cơ sở vật chất CHƯƠNG 2: NỘI DUNG CÔNG VIỆC THỰC TẬP TẠI CÔNG TY 2.1 Tiến độ trinh cơng việc 2.2 Nội dung khóa thực tập 2.2.1 Quản lý phiên (Version Control) T 2.2.2 Ứng dụng C/C++ Framework có sẵn đ 2.2.3 Training OpenGL ES 2.2.3 Ứng dụng kiến thức vào dự án nhóm CHƯƠNG KẾT LUẬN Q TRÌNH THỰC TẬP 3.1 Những kết đạt 3.2 Bài học kinh nghiệm 3.3 Những điều chưa đạt KẾT LUẬN SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP CHƯƠNG 1: GIỚI THIỆU CHUNG ĐƠN VỊ THỰC TẬP 1.1 Thông tin đơn vị thực tập: - Gameloft công ty làm lĩnh vực công nghệ thông tin, thành lập năm 1999 với trụ sở đặt Pháp Gameloft có 21 studio phát triển tồn giới, Việt Nam có studio đặt Hồ Chí Minh Hà Nội - Gameloft có khoản 3.600 nhân viên nhân viên Đơng Nam Á chiếm tới 1.400 người Phần lớn nhân viên trẻ nhân viên làm việc môi trường chuyên nghiệp thỏa mái - Studio Hà Nội có tên HAN Studio, nằm tầng tầng tòa nhà Lilama 10 địa 64 Tố Hữu - Thanh Xuân- Hà Nội, có khoản 150 nhân viên có nhiều bạn người nước ngồi Khơng gian studio gọn gàng, ngăn nắp, có hàng trăm người làm việc Tại Studio nhân viên làm việc chung với theo dự án - Văn hóa làm việc Gameloft thỏa mái, mặc trang phục bạn thích Thời gian làm việc từ 8h sáng đến 12h nghỉ trưa 1h30 làm tiếp tới 5h30.Tuy nhiên nhóm linh hoạt thời gian, miễn đảm bảo tiến độ công việc - Tại Gameloft nhân viên có hội làm việc dự án mơi trường tồn cầu với đội ngũ khác giới Mỹ, Nam Mỹ, Châu Âu, New York, … - Đặc biệt Gameloft Việt Nam có hội làm việc với nhiều cơng nghệ khác (iOS, Android, WinPhone 8, …) thiết bị chạy tảng Java đến tảng phức tạp tablet (Samsung galaxy Tab, Ipad, Blackberry Playbook, …) 1.2 Thông tin công ty sinh viên tham gia thực tập: 1.2.1 Các khóa đào tạo SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP - Các chương trình đào tạo cho fresher chuyên ngành như: lập trình viên game, thiết kế viên game,…Trong khóa lập trinh viên có đào tạo C, C++, C#, Unity, Android, Chương trình đào tạo gồm chương trinh: part-time, full-time, working-intern Tùy vào chương trinh có thời gian đến tháng hỗ trợ tiền lương - Chương trình cho sinh viên thực tập kéo dài khoảng tháng tùy theo sinh viên chọn part-time full-time, sinh viên trải nhiệm thực tập với ngôn ngữ C++ thực dự án game nhỏ để thể sức sáng tạo minh 1.2.2 Đội ngũ nhân - Khi tham gia thực tập Gameloft, lớp học có nhân viên chịu trách nhiệm quản lý lớp học, nhận viên quản lý nhiệt tình hỗ trợ tận tình trả lời thắc mắc cho sinh viên công việc, nội quy,…tại công ty - Đội ngũ giảng viên anh thực dự án làm việc Gameloft, sẵn sàng truyền tải kinh nghiệm kiến thức chuyên sâu, thực tế cho học viên ngành công nghiệp game 1.2.3 Cơ sở vật chất - Thiết bị đầy đủ đại như: văn phịng, máy tính pc dụng cụ văn phịng phục vụ cho cơng việc; căng-tin gồm máy bán hang tự động để phục vụ thức ăn, thức uống cần sử dụng; phòng chơi game để giải trí có nhiều thiết bị chơi game tiên tiến PS5, Switch, để thỏa mãn đam mê chơi game nghiên cứu game SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP CHƯƠNG 2: NỘI DUNG CÔNG VIỆC THỰC TẬP TẠI CÔNG TY 2.1 Tiến độ trinh công việc SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP 2.2 Nội dung khóa thực tập 2.2.1 Quản lý phiên (Version Control) TortoiseSVN 1.Quản lý phiên - Định nghĩa: Là quản lý nhiều chỉnh sửa đơn vị thông tin, giúp giữ lại nhiều phiên đơn vị thơng tin đó, từ dẽ dàng lấy lại phiên trước “roll back” 2.Tại phải sử dụng? - Giữ lại nhiều phiên dễ dàng quay lại phiên muốn - Giảm thiểu khối lượng công việc bị chồng chéo, lặp lại - Dễ dàng quản lý việc chia sẻ tài liệu TortoiseSVN a) TortoiseSVN gì? - Tortoise SVN hệ thống quản lý phiên theo mơ hình tập trung (Centralized) - Hệ thống có khả cập nhật, so sánh kết hợp tài nguyên với phần tài nguyên cũ, phát hành vào năm 2002 cấp chứng GNU General Public License - SVN hoạt động theo phương thức Client/Server, mã nguồn dự án lưu trữ Server (SVN hosting, GoogleCode, …) Thông thường Client Server kết nối thông qua mạng LAN mạng Internet b) Tại phải dùng? - Hệ thống có khả cập nhật, so sánh kết hợp tài nguyên với phần tài nguyên cũ nên hỗ trợ làm việc vô hiệu - Khi làm việc nhóm việc nhiều người chỉnh sửa nội dung tài liệu điều tránh khỏi TortoiseSVN cung cấp chức để thực cơng việc cách đơn giản an toàn - TortoiseSVN giống hệ thống file server mà Client Download Upload file cách bình thường SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP • (xc, yc): vị trí tâm hình trịn • r: bán kính hình trịn • (xr, yr): vị trí đỉnh bên trái hình chữ nhật • w, h: chiều dài chiều rộng hình chữ nhật Giải thuật: • Tính xn = max (xr, (xc, xr + w)) yn = max (yr, (yc, yr + h)) • Tính dx = xn – xc dy = yn – yc • Nếu dx2 + dy2 > r2 trả False, ngược lại trả True Task 4: Tính va chạm nâng cao - Yêu cầu: thêm lực đẩy gây chuột vào đối tượng, thêm trọng lực vào đối tượng làm cho đối tượng có bounds 2.2.3 Training OpenGL ES OpenGL ES gì? - OpenGL cho Hệ thống nhúng (OpenGL ES) giao diện lập trình ứng dụng (API) cho đồ họa 3D nâng cao nhắm mục tiêu đến thiết bị cầm tay thiết bị nhúng, phát triển Khronos Group - OpenGL ES API đồ họa thống trị điện thoại thơng minh ngày chí mở rộng phạm vi tiếp cận máy tính để bàn Danh sách tảng hỗ trợ OpenGL ES bao gồm iOS, Android, BlackBerry, bada, Linux Windows - OpenGL ES làm tảng cho WebGL, tiêu chuẩn web cho đồ họa 3D dựa trình duyệt 2.Nội dung a)Hệ trục tọa độ 3D OpenGL - Theo nguyên tắc bàn tay phải: dùng bàn tay phải, ngón sang bên phải trục Ox, ngón trỏ lên trục Oy =>Ngón hướng phía trước trục Oz SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP b) Vertex, fragment, pixel, texel - Vertex (chấm xanh lá): điểm không gian cấu thành nên hình học bản, đồng thời có thêm thuộc tính màu, tọa độ texture, … - Fragment (màu xanh, đỏ): tạo trình Rasterization Mỗi Fragment ứng với ví trí pixel tập thuộc tính tương ứng với thuộc tính đỉnh - Pixel (màu xanh, đỏ, tím): điểm hình với màu xác định, tạo kết hợp màu Đỏ, Xanh lá, Xanh biển - Texel: điểm màu texturing c) Quá trình Render SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP d) Vertex Buffer - Dữ liệu đỉnh lưu nhớ ứng dụng Để thực việc rendering liệu phải chuyển từ RAM sang VRAM e) Index Buffer - Mỗi đối tượng vẽ nhiều hình tam giác - Vấn đề đặt ra: giảm số lượng đỉnh cần vẽ => giảm số lượng buffer cần sử dụng, giảm số lần thực vertex shader - Giải pháp: sử dụng số (indices) để đánh số cho vertex buffer vẽ đối tượng dùng số để tìm vertex buffer cần sử dụng f) Shaders Program Shader Effect - Cách viết shader: vertex shader fragment shader - Các Shader Effect như: multitexturing, linear fog, height map terrains, environment reflections, … SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP 3.Bài tập vận dụng Task 1: Vẽ tam giác đỏ VBO IBO - Cách làm: sử dụng hàm glDrawArrays OpenGL ES - Kiến thức áp dụng: thêm thuộc tính cho đỉnh, cách viết vertex shader, cách sử dụng vertex buffer - Cách làm: thêm thuộc tính color vào Vertex - Kiến thức áp dụng: cách load texture 2D, sử dụng chế độ filtering, wrap texture, áp dụng tọa độ texture vào fragment shader - Kiến thức áp dụng: cách đọc file có cấu trúc, cách sử dụng index buffer - Task 5: Ma trận Model - View – Projection - Kiến thức áp dụng: kiến thức toán học ma trận, hệ tọa độ không gian 3D - Kiến thức áp dụng: cách tính tọa độ vật tịnh tiến, quay, phóng to/thu nhỏ camera ma trận Rotation, Translate, Scale - Kiến thức áp dụng: mẫu Singleton, đọc file có cấu trúc với hàm fscanf - Hiểu mơ hình Engine Struct cài đặt lớp tương ứng SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP Task 8: Vẽ bầu trời - Kiến thức áp dụng: cách load texture cube Task 9: Vẽ Terrain - Kiến thức áp dụng: cách viết shader program, cách sử dụng multi-texturing, … 2.2.3 Ứng dụng kiến thức vào dự án nhóm Game King of Thieves 1.Giới thiệu game King of Thieves - King of Thieves game thuộc thể loại 2D platformer giải đố làm dựa tựa game khác tên Mục tiêu người chơi đưa nhân vật minh từ vị trí xuất phát đến đích hịm kho báu - Game hoàn ngày tháng năm 2021 thời gian thực tập Gameloft, chạy hệ điều hành Windows 10 32bit 64 bit - Tóm tắt chức game: • Mục tiêu người chơi hoàn thành tất level để phá đảo game • Người chơi Mỗi hồn level mở khóa tiếp theo, cuối • Mỗi level có star để thu thập, người chơi có quyền thu thập khơng thu thập star để hoành chơi SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP • Người chơi ln quay trở lại chơi để thu thập • Khơng có giới hạn thời gian chơi, người chơi quyền chơi qua cửa khong chơi • Nhân vật tự động di chuyển, người có thao tác click chuột để nhảy • Các tương tác người chơi với môi trường định trạng thái nhân vật (qua màn, chết, đổi hướng, ) Các công cụ sử dụng - Thư viện C/C++, SFML, Box2D - OpenGL ES 4.0 - IDE: Microsoft Visual Studio 2019 Các trạng thái game Menu State SVTH: NGUYỄN THANH TÙNG Map State Level State TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP Những đối tượng game - Player: nhân vật mà người chơi điều khiển • Nhân vật tự động di chuyển phía trước mặt • Người chơi có thao tác với nhân vật click chuột trái để nhảy • Nhân vật dừng lại chạm phải tường • Nhân vật trượt tường đứng trước tường khong chạm đất • Nhận vật chuyển hướng click để nhảy tường • Nhân vật chết va chạm với chướng ngại • Người chơi qua nhân vật chạm hàm kho báu - Các chướng ngại • Saw: lưỡi cưa đứng chỗ di chuyển theo chiều dọc • Guard: di chuyển qua lại khu vực định SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP • Spinner: quay trịn vịng bán kính đặt trước • Chaser: đuổi theo người chơi • Gun: liên tục bắn đạn hướng định - Khác: • Sao: có vật thể màn, biến va chạm với người chơi, tính vào tích • Hịm kho báu: đích đến, chơi kết thúc nhân vật chạm vào - Ngồi cịn có Object khác phục vụ chức khac game: • Các hình game kế thừa từ StateBase bao gồm MenuState, MapState, LevelState • Lớp AudioManager để xử lý âm game • Lớp Render, Animation để xử lý hoạt ảnh game • Lớp EventManager để xử lý kiện xảy game như: người chơi chết, chiến thắng, mở khóa chơi hay nhặt Sản phẩm - Bản Release: https://drive.google.com/file/d/1EIBMyAtBQme6iAnKBT3ikCZsHVbiGS BI/view?usp=sharing - Hướng dẫn chạy: • Tải xuống link bên • Giải nén • Chạy file TrainingFramework.exe Thông tin thành viên thực hiên SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP Tên Nguyễn Xương Thìn Trịnh Trung Kiên Trần Thế Lâm Nguyễn Thanh Tùng CHƯƠNG KẾT LUẬN QUÁ TRÌNH THỰC TẬP 3.1 Những kết đạt - Học hỏi nhiều kỷ làm việc như: • Cách làm việc cá nhân • Cách làm việc nhóm • Cách lên kế hoạch, viết báo cáo cơng việc • Cách quản lý thời gian - Quy trình làm game: • Lên ý tưởng cho game • Hồn thiện game play • Chuẩn bị Resource hình ảnh, Sprite Sheet để làm Animation • Thiết kế OOP cho game • Coding - Kỹ thuật sử dụng làm game: • Thiết kế chơi, • Quản lý tài nguyên game • Cách tạo Sprite Sheet để làm Animation cho nhân vật game SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP • Cách thiết lập âm cho game • Lưu trữ thơng tin file để chỉnh sửa, nâng cấp (màn chơi mở chưa mở, map, …) 3.2 Bài học kinh nghiệm - Hiểu quy trình làm Game, cách kiếm lợi nhuận, kinh doanh từ game Từ hiểu phần ngành “Cơng nghiệp làm game” Vận dụng tính ưu việt tính hỗ trợ Engine làm game để trở thành nhà phát triển game tài 3.3 Những điều chưa đạt - Trong trình thực tập, em chưa thực 100% task Physic OpenGL ES Do thời gian ngắn kiến thức tiếp cận chuyên sâu nên em chưa hoàn thành tất tập - Dự án game King of Thieves dù hồn thiện cịn cải tiến nhiều - Do dịch Covid – 19 nên em trải nghiệm môi trường cơng ty tuần, cịn lại công việc làm nhà SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP - KẾT LUẬN Trong trình thực tập, em có hội làm quen mơi trường làm việc Em tính lũy kinh nghiệm kiến thức công việc kinh nghiệm kỹ mềm - Em rèn luyện kĩ giải công việc theo giai đoạn, cố gắng hồn thành cơng việc thời gian cho phép, mạnh dạn trao đổi chia sẻ kiến thức Đồng thời bồi dưỡng thêm nhiều kiến thức kiến thức học trường SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat ... skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP 2.2.2 Ứng dụng C/C++ Framework có sẵn để làm tập Physic 1.Mô tả - Game có đối tượng: hình vng, trịn, chữ nhật có khối lượng, vận tốc Khi vào Game theo... VIỆC THỰC TẬP TẠI CƠNG TY 2.1 Tiến độ q trinh cơng việc 2.2 Nội dung khóa thực tập 2.2.1 Quản lý phiên (Version Control) T 2.2.2 Ứng dụng C/C++ Framework có sẵn đ 2.2.3 Training OpenGL ES 2.2.3 Ứng. .. TẬP TẠI CÔNG TY 2.1 Tiến độ trinh công việc SVTH: NGUYỄN THANH TÙNG TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BÁO CÁO THỰC TẬP TỐT NGHIỆP 2.2 Nội dung khóa thực tập 2.2.1 Quản lý phiên

Ngày đăng: 05/10/2022, 14:44

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w