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
BẰNG UNITY
Cơng ty thực tập
Người phụ trách
Thực tập sinh
MSSV
:
:
:
:
Công Ty Cổ Phần Gihot
Huỳnh Phúc Trí
Hồng Thế Kỷ
18520964
TP. Hồ Chí Minh, tháng 12 năm 2021
LỜI MỞ ĐẦU
Ngày nay, ngành công nghiệp game là một bộ phận không thể thiếu của ngành công
nghiệp phần mềm. Với tốc độ phát triển vô cùng mạnh mẽ, ngành game đã và đang là nhân
tố kích thích sự phát triển của công nghệ thông tin thế giới, cả về phần cứng và phần mềm.
Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ. Ngành
công nghiệp game non trẻ Việt Nam đã và đang phát triển mạnh mẽ, để hịa nhập với những
cơng ty hàng đầu về game trên thế giới. Bên cạnh những công ty game lớn nổi tiếng trên thế
giới như Gameloft, Athena, thì những cơng ty game mới bắt đầu lớn mạnh trong nước (như
Gihot) cũng gia nhập vào thị trường Việt Nam và thế giới, góp phần rất lớn vào sự phát triển
tích cực của ngành game Việt.
Ngành game được sinh ra là do nhu cầu giải trí của giới trẻ bằng những thiết bị công
nghệ mới nhất. Và cũng chính giới trẻ sẽ là nguồn nhân lực quan trọng cho việc phát triển
của ngành game sau này. Đồng thời để thỏa mãn đam mê lấy từ nguồn cảm hứng khi chơi và
xem các trò chơi, em quyết định chọn lập trình game làm định hướng cho việc học tập của
mình.
Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như
muốn được tham gia làm game trong một môi trường chuyên nghiệp, em có dự định là sẽ
thực tập sau hè. Vì vậy, em quyết định chọn Gihot - một môi trường mới lạ, hịa đồng được
thành lập khơng lâu nhưng lại khơng hề thiếu sự chuyên nghiệp - là nơi sẽ giúp em thực hiện
được dự định này.
Trang 2
LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công Ty Cổ Phần Gihot đã tạo điều kiện cho em có cơ hội
được thực tập tại cơng ty.
Trong vịng 2 tháng, em đã hoàn thành một sản phẩm game 3D theo phong cách
Casual game, hiểu được cơ bản cơ chế nhận – gửi tin nhắn giữa Client và Server, có kiến
thức cơ bản về các thành phần quan trọng trong Unity cũng như trong một game 3D Online,
biết sử dụng phần mềm quản lý Source code (Source Tree) và tương tác với phần mềm trong
quá trình làm việc, hiểu được cơ chế hoạt động của một dự án game lớn đồng thời có cái
nhìn rõ ràng hơn về cơng việc dưới vị trí của một thành viên bộ phận game Client. Chân
thành cảm ơn lịng nhiệt tình giúp đỡ của các anh chị Leader, Mentor và trưởng HR đã dìu
dắt hỗ trợ, hướng dẫn từ những ngày đầu em bước vào cơng ty.
Đặc biệt cảm ơn anh Huỳnh Phúc Trí đã hướng dẫn và cận kề hỗ trợ kiến thức nền tảng
lúc em cịn mới làm quen mơi trường làm việc. Cảm ơn anh Trần Đại Dương đã hướng dẫn
tận tình các kiến thức cơ bản cần nắm trong quá trình tìm hiểu, vận dụng cũng như trong quá
trình tiếp cận dự án thật, làm việc.
Em cũng xin chân thành cảm ơn thầy cô trong khoa Công nghệ phần mềm đã hỗ trợ,
tạo điều kiện em hoàn thành bài báo cáo này.
Hồng Thế Kỷ
Tp Hồ Chí Minh, ngày 20 tháng 12 năm 2021
Trang 3
NHẬN XÉT CỦA KHOA
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
Trang 4
MỤC LỤC
Nội dung
MỤC LỤC ..................................................................................................................................5
Chương 1: Giới thiệu công ty thực tập ..................................................................................... 6
1.
Giới thiệu Công Ty Cổ Phần GIHOT ...........................................................................6
2.
Sản phẩm của công ty ....................................................................................................7
Chương 2: Nội dung thực tập .................................................................................................... 8
1.
Tìm hiểu cơng ty và các kỹ năng làm việc ....................................................................8
2.
Nghiên cứu trải nghiệm các công cụ sử dụng trong quá trình làm việc ...................9
3.
Thực hiện một mini game ...........................................................................................10
4.
Làm quen với Regular Expression .............................................................................12
5.
Tạo một hệ thống chat giữa các client chung mạng .................................................12
6.
Tìm hiểu về Unity 3D ...................................................................................................13
7.
Tìm hiểu, cài đặt sử dụng phần mềm quản lí Source code ......................................17
8.
Tiếp cận dự án thật, trải nghiệm công việc ...............................................................18
Chương 3: Lịch làm việc .......................................................................................................... 19
TÀI LIỆU THAM KHẢO........................................................................................................ 20
TỔNG KẾT ............................................................................................................................... 21
Trang 5
Chương 1: Giới thiệu công ty thực tập
1. Giới thiệu Công Ty Cổ Phần GIHOT
Công ty Cổ phần GIHOT được thành lập từ năm 2014, là cơng ty lập trình và phát triển
game đã tạo được giá trị thương mại trên thị trường game Việt.
GIHOT - một trong những studio Việt Nam chuyên sản xuất và phát triển game online
trên cả hai nền tảng WEB và MOBILE. Với đam mê và mong muốn đưa những sản phẩm
game online Việt Nam ra thế giới, GIHOT luôn nỗ lực không ngừng để mang đến cho người
dùng những trải nghiệm tuyệt vời nhất.
Được thành lập năm 2015, trải qua nhiều năm nỗ lực không ngừng, hiện tại GIHOT đã
và đang triển khai thành công dịch vụ Game Online tại các nước Việt Nam, Trung Quốc,
Lào, Cam-pu-chia, Phi-lip-pin… và đang trong quá trình chuẩn bị mở rộng ra tồn khu vực
Đơng Nam Á nói riêng và Châu Á nói chung, đúng như mục tiêu “Vươn mình ra biển lớn –
Sea to Ocean”.
Trang 6
2. Sản phẩm của công ty
Thể loại MMORPG, 3D :
-
Cửu Dương Truyền Kỳ (android, IOS)
-
Thiếu niên nhẫn giả (android, IOS)
-
Spirit Land Legend (android, IOS)
Thể loại Turn-based, 3D :
-
Hải trình huyền thoại (android, IOS)
-
Chiến binh vũ trụ (android, IOS)
Trang 7
Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình game 3D trên Android bằng Unity” nhằm mục đích
giúp sinh viên thực tập được đào tạo tồn diện về lập trình game 3D trên Android cũng như
bước đầu làm quen với Unity, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm,
trao đổi trình bày ý kiến. Tại cơng ty, sinh viên có cơ hội được học tập, khám phá và làm
việc trong một môi trường phát triển game chuyên nghiệp.
Bên cạnh đó, sinh viên cịn có cơ hội được tìm hiểu tồn cảnh về các vai trò trong đội
ngũ phát triển game, đồng thời được rèn luyện các kỹ năng giao tiếp và giải quyết vấn đề khi
phải làm việc chung với các đội ngũ.
1. Tìm hiểu cơng ty và các kỹ năng làm việc
Thời gian : 1 ngày
Nội dung : Giới thiệu về công ty, nơi làm việc, quy định tại công sở.
Được nghe người phụ trách giới thiệu về công ty Gihot, quá trình thành lập và
phát triển, các sản phẩm làm nên tên tuổi. Được gặp gỡ các anh, chị quản lý cấp cao
của mỗi bộ phận, đội ngũ trong công ty. Giới thiệu và làm quen với các anh mentor,
các bạn fresher chung nhóm.
Studio gồm 3 đội ngũ chính:
o Client: Đội ngũ chuyên về xử lí Front End (thực tập sinh được bố trí vị trí
trong bộ phận này dưới sự chỉ đạo của anh Huỳnh Phúc Trí – Leader bộ phận
và sự hướng dẫn của anh Trần Đại Dương – Mentor đợt thực tập này)
o Server: Đội ngũ chuyên về xử lí Back End
o Design: Đội ngũ chuyên về thiết kế, lên ý tưởng
Sau đó thực tập sinh được giới thiệu về văn hóa làm việc của cơng ty, bao gồm
giờ giấc làm việc, cách thức chấm công, quy định chung trong môi trường làm việc,
Trang 8
các khu vực của công ty như tủ lạnh – bếp, phòng họp, lối ra vào.
Cuối cùng thực tập sinh được bố trí vị trí làm việc, hướng dẫn cài đặt thiết bị
chuẩn bị cho công việc.
Kết quả : Hiểu thêm về cơng ty, đặc biệt là về quy trình và phong cách làm việc. Làm
quen được với các anh mentor, các bạn fresher. Nắm rõ lịch trình 1 ngày làm việc ở
cơng ty. Có tinh thần kỷ luật và trách nhiệm.
2. Nghiên cứu trải nghiệm các công cụ sử dụng trong quá trình làm việc
Thời gian : 4 ngày
Nội dung : Tìm hiểu về các cơng cụ sẽ được sử dụng trong quá trình làm việc
Trong thời gian này, thực tập sinh sẽ cài đặt và làm quen các công cụ hỗ trọ
trong công việc sau này. Một số phần mềm trong số đó như Tortoise SVN - sử dụng
trong làm việc nhóm, dùng để chia sẽ dữ liệu nhanh giữa các thành viên trong một bộ
phận đội ngũ, Telegram – kênh chat chung của công ty cũng như là nơi trao đổi các ý
kiến, vấn đề trong quá trình làm việc hay báo cáo cơng việc cuối ngày lên nhóm chat
của bộ phận, trang Web nội bộ cơng ty – dùng để nhận và cập nhật công việc hàng
ngày của mỗi cá nhân công ty.
Kết quả : Nắm được các sử dụng các công cụ đã được phổ biến, nhận ra tính tiện dụng
của các cơng cụ cũng như hình dung rõ hơn về quy trình làm việc
Trang 9
3. Thực hiện một mini game
Thời gian : 1 tuần
Nội dung : Hiện thực một game tương tự Stack jump, sử dụng Unity 2017.4.39
Trong thời gian này, thực tập sinh sẽ cài đặt và làm quen với Unity 3D, đồng
thời kết quả của việc làm quen – tìm hiểu engine chính là hiện thực được một game 3D
với các cơ chế tương tự game Stack jump.
Quy trình :
-
Tìm hiểu cơ chế của game, ghi chú những gì cần làm, cần có trong game
Trang 10
-
Bắt đầu hiện thực, thử tạo các khối hộp (cube) và sử dụng làm nền khi bắt đầu game
cũng như đổi màu và kéo kích cỡ nhỏ lại làm các moving platform, cuối cùng là
một khối nhỏ, trắng đại diện cho nhân vật đang chơi
-
Tìm hiểu cách các vật thể trong game sử dụng lực và trọng lực, cách xét va chạm.
Tiến hành tìm hiểu và code khi người chơi Input “Space”, nhân vật sẽ nhảy lên
-
Code các moving platform có thể di chuyển qua lại nhưng khơng bị ảnh hưởng bởi
trọng lực, phát sinh vấn đề làm sao để cho các moving platform di chuyển theo thứ
tự mỗi khi người chơi chạm platform
-
Tìm hiểu cách khởi tạo vật thể mà không cần đặt sẵn trước trong không gian, xét
moving platform được khởi tạo sẽ ngẫu nhiên từ trái hoặc phải, với tốc độ ngẫu
nhiên trong khoản nhất định, nảy sinh vấn đề game không tối ưu khi tiếp tục khởi
tạo vật thể trong khi các vật thể đã khởi tạo khơng dùng nữa lại vẫn cịn tồn tại
-
Thay vì phải phá hủy vật thể mỗi khi ra khỏi tầm mắt của người chơi, người hướng
dẫn (anh Huỳnh Phúc Trí) đã gợi ý sử dụng Object pool pattern (một pattern cho
phép chúng ta sử dụng lại các vật thể đã dùng mà không ảnh hưởng đến gameplay,
giúp việc tối ưu game đang chạy về dài), sau khi áp dụng pattern, đã khơng tồn tại
các vật thể khơng dùng nữa ngồi tầm mắt người chơi
-
Viết code hệ thống các moving platform, chỉ khởi tạo moving platform lúc bắt đầu
game, và mỗi khi nhân vật nhảy lên rơi xuống va chạm phía trên moving platform
đang di chuyển, platform đó sẽ dừng lại đứng yên, hệ thống sẽ khởi tạo platform
mới, còn nếu nhân vật không nhảy hoặc nhảy nhưng va chạm moving platform ở
các phía khác, hệ thống sẽ ngừng khởi tạo (game kết thúc)
-
Tìm hiểu và hiện thực cách load lại level mỗi khi nhân vật thua
-
Tìm hiểu và hiện thực code tính điểm và in ra bên phải vị trí nhân vật mỗi khi nhảy
lên được một platform, phát sinh tình huống có bonus point mỗi khi nhân vật nhảy
lên được platform đồng thời platform đó xếp chồng chính xác ngay trên platform
dưới mà không thừa không thiếu
-
Tạo một sai số theo chiều x trong không gian, mỗi khi nhân vật nhảy lên platform
thành cơng và platform đó dừng lại, nếu tâm của platform đó và platform phía dưới
theo chiều x nằm trong khoảng sai số, tự động platform trên sẽ dịch chuyển xếp
chồng hồn hảo và tính bonus point cho người chơi
Trang 11
-
Cuối cùng, tìm hiểu và tạo UI để người chơi có thể nhấn bắt đầu game, hoặc nhấn
xem high score của các lần chơi trước đã được lưu
-
Xuất game ra file apk để chơi thử ngay trên điện thoại
Kết quả : Nắm được các kiến thức cơ bản của lập trình game trên Unity 3D cũng như
của một game đơn giản 3D trên điện thoại, cho một cái nhìn tổng quan của các trạng thái
trong game
4. Làm quen với Regular Expression
Thời gian : 4 ngày
Nội dung : Tìm hiểu về ý nghĩa, nội dung của Regex pattern, đồng thời cách áp dụng
vào các tình huống thường được sử dụng. Làm một số ví dụ minh họa sử dụng Regex
Regular Expression là một pattern cho phép lấy ra được thông tin cần thiết của
một đoạn text dựa trên các đặc điểm nhận dạng đã biết. Từ đó cho phép chúng ta áp
dụng vào nhiều tình huống trong đời thường như nhắn tin điện thoại, phân loại message
server – client cho các tình huống cụ thể.
Kết quả : Nắm được các kiến thức cơ bản của việc sử dụng Regex cũng như cách áp
dụng nó vào các tình huống đời thường, cho một cái nhìn tổng quan hơn về việc xử lí
các tin nhắn khi nhận và gửi
5. Tạo một hệ thống chat giữa các client chung mạng
Thời gian : 1,5 tuần (11 ngày)
Nội dung : Thiết kế một hệ thống server lắng nghe – gửi các tin nhắn đến từ các client
chung một mạng
Quy trình :
-
Tìm hiểu và sử dụng Socket (Socket là một API cung cấp các phương thức để giao
Trang 12
tiếp thông qua mạng) để dựng sẵn một Client mẫu sử dụng TcpClient, tạo được yêu
cầu kết nối đến Server với port đã xác định bằng phương thức Connect và lấy luồng
giao tiếp bằng GetStream
-
Thiết kế Server – Client với TCP/IP (định sẵn IP để server có thể lắng nghe port cụ
thể), tạo TcpListener để bắt đầu lắng nghe trên một cổng cục bộ, xác nhận kết nối
với Client bằng phương thức AcceptSocket trả về đối tượng Socket dùng để gửi và
nhận dữ liệu
-
Thiết kế Regex cho hệ thống chat, giúp Client khi nhận tin nhắn sẽ nhận diện được
tin nhắn đến từ Client nào, và giúp Server khi nhận được tin nhắn sẽ biết tin nhắn
đến từ Client nào và được gửi cho Client nào, từ đó dễ dàng điều phối các tin nhắn
một cách hợp lý
-
Thiết kế UI cho cả Server và Client :
o Server: có nút khởi động/ tắt Server, danh sách các Client (kèm tên) đang kết
nối được đến Server
o Client: có chỗ điền tên và nút kết nối đến Server, danh sách các Client (kèm
tên) đang kết nối đến Server, từ đó chọn vào mỗi Client để hiện ra các Tab
nhắn tin riêng
Kết quả : Cho một cái nhìn cụ thể về cách hoạt động cũng như việc xử lí của một hệ
thống chat, từ đó nắm được khái quát cách vận hành giao tiếp giữa Server và Client
trong các game Online
6. Tìm hiểu về Unity 3D
Thời gian : 2 tuần
Nội dung : Tìm hiểu và làm ví dụ thể hiện các nội dung được phổ biến bởi anh mentor
Đại Dương
-
Character:
o Model: một file model có thể chứa một mơ hình 3D, như một nhân vật hay
một tòa nhà, đồng thời chứa cả dữ liệu animation được truyền vào từ các
Trang 13
Animation Clips
o Texture: một file ảnh 2D chứa dữ liệu là các pixel
o Material: định nghĩa một bề mặt sẽ được render như thế nào
o Shader: là những đoạn code nhỏ, chứa các tính tốn và cơng thức để tính
màu mỗi pixel khi render, dựa vào ánh sáng nhận được và cấu hình Material
-
Map:
o Baked light: Unity tính tốn cho Baked light, sau đó lưu lại kết quả dưới
dạng dữ liệu ánh sáng, quá trình này được gọi là baking. Khi chạy, Unity sẽ
load các dữ liệu ánh sáng baked vào scene (giảm chi phí khi chạy nhưng
khơng thể thay đổi trong q trình chạy)
o Dynamic Light: được tính tốn ngay thời gian thực
• Point light: như một bóng đèn sợi đốt, chiếu sáng vật thể dựa trên
khoản cách giữa nó với các vật thể
• Directional light: như mặt trời, tác dụng lên tồn bộ vật thể
• Spot light: như một cái đèn pin hay đèn pha xe ô tô, nó chiếu theo
một hướng theo hình phểu
o Static batching: tập hợp các vật thể static (không di chuyển) vào Meshes lớn,
rồi render chúng nhanh hơn
-
Animation:
o Mecanim: ở trong hệ thống animation, cho phép: workflow dễ dàng, có khả
năng sử dụng animations từ một character model này sang character model
khác, thuận tiện cho việc xem trước các animation clip và lúc chuyển cảnh
giữa chúng
o Legacy: là một hệ thống animation lỗi thời, dùng để chạy các dự án cũ
o Animation type:
• Humanoid: được dùng để animate các các dạng mơ hình người, cho
phép sử dụng Animation Retarget (Animation Retarget cho phép sử
dụng lại các animation giữa các nhân vật sử dụng khung xương giống
Trang 14
nhau)
• Generic: được dùng để animate tất cả các vật thể khác không phải
Humanoid, nhưng không dùng được Animation Retarget
o Animation Clip: là các khối xây dựng nhỏ nhất của animation trong Unity,
đại diện cho từng cử động nhỏ (như nhảy, chạy, ..) và có thể được kết hợp
với các animation clip khác
o Transition: là đoạn chuyển cảnh mỗi khi chuyển từ một trạng thái animation
này sang một trạng thái animation khác
-
Effect:
o Particle: hệ thống Particle sẽ mô phỏng và render các hình ảnh nhỏ hay
Meshes (được gọi là particles) để tạo ra hiệu hứng hình ảnh
o 2D: có thể sử dụng Effector 2D để tạo ra các hiệu ứng sau:
• PlatformEffector2D: tạo các hành vi cho một platform, ví dụ như va
chạm 1 chiều
• PointEffector2D: tạo lực hút và đẩy như nam châm giữa các vật thể
• BuoyancyEffector2D: tạo hiệu ứng như bề mặt nước khi có vật thể tác
động
• AreaEffector2D: tạo một khu vực nếu có một vật thể đi vào sẽ chịu
tác dụng bởi một lực với một góc lực định sẵn
o 3D:
• Trail Renderer: tạo một vệt đường được vẽ phía sau vật thể di chuyển
theo thời gian thực
• Lens Flare: mơ phỏng hiệu ứng ánh sáng bị khúc xạ trong lens của
camera
• Halo: là vùng ánh sáng hào quang bao quanh nguồn sáng, dùng để tạo
cảm giác có các hạt bụi nhỏ trong khơng gian
o UI:
• Canvas: là một thành phần của Game Object, và tất cả các thành phần
Trang 15
UI đều là con của vật thể này, và tất cả các thành phần UI đó sẽ được
vẽ chồng theo đúng thứ tự trong Hierarchy (hệ thống cấp bậc các vật
thể trong Scene)
• Panel: đơn giản là một thành phần hình ảnh của Game Object có thể
được kéo giãn, có thể chứa các thành phần UI làm con
• Image: điều khiển của Image trình bày một hình ảnh khơng thể tương
tác (như trang trí hoặc icon) đối với người chơi
• Button: điều khiển của Button phản hồi cho mỗi click từ người chơi,
được dùng để khởi tạo hoặc chấp thuận một hành động
• Rect Transform: là một thành phần 2D layout của Game Object, đại
diện cho một hình chữ nhật mà các thành phần UI có thể được đặt bên
trong
o Life Cycle:
Trang 16
-
Một số nội dung các về việc code:
o Coroutine / Invoke: cho phép chờ / trì hỗn một đoạn code / hàm
o Singleton: đảm rằng một class chỉ có duy nhất một instance (khi khởi tạo),
cung cấp một cách toàn cầu để truy cập đến instance đó
o Asset Bundle: các tài nguyên (như hình ảnh, Prefab, ..) sẽ được lưu trữ trên
mạng, và chỉ khi sử dụng mới load lên, tránh trường hợp load tài nguyên từ
đầu game, dẫn đến tốn thời gian và RAM)
Kết quả : Cho một cái nhìn cụ thể về cách hoạt động cũng như việc xử lí từng bộ phận
của một game 3D, từ đó nhận thấy được tầm quan trọng của các thành phần đó đóng góp
vào game
7. Tìm hiểu, cài đặt sử dụng phần mềm quản lí Source code
Thời gian : 4 ngày
Nội dung : Tìm hiểu cách sử dụng Source Tree kết hợp với Gitlab để tiếp cận dự án
của công ty
Trang 17
Kết quả : Có cái nhìn cận cảnh hơn về một dự án dưới vai trò một thành viên của bộ
phận Client, hiểu được cách thức các thành viên trong team hoạt động chung với nhau để
xây dựng một sản phẩm
8. Tiếp cận dự án thật, trải nghiệm công việc
Thời gian : 1,5 tuần (10 ngày)
Nội dung : Tiếp cận dự án đang phát triển của công ty, nhận một số công việc để trải
nghiệm
Tiến hành chạy thử game dự án trên Unity, chơi qua các màn cơ bản để hiểu cơ
chế game cũng như cách vận hành. Tìm hiểu ngôn ngữ mới – Lua của dự án, và bắt đầu
đọc code để hiểu một số luồng cơ bản trong game dùng để gọi event. Nhận một số Task
(công việc) cơ bản để trải nghiệm thử công việc của một vị trí trong bộ phận game Client
dưới sự hướng dẫn của anh mentor Đại Dương (Các Task là fix bug, đòi hỏi thực tập
sinh phải hiểu cách hoạt động của UI cũng như các luồng code để lấy dữ liệu từ Server
hoặc Config đưa lên màn hình game)
Kết quả : Có cái nhìn cụ thể về cơng việc của thành viên bộ phận game Client, hiểu
hơn về cách hoạt động của các lớp, luồng code dự án lớn trong quá trình chạy game như
thế nào, đồng thời cho cảm giác mới lạ khi được hoàn thành một số Task và đẩy lên
Source code của dự án công ty
Trang 18
Chương 3: Lịch làm việc
Tuần
Cơng việc
Người hướng dẫn
1
- Tìm hiểu công ty và các kỹ năng
làm việc (Trang 8)
- Nghiên cứu trải nghiệm các cơng cụ
sử dụng trong q trình làm việc
(Trang 9)
- Bắt đầu thực hiện một mini game
(Trang 10-12)
- Chị Sao: trưởng bộ phận
HR
- Anh Trí: trưởng bộ phận
game Client
100%
2
- Kết thúc thực hiện một mini game
(Trang 10-12)
- Làm quen với Regular Expression
(Trang 12)
- Anh Trí: trưởng bộ phận
game Client
100%
3
- Bắt đầu tạo một hệ thống chat giữa
các client chung mạng (Trang 12-13)
- Anh Trí: trưởng bộ phận
game Client
100%
4
- Kết thúc tạo một hệ thống chat giữa
các client chung mạng (Trang 12-13)
- Anh Trí: trưởng bộ phận
game Client
100%
5
- Bắt đầu tìm hiểu về Unity 3D
(Trang 13-17)
- Anh Dương: phó bộ phận
game Client kiêm Mentor
100%
6
- Kết thúc tìm hiểu về Unity 3D
(Trang 13-17)
- Anh Dương: phó bộ phận
game Client kiêm Mentor
100%
7
- Tìm hiểu, cài đặt sử dụng phần
mềm quản lí Source code (Trang 17)
- Bắt đầu tiếp cận dự án thật, trải
nghiệm cơng việc (Trang 18)
- Anh Trí: trưởng bộ phận
game Client
- Anh Dương: phó bộ phận
game Client kiêm Mentor
100%
8
- Kết thúc tiếp cận dự án thật, trải
nghiệm công việc (Trang 18)
- Anh Trí: trưởng bộ phận
game Client
- Anh Dương: phó bộ phận
game Client kiêm Mentor
100%
Trang 19
Mức độ hồn
thành
TÀI LIỆU THAM KHẢO
Game Stack Jump
/>
Object Pooling
/> />
Regular Expression
/>
Socket
/>
Unity 3D
/>
Sourcetree tutorial
/>
Trang 20
TỔNG KẾT
Trong vịng 2 tháng, em đã hồn thành một sản phẩm game 3D theo phong cách
Casual game, hiểu được cơ bản cơ chế nhận – gửi tin nhắn giữa Client và Server, có kiến
thức cơ bản về các thành phần quan trọng trong Unity cũng như trong một game 3D Online,
biết sử dụng phần mềm quản lý Source code (Source Tree) và tương tác với phần mềm trong
quá trình làm việc, hiểu được cơ chế hoạt động của một dự án game lớn đồng thời có cái
nhìn rõ ràng hơn về cơng việc dưới vị trí của một thành viên bộ phận game Client.
Chân thành cảm ơn lòng nhiệt tình giúp đỡ của các anh chị Leader, Mentor và trưởng
HR đã dìu dắt hỗ trợ, hướng dẫn từ những ngày đầu em bước vào công ty.
Một lần nữa xin trân trọng cảm ơn công ty – studio Gihot đã tổ chức chương trình
thực tập để cho em cơ hội được thử sức với vai trò của một Game Developer. Cảm ơn các
thầy cô khoa Công nghệ Phần mềm đã tạo điều kiện cho em được tham gia thực tập và hoàn
thiện báo cáo này.
Trang 21