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

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

41 10 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

Thông tin cơ bản

Tiêu đề Báo cáo thực tập Unity Developer
Tác giả Đỗ Đức Tâm
Người hướng dẫn Anh Nhựt, Anh Giang và các anh chị trong team
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công nghệ phần mềm
Thể loại Báo cáo thực tập
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 41
Dung lượng 2,3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chân thành cảm ơn anh Giang và các anh chị trong team đã bỏ ra nhiều thời gian, công sức để hướng dẫn, hướng dẫn, giúp đỡ em tận tình trong khi làm quen môi trường mới cũng như trong việ

Trang 1

TP Hồ Chí Minh, ngày 28 tháng 05 năm 2023

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

LỜI MỞ ĐẦU

Trong cuộc cách mạng công nghiệp 4.0, công nghệ thông tin nói chung và ngành Công nghệ phần mềm nói riêng luôn là nhân tố đóng vai trò quan trọng trong quá trình phát triển của xã hội Trò chơi điện tử, cụ thể hơn là các trò chơi trên thiết bị động được quan tâm khá nhiều, bởi hiện nay gần như ai cũng có điện thoại di động Nhu cầu giải trí nhanh của mọi người cũng được đề cao lên

Do đó, một trò chơi muốn được nhiều người sử dụng phải đáp ứng được yếu tố giải trí cả về hình ảnh và rèn luyện trí óc Làm thế nào để sản phẩm tạo ra đạt chất lượng cao ở hai yếu tố trên luôn làm bất kì một đội ngũ phát triển trò chơi nào cũng cần phải suy nghĩ đau đầu Để thử thách bản thân trong ngành công nghiệp game, em đã lựa chọn unity developer là định hướng cho việc học cũng như nghề nghiệp trong tương lai

Sau những năm tháng trong môi trường đại học, với mong muốn áp dụng những kiến thức đã học

và có được trải nghiệm trong môi trường thực tế, em đã quyết định tham gia vào Puzzle Studio một môi trường lý tưởng và chuyên nghiệp để thực hiện dự định

Trang 3

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 cơ hội được thực tập tại công ty Dù trong thời gian ngắn nhưng nhờ sự chỉ dẫn nhiệt tình của anh Nhựt em đã tiếp thu những kiến thức quan trọng để có thể tham gia một dự án thực tế

Chân thành cảm ơn anh Giang và các anh chị trong team đã bỏ ra nhiều thời gian, công sức để hướng dẫn, hướng dẫn, giúp đỡ em tận tình trong khi làm quen môi trường mới cũng như trong việc tiếp cận kiến thức công nghệ, kỹ năng lập trình và tư duy sản phẩm để có thể thực hiện tốt dự

án cá nhân và dự án thực tế trong thời gian qua

Em cũng xin cảm ơn thầy cô trong 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 này

TP HCM, ngày 23 tháng 05 năm 2023

[Đỗ Đức Tâm]

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

MỤC LỤC

LỜI MỞ ĐẦU 2

LỜI CẢM ƠN 3

NHẬN XÉT CỦA KHOA 4

MỤC LỤC 5

CHƯƠNG 1 TỔNG QUAN VỀ CÔNG TY TNHH PUZZLE STUDIO 7

1.1 Lịch sử hình thành và phát triển 7

1.2 Cơ cấu tổ chức và quản lý 10

1.3 Lịch trình thực tập 11

CHƯƠNG 2 NỘI DUNG THỰC TẬP 14

2.1 Tổng quan về Các sản phẩm liên quan tới công ty 14

