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

Báo cáo thực tập unity developer

41 8 1

Đ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

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 Unity developer Công ty thực tập: Người phụ trách: Thực tập sinh: Puzzle Studio Nguyễn Vũ Trường Giang Đỗ Đức Tâm TP Hồ Chí Minh, ngày 28 tháng 05 năm 2023 LỜI MỞ ĐẦU Trong cách mạng công nghiệp 4.0, công nghệ thông tin nói chung ngành Cơng nghệ phần mềm nói riêng ln nhân tố đóng vai trị quan trọng q trình phát triển xã hội Trị chơi điện tử, cụ thể trò chơi thiết bị động quan tâm nhiều, gần có điện thoại di động Nhu cầu giải trí nhanh người đề cao lên Do đó, trị chơi muốn nhiều người sử dụng phải đáp ứng yếu tố giải trí hình ảnh rèn luyện trí óc Làm để sản phẩm tạo đạt chất lượng cao hai yếu tố làm đội ngũ phát triển trị chơi cần phải suy nghĩ đau đầu Để thử thách thân ngành công nghiệp game, em lựa chọn unity developer định hướng cho việc học nghề nghiệp tương lai Sau năm tháng môi trường đại học, với mong muốn áp dụng kiến thức học có trải nghiệm môi trường thực tế, em định tham gia vào Puzzle Studio môi trường lý tưởng chuyên nghiệp để thực dự định LỜI CẢM ƠN [Tham khảo] Em xin trân trọng gửi lời cảm ơn Puzzle 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 Nhựt 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 Giang anh chị team 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 23 tháng 05 năm 2023 [Đỗ Đức Tâm] NHẬN XÉT CỦA KHOA MỤC LỤC LỜI MỞ ĐẦU LỜI CẢM ƠN NHẬN XÉT CỦA KHOA MỤC LỤC CHƯƠNG TỔNG QUAN VỀ CÔNG TY TNHH PUZZLE STUDIO .7 1.1 Lịch sử hình thành phát triển 1.2 Cơ cấu tổ chức quản lý 10 1.3 Lịch trình thực tập 11 CHƯƠNG NỘI DUNG THỰC TẬP 14 2.1 Tổng quan Các sản phẩm liên quan tới công ty 14 2.2 Tổng quan C Sharp( C#) Unity 17 2.2.1 Tổng quan C Sharp( C#) 17 2.2.2 Tổng quan Unity 20 2.3 tập Tổng quan sản phẩm chức thực trình thực 26 2.3.1 PROJECT OJT 26 2.3.2 WHERE IS MY FOOD (Demo Project) 27 2.3.2.1 Tổng quan dự án 27 2.3.2.2 Các công nghệ sử dụng dự án 27 2.3.2.3 Những điều rút từ dự án 28 2.3.3 BÀI TỐN XỬ LÍ VẤN ĐỀ ZOOM IN ZOOM OUT HÌNH ẢNH TRONG UNITY UI 28 2.3.3.1 Tổng quan dự án 28 2.3.3.2 Các công nghệ sử dụng dự án 28 2.3.3.3 Sơ đồ file code dự án 29 2.3.3.4 Những điều rút từ dự án 32 2.3.4 DIAMON TREASURE PUZZLE 32 2.3.4.1 Tổng quan dự án 32 2.3.4.2 Các công nghệ sử dụng dự án 33 2.3.4.3 Những điều rút từ dự án 33 2.3.5 TANGRAM BLOCK PUZZLE 34 2.3.5.1 Tổng quan dự án 34 2.3.5.2 Các công nghệ sử dụng dự án 34 2.3.5.3 Những điều rút từ dự án 35 2.3.6 DIVE DEEPER 35 2.3.6.1 Tổng quan dự án 35 2.3.6.2 Các công nghệ sử dụng dự án 35 2.3.6.3 Những điều rút từ dự án 37 2.3.7 WHERE IS MY FOOD .37 2.3.7.1 Tổng quan dự án 37 2.3.7.2 Các công nghệ sử dụng dự án 37 2.3.7.3 Những điều rút từ dự án 38 CHƯƠNG KẾT LUẬN .40 3.1 Điểm mạnh .40 3.1.1 Nền tảng tốt 40 3.1.2 Môi trường tốt 40 3.2 Điểm yếu 40 3.2.1 3.3 Hạn chế giao tiếp 40 Điểm đạt 40 3.3.1 Cách làm việc nhóm quan trọng 40 3.3.2 Kiến thức bổ xung cải thiện nhiều 40 CHƯƠNG TỔNG QUAN VỀ CÔNG TY TNHH PUZZLE STUDIO 1.1 LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN Hình 1.1 Logo Cơng ty TNHH Puzzle Studio - Tên công ty: Công ty TNHH Puzzle Studio - Năm thành lập: 2018 - Văn phịng đại diện: Republic Plaza Building, Số 18E Cơng Hịa, Phường 4, Quận Tân Bình, TP Hồ Chí Minh Cơng ty TNHH Công ty TNHH Puzzle Studio công ty thành lập vào năm 2018 có trụ sở Singapore, chun lập trình phần mềm ngơn ngữ lập trình C# với Engine Unity 3D mảng khác có liên quan đến thiết kế phần mềm Cơng ty sản xuất phát hành sản phẩm cho riêng dựa thị hiếu thị trường cung cấp giải pháp lập trình cho đối tác bên thứ ba Hình 1.1.2 Sứ mệnh tầm nhìn cơng ty Hình 1.1.3 Giá trị cốt lõi cơng ty Hình 1.1.4 Lộ trình phát triển nhân cơng ty 1.2 CƠ CẤU TỔ CHỨC VÀ QUẢN LÝ o Tìm hiểu kiến thức Shader Graph, Effectors, … - Đây project nhỏ thực vòng ngày nhằm giúp thực tập sinh ôn lại kiến thức trước thực dự án tới 2.3.2 WHERE IS MY FOOD (Demo Project) 2.3.2.1 Tổng quan dự án - - Đây ứng dụng Mentor giao cho nhằm vận dụng kiến thức Unity biết vào project thức Tuy dự án demo giúp thực tập sinh ứng dụng kiến thức mà biết cách hợp lí, tránh tình trạng biết lí thuyết sng Vì dự án nên bao gồm chức đơn giản với luồng logic không phức tạp 2.3.2.2 Các công nghệ sử dụng dự án - Trong dự án em có sử dụng cơng nghệ sau: Ứng dụng thực tế Tên công nghệ C# OOP - Công nghệ lõi ứng dụng C# Unity dùng để lập trình gần logic ứng dụng - Được vận dùng hầu hết hoạt động lập trình ứng dụng Unity lập trình giao diện hệ thống, lập trình chức năng,… Scriptable Object - Dùng để lưu trữ liệu trình hoạt động ứng dụng - Dùng để giao tiếp nhiều class với cách mềm dẻo khơng bị phụ thuộc q nhiều vào Singleton - Có thể dễ dàng thay đổi liệu trình hoạt động nhờ giao diện trực quan Unity Editor Unity Animation - Giúp giao diện hệ thống ứng dụng trở nên trực quan nhờ hoạt ảnh tạo công cụ Unity UI - Chứa Component UI sử dụng xuyên suốt trình thực ứng dụng Unity 2D Core - Chứa package hỗ trợ việc thiết kế làm việc với thành phần 2D dễ dàng Unity Git - Là hệ thống giúp làm việc nhóm với quản lí code cách dễ dàng Bảng Các công nghệ sử dụng ứng dụng “Where is my food” 2.3.2.3 Những điều rút từ dự án - Những điều học sau dự án này: o Cách đặt tên biến, hàm, lớp cách “sạch sẽ” o Làm quen với thể loại ứng dụng khác với loại mà em làm trước đây, giúp em biết thêm toán cách giải chúng o Làm quen với cách quản lí dự án cách chuyên nghiệp o Trao đổi kiến thức, bồi đắp vào phần bị thiếu hụt nhờ trao đổi với người xung quanh - Những khó khăn gặp phải làm dự án: o Do dự án có deadline gấp lần làm dự án công ty nên em bị trễ dự án o Là ứng dụng khác hoàn toàn với ứng dụng trước mà em có hội thực nên thời gian để làm quen tìm hiểu 2.3.3 BÀI TỐN XỬ LÍ VẤN ĐỀ ZOOM IN ZOOM OUT HÌNH ẢNH TRONG UNITY UI 2.3.3.1 Tổng quan dự án - Đây vấn đề Mentor giao cho xử lí trình bày buổi seminar cuối tuần công ty 2.3.3.2 Các công nghệ sử dụng dự án - Trong dự án em có sử dụng cơng nghệ sau: Ứng dụng thực tế Tên công nghệ C# OOP - Công nghệ lõi ứng dụng C# Unity dùng để lập trình gần logic ứng dụng - Được vận dùng hầu hết hoạt động lập trình ứng dụng Unity lập trình giao diện hệ thống, lập trình chức năng,… Unity UI - Chứa Component UI sử dụng xuyên suốt trình thực ứng dụng Unity 2D Core - Chứa package hỗ trợ việc thiết kế làm việc với thành phần 2D dễ dàng Unity Git - Là hệ thống giúp làm việc nhóm với quản lí code cách dễ dàng Bảng Các công nghệ sử dụng ứng dụng giải toàn zoom in zoom out Unity UI 2.3.3.3 Sơ đồ file code dự án - Sơ đồ UML class sử dụng để giải vấn đề này: Hình 2.3.1 Sơ đồ UML cho toán zoom in zoom out Unity UI - Cấu trúc code bản: Hình 2.3.2 Minh hoạ cho code class InputManager Hình 2.3.3 Minh hoạ cho code class CustomScrollRect với chức zoom in zoom out (1) Hình 2.3.4 Minh hoạ cho code class CustomScrollRect với chức zoom in zoom out (2) Hình 2.3.5 Minh hoạ cho code class CustomScrollRect với chức zoom in zoom out (3) 2.3.3.4 Những điều rút từ dự án - Những điều học sau dự án này: o Hiểu rõ cách hoạt động component package Unity UI o Vận dụng kiến thức OOP để thêm chức vào thứ có sẵn làm Unity o Học cách thuyết trình trước đám đơng buổi seminar - Những khó khăn gặp phải làm dự án: o Với chức zoom việc khó khăn xác định Pivot hình cần zoom với việc đưa vị trí vừa tính tốn mà khơng làm thay đổi vị trí 2.3.4 DIAMON TREASURE PUZZLE 2.3.4.1 Tổng quan dự án o o o o - Đây sản phẩm làm từ trước công ty, em giao cho việc cập nhật thêm tính như: Thay đổi giao diện hệ thống ứng dụng Thêm chức tiến trình, fix lỗi tìm thấy hay tester tìm Thực việc gắn ads Code hệ thống save load data ứng dụng Sản phẩm phát hành công khai đạt 50K người dùng Có thể tải ứng dụng với đường dẫn sau: https://play.google.com/store/apps/details?id=com.ninedot.diamond.treasure puzzle 2.3.4.2 Các công nghệ sử dụng dự án - Trong dự án em có sử dụng cơng nghệ sau: Ứng dụng thực tế Tên công nghệ C# OOP - Công nghệ lõi ứng dụng C# Unity dùng để lập trình gần logic ứng dụng - Được vận dùng hầu hết hoạt động lập trình ứng dụng Unity lập trình giao diện hệ thống, lập trình chức năng,… Scriptable Object - Dùng để lưu trữ liệu trình hoạt động ứng dụng - Dùng để giao tiếp nhiều class với cách mềm dẻo không bị phụ thuộc nhiều vào Singleton - Có thể dễ dàng thay đổi liệu trình hoạt động nhờ giao diện trực quan Unity Editor Unity UI - Chứa Component UI sử dụng xuyên suốt trình thực ứng dụng Unity 2D Core - Chứa package hỗ trợ việc thiết kế làm việc với thành phần 2D dễ dàng Unity Git - Là hệ thống giúp làm việc nhóm với quản lí code cách dễ dàng Bảng Các công nghệ sử dụng ứng dụng “Diamond Treasure Puzzle” 2.3.4.3 Những điều rút từ dự án - Những điều học sau dự án này: o Đọc cách đàn anh trước code, từ học cách trình bày code cách dễ hiểu o Là sản phẩm phát hành cơng khai, nên giúp em hiểu phần quy trình làm việc chun nghiệp cơng ty - Những khó khăn gặp phải làm dự án: o Cũng sản phẩm phát hành công khai nên ứng dụng phải làm cách chỉnh chu với deadline ngắn nên em bị trễ từ làm chậm quy trình làm việc cơng ty o Tốn nhiều thời gian để đọc code cũ nhiều 2.3.5 TANGRAM BLOCK PUZZLE 2.3.5.1 Tổng quan dự án Đây sản phẩm làm từ trước công ty, em giao cho việc cập nhật thêm tính như: o Thay đổi giao diện hệ thống ứng dụng o Thêm chức tiến trình, fix lỗi tìm thấy hay tester tìm o Thực việc clean code - Sản phẩm phát hành cơng khai ta tải ứng dụng với đường dẫn sau: https://play.google.com/store/apps/details?id=com.ninedot.tangram.block.puz zle.hex - 2.3.5.2 Các công nghệ sử dụng dự án - Trong dự án em có sử dụng công nghệ sau: Ứng dụng thực tế Tên công nghệ C# OOP - Công nghệ lõi ứng dụng C# Unity dùng để lập trình gần logic ứng dụng - Được vận dùng hầu hết hoạt động lập trình ứng dụng Unity lập trình giao diện hệ thống, lập trình chức năng,… Unity Animation - Giúp giao diện hệ thống ứng dụng trở nên trực quan nhờ hoạt ảnh tạo công cụ Unity UI - Chứa Component UI sử dụng xuyên suốt trình thực ứng dụng Unity 2D Core - Chứa package hỗ trợ việc thiết kế làm việc với thành phần 2D dễ dàng Unity Git - Là hệ thống giúp làm việc nhóm với quản lí code cách dễ dàng Bảng Các công nghệ sử dụng ứng dụng “Tangram Block Puzzle” 2.3.5.3 Những điều rút từ dự án - Những điều học sau dự án này: o Thực animation UI giúp cải thiện hệ thống giao diện người dùng o Là sản phẩm phát hành cơng khai, nên giúp em hiểu rõ quy trình làm việc chun nghiệp cơng ty - Những khó khăn gặp phải làm dự án: o Tốn nhiều thời gian để đọc code cũ nhiều 2.3.6 DIVE DEEPER 2.3.6.1 Tổng quan dự án Đây sản phẩm thiết kế GD Nhực, em giao cho việc thiết kế lập trình ứng dụng từ đầu với thành viên khác công ty - Sản phẩm có chức sau: o Main Scene: chứa chức “ Collection”, “Shop” o Play Scene: chứa logic ứng dụng o Popup Scene: chứa popup trình chạy ứng dụng - Với nhiều chức năng, nhóm chia cho thành viên người việc Trong em dược giao cho phần Play Scene - Sản phẩm phát hành công khai đạt 1K người dùng Có thể tải ứng dụng với đường dẫn sau: https://play.google.com/store/apps/details?id=com.augustgame.dive.deeper.id le - 2.3.6.2 Các công nghệ sử dụng dự án - Trong dự án em có sử dụng cơng nghệ sau: Ứng dụng thực tế Tên công nghệ C# OOP - Công nghệ lõi ứng dụng C# Unity dùng để lập trình gần logic ứng dụng - Được vận dùng hầu hết hoạt động lập trình ứng dụng Unity lập trình giao diện hệ thống, lập trình chức năng,… Scriptable Object - Dùng để lưu trữ liệu trình hoạt động ứng dụng - Dùng để giao tiếp nhiều class với cách mềm dẻo không bị phụ thuộc nhiều vào Singleton - Có thể dễ dàng thay đổi liệu trình hoạt động nhờ giao diện trực quan Unity Editor Unity Animation - Giúp giao diện hệ thống ứng dụng trở nên trực quan nhờ hoạt ảnh tạo công cụ Unity UI - Chứa Component UI sử dụng xuyên suốt trình thực ứng dụng Unity 2D Core - Chứa package hỗ trợ việc thiết kế làm việc với thành phần 2D dễ dàng Unity Git - Là hệ thống giúp làm việc nhóm với quản lí code cách dễ dàng UniTask - Một framework giúp ta dễ dàng việc lập trình bất đồng mơi trường Unity Bảng Các công nghệ sử dụng ứng dụng “Dive Deeper” 2.3.6.3 Những điều rút từ dự án - Những điều học sau dự án này: o Cách tổ chức dự án từ lúc bắt đầu để dễ dàng mở rộng tương lai o Cách chọn công nghệ ứng dụng dự án cách hợp lí, khơng dư thừa o Hiểu rõ quy trình sản xuất dự án từ lúc bắt đầu tới kết thúc o Nhận thiếu sót cịn tồn đọng trình làm việc với thành viên khác team o Học cách estimate thời gian cách hợp lí, tránh việc estimate sớm hay muộn - Những khó khăn gặp phải làm dự án: o Do việc estimate thời gian không hợp lí nên em bị trễ deadline từ làm chậm tồn quy trình cơng ty o Do bắt đầu dự án thật từ lúc bắt đầu, với kinh nghiệm nên em chọn sai cơng nghệ từ lúc bắt đầu, từ làm chậm tiến độ dự án o Là lần đầu làm việc nhóm nên em gặp nhiều khó khăn, q trình có nhiều lần em mắc sai lầm làm cho file code bị hay conflict 2.3.7 WHERE IS MY FOOD 2.3.7.1 Tổng quan dự án o o o o o Đây sản phẩm làm từ trước công ty, em giao cho việc cập nhật thêm tính như: Thay đổi giao diện hệ thống ứng dụng Cải biên hoàn toàn từ source code cũ Thêm chức booster, fix lỗi tìm thấy hay tester tìm Thực việc gắn ads Thực việc clean code 2.3.7.2 Các công nghệ sử dụng dự án - Trong dự án em có sử dụng cơng nghệ sau: Ứng dụng thực tế Tên công nghệ C# OOP - Công nghệ lõi ứng dụng C# Unity dùng để lập trình gần logic ứng dụng - Được vận dùng hầu hết hoạt động lập trình ứng dụng Unity lập trình giao diện hệ thống, lập trình chức năng,… Scriptable Object - Dùng để lưu trữ liệu trình hoạt động ứng dụng - Dùng để giao tiếp nhiều class với cách mềm dẻo khơng bị phụ thuộc q nhiều vào Singleton - Có thể dễ dàng thay đổi liệu trình hoạt động nhờ giao diện trực quan Unity Editor Unity UI - Chứa Component UI sử dụng xuyên suốt trình thực ứng dụng Unity 2D Core - Chứa package hỗ trợ việc thiết kế làm việc với thành phần 2D dễ dàng Unity Git - Là hệ thống giúp làm việc nhóm với quản lí code cách dễ dàng UniTask - Một framework giúp ta dễ dàng việc lập trình bất đồng môi trường Unity Bảng Các công nghệ sử dụng ứng dụng “Where Is My Food” 2.3.7.3 Những điều rút từ dự án - Những điều học sau dự án này: o Học cách clean code cải biên code cách hợp lí, từ ứng dụng vào dự án khác tương lai - Những khó khăn gặp phải làm dự án: o Tốn nhiều thời gian để đọc clean code code cũ rối o Có nhiều lỗi nên tốn nhiều thời gian để fix lỗi o Có nhiều luồng ứng dụng nên thêm chức vào lại sinh nhiều lỗi CHƯƠNG KẾT LUẬN 3.1 ĐIỂM MẠNH 3.1.1 Nền tảng tốt - Nhờ việc xây dựng tảng lập trình tốt trường, rèn luyện tư cấu trúc giải thuật Nên dễ dàng giải vấn đề công ty 3.1.2 Môi trường tốt - Sự hịa đồng người nhóm, người công ty giúp cho việc thực công việc thoải mái Mọi thắc mắc mặt kỹ thuật giải đáp kịp thời 3.2 ĐIỂM YẾU 3.2.1 Hạn chế giao tiếp - Em người giao tiếp, dẫn tới thời gian đầu khó hịa nhập, khó làm việc nhóm 3.3 ĐIỂM ĐẠT ĐƯỢC 3.3.1 Cách làm việc nhóm quan trọng - Dự án cá nhân thường nhỏ, tham gia vào dự án lớn cần phải biết cách làm việc nhóm Như anh trưởng nhóm lập trình cơng ty: Lập trình viên làm tốt việc lập trình viên giỏi, lập trình viên làm việc nhóm tốt lập trình viên chun nghiệp 3.3.2 Kiến thức bổ xung cải thiện nhiều - Kiến thức OOP kiến thức lập trình game Unity em bổ xung nhiều, khác hẳn với việc tự học hay học trường TÀI LIỆU THAM KHẢO Trang web công ty TNHH Puzzle Studio: https://puzzle.sg/about/ Trang công ty TNHH Puzzle Studio Android Apk Store: https://apkdl.com/developer/PUZZLE%20STUDIO%20PTE.%20LTD Trang công ty TNHH Puzzle Studio Google Play Store: https://play.google.com/store/apps/developer?id=Nine+dot Trang chủ Unity: https://unity.com/

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

TỪ KHÓA LIÊN QUAN

w