2.2 Tổng quan về C Sharp( C#) và Unity 17

2.2.1 Tổng quan về C Sharp( C#) 17

2.2.2 Tổng quan về Unity 20

2.3 Tổng quan về các sản phẩm và chức năng đã thực hiện trong quá trình thực tập 26 2.3.1 PROJECT OJT 26

2.3.2 WHERE IS MY FOOD (Demo Project) 27

2.3.2.1 Tổng quan về dự án 27

2.3.2.2 Các công nghệ được sử dụng trong dự án 27

2.3.2.3 Những điều rút ra từ dự án 28

2.3.3 BÀI TOÁN XỬ LÍ VẤN ĐỀ ZOOM IN ZOOM OUT 2 HÌNH ẢNH TRONG UNITY UI 28

2.3.3.1 Tổng quan về dự án 28

2.3.3.2 Các công nghệ được sử dụng trong dự án 28

2.3.3.3 Sơ đồ các file code trong dự án 29

2.3.3.4 Những điều rút ra từ dự án 32

2.3.4 DIAMON TREASURE PUZZLE 32

2.3.4.1 Tổng quan về dự án 32

2.3.4.2 Các công nghệ được sử dụng trong dự án 33

2.3.4.3 Những điều rút ra từ dự án 33

2.3.5 TANGRAM BLOCK PUZZLE 34

2.3.5.1 Tổng quan về dự án 34

Trang 6

2.3.5.2 Các công nghệ được sử dụng trong dự án 34

2.3.5.3 Những điều rút ra từ dự án 35

2.3.6 DIVE DEEPER 35

2.3.6.1 Tổng quan về dự án 35

2.3.6.2 Các công nghệ được sử dụng trong dự án 35

2.3.6.3 Những điều rút ra từ dự án 37

2.3.7 WHERE IS MY FOOD 37

2.3.7.1 Tổng quan về dự án 37

2.3.7.2 Các công nghệ được sử dụng trong dự án 37

2.3.7.3 Những điều rút ra từ dự án 38

CHƯƠNG 3 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 Hạn chế về giao tiếp 40

3.3 Điểm đạt được 40

3.3.1 Cách làm việc nhóm rất quan trọng 40

3.3.2 Kiến thức được bổ xung và cải thiện khá nhiều 40

Trang 7

CHƯƠNG 1 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 là một công ty được thành lập vào năm

2018 có trụ sở chính tại Singapore, chuyên lập trình phần mềm bằng ngôn ngữ lập trình C# với Engine Unity 3D và các mảng khác có liên quan đến thiết kế phần mềm Công

ty có thể sản xuất và phát hành các sản phẩm cho riêng mình dựa trên thị hiếu của thị trường hoặc cung cấp các giải pháp lập trình cho các đối tác bên thứ ba

Trang 8

Hình 1.1.2 Sứ mệnh và tầm nhìn của công ty

Trang 9

Hình 1.1.3 Giá trị cốt lõi của công ty

Trang 10

Hình 1.1.4 Lộ trình phát triển nhân sự tại công ty

1.2 CƠ CẤU TỔ CHỨC VÀ QUẢN LÝ

Trang 11

Hình 1.2 Sơ đồ cấu trúc tổ chức và quản lý của công ty

1.3 LỊCH TRÌNH THỰC TẬP

Thời gian làm việc bình thường đối với nhân sự trong Công ty là 7.5 giờ/ngày, từ thứ hai đến sáng thứ sáu hàng tuần

- Sáng: 09 giờ 00 đến 12 giờ 30

- Nghỉ trưa: từ 12 giờ 30 đến 13 giờ 30

- Chiều: 13 giờ 30 đến 17 giờ 30

Ngoài ra, vào thứ 6 hàng tuần công ty thường tổ chức các buổi seminar để trao đổi về kiến thức, trau dồi thêm kĩ năng trong công việc

Hình 1.4 Một buổi seminar được tổ chức cuối tuần ở công ty

Trang 12

Thời gian Nội dung thực tập

2 Cài đặt môi trường cần thiết cho việc lập trình

3 Hoàn thành đề tài OJT trong 3 ngày và áp dụng các kiến thức

đó để làm một dự án demo

Tuần 2

(20/03/2023-24/03/2023)

1 Hoàn thành các chức năng cơ bản trong dự án demo

2 Tìm hiểu về các kiến thức khác hỗ trợ trong quá trình thực hiện

3 Tham gia buổi Seminar được công ty tổ chức vào thứ 6 để học thêm các kiến thức mới

3 Thực hiện chức năng được giao để trình bày trong buổi Seminar cuối tuần tại công ty

Tuần 4

(03/04/2023-07/04/2023)

1 Thực hiện dự án ứng dụng “ Diamon Treasure Puzzle”

2 Thêm các chức năng được giao cho và fix các lỗi hiện hữu trong ứng dụng

3 Build và test ứng dụng để bên publisher của công ty phát hành

Tuần 5

(10/04/2023-14/04/2023)

1 Thực hiện dự án ứng dụng “Tangram Block Puzzle”

2 Thay đổi giao diện của ứng dụng

3 Build và test ứng dụng để bên publisher của công ty phát hành

3 Làm quen với việc làm việc nhóm

4 Làm quen với workflow chuyên nghiệp của công ty

Trang 13

Tuần 7

(24/04/2023-28/04/2023)

1 Tiếp tục thực hiện dự án “Dive Deeper”

2 Hoàn thành dự án, build và test ứng dụng để bên publisher của công ty phát hành

Tuần 8

(04/05/2023-05/05/2023)

1 Nhận dự án mới “ Where Is My Food”

2 Check source của dự án để có thể thêm chức năng mới vào ứng dụng

3 Thực hiện fix các lỗi được tìm ra

4 Gửi cho publisher của công ty để phát hành

1 Thực hiện các chức năng đã được nhận dựa trên sơ đồ UML

đã được thiết kế trước

2 Trao đổi với team art về các assets sẽ được thêm vào và thực hiện gắn vào dự án

3 Fix các lỗi của chức năng đang làm

Bảng 1 Lịch trình thực tập

Trang 14

CHƯƠNG 2 NỘI DUNG THỰC TẬP

2.1 TỔNG QUAN VỀ CÁC SẢN PHẨM LIÊN QUAN TỚI CÔNG TY

mình như Google Play Store, Apple Store,… Nhưng ở đây em xin được chia

sẻ liên kết đến danh sách các ứng dụng được phát hành bởi công ty một cách khá đầy đủ, đó là:

https://apkdl.com/developer/PUZZLE%20STUDIO%20PTE.%20LTD

- Một số hình ảnh về các sản phẩm của công ty:

Hình 2.1.1 Các dự án đã phát hành của công ty (1)

Trang 15

Hình 2.1.2 Các dự án đã phát hành của công ty (2)

Trang 16

Hình 2.1.3 Các dự án đã phát hành của công ty (3)

Trang 17

Hình 2.1.4 Các dự án đã phát hành của công ty (4)

- Công ty vẫn còn 1 số sản phẩm khác được phát hành ở các kênh của đối tác

khác Ngoài ra công ty cũng đã thực hiện nhiều các dự án cho các bên thứ ba

Trong đó có nhiều sản phẩm có trên 100K người dùng trên toàn thế giới, thậm

chí là 4M người Đó là những thành công mà công ty đã phải dành nhiều thời

gian và công sức để đạt được

2.2 TỔNG QUAN VỀ C SHARP( C#) VÀ UNITY

2.2.1 Tổng quan về C Sharp( C#)

- C sharp (được viết tắt C#): Là một ngôn ngữ lập trình hướng đối tượng đa năng,

mạnh mẽ được phát triển bởi Microsoft, C# là phần khởi đầu cho kế hoạch

.NET của họ Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng

Trang 18

theo ECMA là C#, chỉ bao gồm dấu số thường Microsoft phát triển C# dựa trên C++ và Java C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC Nhờ sự kết hợp chặt chẽ cùng với NET Framework C# có thể hỗ trợ cho việc tạo ra các ứng dụng trở nên nhanh chóng và dễ dàng hơn

Hình 3.2.1 Logo thường thấy của C#

- Một số đặc tính cơ bản của C#:

nền tảng của C++ và Java Nhờ vậy, mà chúng hầu như đều có cấu trúc chương trình khá giống nhau Mặc dù #C là ngôn ngữ “sinh sau đẻ muộn” nhưng nhờ

có nhiều cải tiến mới nên rất phù hợp với mọi đối tượng lập trình viên Một số cải tiến của nó đó chính là cấu trúc được rút gọn sao cho dễ nhớ và đơn giản hơn

Trang 19

o Là một ngôn ngữ bậc cao, C# rất dễ dàng để sử dụng và có tính hiện đại rất cao

o Là một ngôn ngữ lập trình hướng đối tượng ( OOP), C# có đầy đủ các đặc tính của loại ngôn ngữ này như: trừu tượng, đa hình, kế thừa và đóng gói

- Ưu điềm của C#:

o Quy mô của chương trình: C# thường được sử dụng để viết trên các hệ thống

vi điều khiển có kích cỡ 8bit Ngoài ra, nó còn được sử dụng trong các hệ thống trên 64bit hoặc hệ thống siêu máy tính

o C# là ngôn ngữ có hiệu suất cao, có có thể chạy mượt trên mọi hệ thống giới

hạn về dung lượng Bởi vì ngay từ những ngày đầu thì #C đã được thiết kế cho

mục đích thay thế cho ASM trong những hệ thống có bộ nhớ hạn chế

o C# có khả năng thực hiện các thuật toán giúp hỗ trợ rất nhiều kiểu dữ liệu khác

nhau cũng như việc chuyển đổi sẽ trở nên dễ dàng hơn Ngôn ngữ lập trình #C còn có khả năng cung cấp thư viện chuẩn với hàm có chức năng và công cụ

toán học

o C# là ngôn ngữ sở hữu cú pháp rất sát với những suy nghĩ logic, nhờ vậy mà việc viết code sẽ được đơn giản hóa và nhanh chóng hơn

o C# là loại ngôn ngữ lập trình rất an toàn và nó không cho phép việc chuyển đổi

kiểu dữ liệu để có thể giảm tránh được những vấn đề sai lệch xảy ra

- Để bắt đầu công việc lập trình C# ta cần phải tải về những IDE chuyên dụng

mà thường thấy như: Visual Studio, Rider, Visual Studio Code với một vài extension thiết lập để có thể lập trình C#,… Ta có thể dễ dàng tải các IDE trên bằng cách tìm kiếm tên của IDE mong muốn, download nó từ trang chủ và cài đặt (Rider là một phần mềm trả phí) Ở đây cơ sở thực tập của em đang sử dụng IDE là Visual Studio nên em xin được nói sơ qua về ứng dụng này

o Visual Studio là một IDE chuyên dụng cho việc lập trình nhất là với những người theo hướng C# hay là VB+ Được phát triển bới Microsoft, Visual Studio

có mặt trên đa nền tảng, hỗ trợ hầu hết các tác vụ mà một IDE hiện đại có thể làm như:

▪ Hỗ trợ việc code đa ngôn ngữ

▪ Hỗ trở các bộ công cụ quản lí phiên bản

Trang 20

▪ Có các công cụ hỗ trợ việc lập trình dễ dàng hơn

▪ Ngoài ra Visual Studio còn có kho tiện ích mở rộng rất phong phú hỗ trợ hầu hết mọi nhu cầu của người dùng

Hình 3.2.2 Giao diện cơ bản của IDE Visual Studio

2.2.2 Tổng quan về Unity

- Unity là một “cross- platform engine” tạm hiểu là công cụ phát triển các ứng

dụng đa nền tảng được phát triển bởi Unity Technologies Engine đang là bộ

công cụ engine phổ biến nhất và được sử dụng rộng rãi để phát trển các ứng

dụng trên PC, consoles, thiết bị di động và cả trên trên websites

Hình 3.2.3 Logo của Unity 2021 tới nay

- Unity hỗ trợ đầy đủ các tính năng mà một engine hiện đại phải có, giúp người dùng dễ dàng trong việc phát triển các ứng dụng đa nền tảng như hỗ trợ build

Trang 21

ứng dụng đa nền tảng, hỗ trợ shader, hỗ trợ viết code đơn giản hơn nhờ các chức năng được viết trước bởi các kĩ sư Unity,…

- Để bắt đầu việc lập trình với engine Unity, trước tiên ta phải tải Unity Hub một cách hoàn toàn miễn phí với người dùng cá nhân bằng đường dẫn sau

- Unity Hub là ứng dụng dùng để quản lí các dự án được có thể sử dụng được trên Unity Editor Ta có thể tạo một dự án mới, mở một dự án có sẵn, tải và quản lí các phiên bản Unity Editor khác nhau, học Unity,…

Hình 3.2.4 Giao diện cơ bản của Unity Hub

- Để tạo một dự án mới trên Unity Hub ta có thể thực hiện các bước sau:

o Nhấn nút New Project ở góc phải phía trên màn hình( nút đỏ ở hình bên

dưới)

Trang 22

Hình 3.2.5 Tạo một dự án mới trong Unity Hub (1)

công nghệ khác nhau sau đó nhấn nút Create Project

Hình 3.2.6 Tạo một dự án mới trong Unity Hub (2)

o Unity sẽ tự tạo một dự án mới và mở nó trong Unity Editor, ta sẽ hoàn toàn làm việc với dự án trong ứng dụng Unity Editor này

Trang 23

Hình 3.2.7 Giao diện cơ bản của Unity Editor

- Sau một khoảng thời gian tìm hiểu và nghiên cứu về Unity thì em đã có cơ

hội được lập trình các ứng dụng điều khiển bằng phần mềm Unity như:

o Lập trình ứng dụng điều khiển hệ thống phân loại và đếm sản phẩm lập trình

bằng Arduino trong môn “ Kĩ thuật đo” ở năm 2

o Lập tình ứng dụng điều khiển robot 4 dof trong môn “ Robot công nghiệp” ở

năm 3

o Một phần mềm mô phỏng Robot 5 dof

o Lập trình hệ thống điều khiển SCADA cho 3 nền tảng mobile, web, desktop

cho hệ thống theo dõi, giám sát độ rung của động cơ 3 pha trong môn “

SCADA nâng cao” ở năm 4

Trang 24

Hình 3.2.8 Giao diện của ứng dụng điều khiển robot 4 dof với 3 chế độ

Trang 25

Hình 3.2.9 Giao diện của ứng dụng mô phỏng robot 5 dof bằng Unity

Trang 26

Hình 3.2.10 Giao diện của ứng dụng điều khiển SCADA được viết hoàn toàn bằng C#

Unity

2.3 TỔNG QUAN VỀ CÁC SẢN PHẨM VÀ CHỨC NĂNG ĐÃ THỰC HIỆN TRONG QUÁ TRÌNH THỰC TẬP

- Vì lí do bảo mật nên ở các dự án dưới đây em xin chỉ được nói về những điều

mà em có thể chia sẻ ra bên ngoài công ty, trong đó không bao gồm các sơ đồ hay file code của các dự án chính thức trong công ty Mong quý thầy cô thông cảm Sau đây là một vài dự án mà em đã có cơ hội tham gia trong thời gian thực tập tại công ty:

2.3.1 PROJECT OJT

- Đây là một project được đưa ra trong những ngày đầu gia nhập công ty để ôn lại các kiến thức về C# và Unity Có thể kể ra các phần đáng chú ý trong mục này như:

o Ôn lại về giao diện cơ bản của Unity

o Ôn lại các chức năng hay dùng trong Unity như UI, Effects,…

các quy tắc code,…

Trang 27

o Tìm hiểu về các kiến thức mới như Shader Graph, Effectors,

- Đây chỉ là một project nhỏ chỉ được thực hiện chỉ trong vòng 3 ngày nhằm giúp những thực tập sinh ôn lại các kiến thức cơ bản trước khi thực hiện các dự án sắp tới

2.3.2 WHERE IS MY FOOD (Demo Project)

- Vì chỉ là dự án đầu tiên nên nó chỉ bao gồm các chức năng đơn giản cùng với các luồng logic không quá phức tạp

2.3.2.2 Các công nghệ được sử dụng trong dự án

dùng để lập trình gần như mọi logic trong ứng dụng

- Được vận dùng hầu hết trong mọi hoạt động khi lập trình ứng dụng trên Unity như lập trình giao diện hệ thống, lập trình chức năng,…

hoạt động của ứng dụng

- Dùng để giao tiếp giữa nhiều class với nhau một cách mềm dẻo không bị phụ thuộc quá nhiều vào Singleton

- Có thể dễ dàng thay đổi dữ liệu trong quá trình hoạt động nhờ giao diện trực quan trên Unity Editor

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

TỪ KHÓA LIÊN QUAN

w