Tải bản đầy đủ (.doc) (23 trang)

Báo cáo thực tập lập trình game bằng unly

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.63 MB, 23 trang )

1

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 BẰNG UNITY

Cơng ty thực tập

: Công ty Wolffun

Người phụ trách

: Nguyễn Duy Ca

Thực tập sinh

: Hồ Cơng Thành

TP. Hồ Chí Minh, tháng 12 năm 2021

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


2

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 Việt Nam vẫn đang phát triển cùng những công ty game Startup đang phát triển
không ngừng để mang game Việt đến toàn thới giới.
Ngành game được sinh ra là do nhu cầu giải trí của mọi người đang ngày càng gia tăng
và đa dạng. Do đó để thoả mãn thị hiếu của người chơi, các game hiện nay cần liên tục sáng tạo,
đổi mới để có thể thỗ mãn nhu cầu giải trí của con người. Do đó, với mong muốn đem lại niềm
vui cho mọi người, em đã quyết định chọn lập trình game làm mơn thự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 trong hè. Vì vậy, em quyết định chọn Wolffun - một môi trường lý tưởng, hiện đại, chuyên
nghiệp - là nơi sẽ giúp em thực hiện được dự định này.

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty Wolffun đã tạo điều kiện cho em có cơ hội được thực
tập tại công ty.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của các anh chị trong công
ty, em đã tiếp thu được các kiến thức quan trọng cũng như kinh nghiệm làm việc thực tế khi
được tham gia vào các project của công ty. Chân thành cảm ơn các anh trong đội developer đã
bỏ ra nhiều thời gian,cơng sức để hướng dẫn em hồn thành đợt thực tập này.
Đặc biệt cảm ơn anh Hoàng và anh Đức, đã tạo điều kiện cho em được tham gia vào các

project của công ty và hướng dẫn em nhiệt tình để có thể học hỏi thêm các kiến thức từ các dự
án thực tế của công ty. Xin cảm ơn anh Ca đã nhiệt tình hướng dẫn em làm quen với các tính
năng trong Unity.
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ài báo cáo này.
Hồ Công Thành
TpHCM, ngày 23 tháng 12 năm 2021

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


4

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


5

NHẬN XÉT CỦA KHOA

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


6

MỤC LỤC
Mục lục
Chương 1: Giới thiêu công ty thực tập.......................................................................................................9
1.

Giới thiệu công ty Wolffun............................................................................................................9

2.

Sản phẩm của công ty....................................................................................................................9

Chương 2: Nội dung thực tập.....................................................................................................................11
1.


Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty.............................................................11

2.

Nghiên cứu kỹ thuật.....................................................................................................................11
2.1.

Các công cụ làm việc.............................................................................................................11

2.2.

Tham gia lớp huấn luyện lập trình Unity.............................................................................12

2.3.

Thực hành tạo một game 3D dựa trên project mẫu của Unity............................................13

3.

Tham gia project công ty.............................................................................................................14

4.

Lịch làm việc.................................................................................................................................14

Chương 3: Chi tiết về project.....................................................................................................................16
1.

Giới thiệu về game........................................................................................................................16

1.1.

2.

3.

Các tính năng trong game.....................................................................................................16

Các tính năng được tham gia thực hiện.....................................................................................17
2.1

Tính năng mở hộp hero trên trang marketplace...............................................................17

2.2

Tính năng nhận thưởng sau khi kết thúc battle.................................................................19

2.3

Tính năng chọn game mode ngồi màn hình Menu..........................................................20

2.4

Tính năng kết bạn và mời bạn tham gia party..................................................................21

Đánh giá kết quả..........................................................................................................................22

TÀI LIỆU THAM KHẢO..........................................................................................................................23
GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành



7
TỔNG KẾT..................................................................................................................................................24

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


8

Chương 1: Giới thiêu công ty thực tập

1. Giới thiệu công ty Wolffun
Wolffun là một công ty làm game được thành lập vào năm 2014 với dòng game
chủ lực là dịng Online PvP cho điện thoại. Cơng ty được thành lập với 4 nhân viên
làm game Casual. Vào năm 2015, Cơng ty bắt đầu tập trung vào dịng game midcore action và đã publish game Tank Raid Online – dòng game PvP – lần đầu tiên
vào năm 2017. Game đã có hơn 5 triệu user trên tồn cầu và được Google vinh danh
là Google Editor’s Choice và nhiều giải thưởng khác. Công ty hiện đang hướng tới
mục tiêu đạt được 100 triệu user trên tồn cầu.

2. Sản phẩm của cơng ty
Wolffun nổi bật với dòng game action online PvP dành cho các thiết bị di động
Android và Ios. Wolffun tự hào là một trong các công ty hàng đầu Việt Nam và
Đơng Nam Á về dịng game Moba cho thiết bị di động. Cả 2 dòng game của Wolffun
là Tank Raid Legend và Heroes Strike đã vượt hơn 5 triệu người dùng trên tồn cầu
và được phản hồi rất tích cực từ người dung. Game mới đây nhất của Wolffun là

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành



9

Thetan Arena, đã có hơn 9 triệu user trên tồn cầu và được đánh giá hơn 4.5 sao trên
các store.

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


10

Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình game bằng Unity” nhằm mục đích giúp sinh viên thực
tập được đào tạo toàn diện về lập trình game bằng Unity, đồng thời rèn luyện những kỹ năng
mềm như làm việc nhóm, thuyết trình, giao tiếp. 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 chun nghiệp.
1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty
Thời gian : 1 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người phụ trách giới thiệu về cơng ty và hướng dẫn sơ qua về quy
trình làm việc, các quy định, các cơng việc và lộ trình thực tập sắp tới
Ngồi ra, thực tập sinh cịn được hướng dẫn sơ qua về project mà thực tập sinh sẽ
được tham gia vào để học tập, các nhân sự liên quan và văn hố cơng ty
Kết quả : Hiểu thêm về cơng ty Wolffun, q trình thành lập và phát triển. Có thêm các
kỹ năng về việc sử dụng email trong cơng việc, làm việc có kế hoạch, có kỷ luật, có trách
nhiệm hơn.
2. Nghiên cứu kỹ thuật
2.1. Các công cụ làm việc

Thời gian : 1 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, mentor sẽ hướng dẫn set up project và hướng dẫn về engine
Unity để thực tập sinh có thể làm quan với một project Unity như thế nào. Đồng thời,
mentor cũng hướng dẫn về git flow, các document, các kênh chat của công ty để thực

2.2.

tập sinh dễ dàng làm quen hơn với công việc
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả : Sử dụng các công cụ được hướng dẫn và chạy được project trên Unity
Tham gia lớp huấn luyện lập trình Unity
Thời gian : 14 ngày (2 tuần)
Nội dung : Được training về các kỹ thuật được sử dụng trong Unity, C#, thực hiện
một project Unity như thế nào và cho thực hiện một project Unity như bài tâp

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


11

-

Lập trình hướng đối tượng
Nhắc lại các kiến thức lập trình hướng đối tượng, cách áp dụng lập trình hướng
đối tượng vào Unity, các lỗi hay mắc phải khi thiết kế các lớp trong lập trình

-


hướng đối tượng
Các hàm cơ bản trong Unity:
Flow thực hiện trong Unity, một số các hàm đặc biệt trong Unity để cập nhật

-

Game Loop
Các component cơ bản của Unity
Giới thiệu một số component cơ bản như Transform, Rigid Body, Collider, Text,
… nhằm giúp thực tập sinh nắm và hiểu rõ hơn về các component trong Unity,

-

việc này sẽ giúp ích thực tập sinh làm việc nhanh hơn và cho ra sản phẩm tốt hơn.
Các model, resource và tối ưu trong project :
Cung cấp kiến thức chuyên sâu về cách quản lý resource, tối ưu resource trong
một game thực tế như thế nào. Việc tối ưu resource sẽ làm tăng trải nghiệm của
người dung, cho họ cảm giác chơi game mượt mà không giật lag, đồng thời hỗ trợ

tối đa các thiết bị chơi game khác nhau.
Thực hiện :
- Tham gia đầy đủ các buổi training của công ty.
- Làm các bài thực hành, kiểm tra về kiến thức đã học.
Kết quả :
-

Nâng cao kỹ năng lập trình với ngơn ngữ C#.
Hiểu rõ và sâu hơn về các component cơ bản trong Unity.
Ngồi ra cịn được biết thêm một số quy tắc trong việc viết code sao cho đúng
chuẩn, dễ đọc, dễ hiểu.


2.3.

Thực hành tạo một game 3D dựa trên project mẫu của Unity
Nội dung: Áp dụng các kiến thức đã học để tạo nên một game 3D bắn tank
-

Va chạm và vật lý trong Unity.

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


12

Áp dụng các kiến thức đã học về C# và các component trong Unity để điều khiển
chiếc xe tank di chuyển trong một bản đồ 3D. Hiểu được thực tế các các vật thể
trong Unity được kiểm soát như thế nào, cách tối ưu tính tốn vật lý trong Unity.
-

Các kỹ năng và đạn cho tank:
Áp dụng OOP để viết các hoạt động cho các loại đạn, effect, skill, của xe tank. Từ
đây thực tập sinh hiểu hơn về cách áp dụng OOP vào một project thực tế như thế
nào cho đúng và tốt.

-

Config cho đạn và các skill
Cách áp dụng tạo file config cho các loại đạn và skill của một con tank. Từ đó
giảm thiểu việc sửa code khi cần chỉnh sửa các thông số hay thay đổi design cho

một con tank.

-

Tối ưu
Áp dụng Object pooling vào project để hạn chế việc liên tục khởi tạo và giảm
thiếu công việc của Garbage Collector, nhằm giúp game chạy mượt hơn.

Thực hiện :
-

Tham gia đầy đủ các buổi training.
Thực hiện đầy đủ các bài tập mà mentor đặt ra
Đọc thêm doc và các tài liệu trên mạng để thực hiện project tốt hơn.

Kết quả :
-

Có một game bắn tank nhỏ để chơi.
Hiểu hơn về cách Unity hoạt động.

3. Tham gia project công ty

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


13

Sau gần một tháng được training và thực hành, thực tập sinh đã nắm được những kiến

thức về Unity, mentor hướng dẫn thực tập sinh tham gia vào project của công ty để tiếp
tục học hỏi và trao dồi kỹ năng.
Chi tiết project sẽ được nói ở phần sau.
4. Lịch làm việc

Tuần

Cơng việc
-

1, 2

2

3

4

5

6

7

Mức
độ
Người hướng dẫn
hồn
thành
Anh Đinh Quang 100%

Đức
Anh Nguyễn Duy
Ca
Anh Đinh Quang 100%
Đức
Anh Lê Huỳnh
Minh Tinh
Anh Đinh Quang 100%
Đức
Anh Lê Quốc
Phương
Anh Lê Huỳnh 100%
Thăng

Nhận xét của người
hướng dẫn

Xây dựng một ứng
dụng con cho việc
mở box ra hero trên
marketplace
- Chỉnh sửa màn hình
Battle End để nhận
reward từ data mới
của server
- Thực hiện code
phần đổi game
mode trong màn
hình Menu
- Thêm phần hiển thị

ranking level và
hero ranking ở màn
hình Battle End
Reward
Giai đoạn Alpha:
100%
- Nhận các feedback
từ user và chỉnh sửa
các lỗi
- Code phần login as Anh Đinh Quang 100%
guess account
Đức
- Code phần invite
community
- Thực hiện căn chỉnh
UI cho nhiều loại
màn hình khác nhau
- Code tính năng Anh Lê Huỳnh 100%

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


14

8

Friend
Minh Tinh
Học cách sử dụng

GRPC
Báo cáo cuối đợt Anh
Sơ Tuấn 100%
thực tập.
Hồng
Anh Nguyễn Duy
Ca

GVHD: Thầy Lê Thanh Trọng
Hồ Cơng Thành


15

Chương 3: Chi tiết về project
1. Giới thiệu về game
Game Thetan Arena là một game Moba NFT với mục tiêu là Free to play, battle to earn.
Game cho phép người chơi sử dụng các hero để thi đấu với nhau và tạo ra các đồng
THC, đồng thời, các con hero và các vật phẩm ingame đều có thể được đem đi trao đổi
trên marketplace.

1.1.

Các tính năng trong game
Mơ tả
Game gồm 2 mode chơi chính là đánh theo team và đánh theo battle royal. Trong
mode đánh theo team, sẽ chia thành 3 mode chơi phụ là Deathmatch, Tower và
Super Star, 8 player sẽ chia thành 2 team và thực hiện các nhiệm vụ trong từng
mode cụ thể để giành chiến thắng. Đối với mode battle royal, cơ chế mode battle
royal là người chơi sẽ cố gắng sống sót đến cuối cùng trong khi bản đồ ngày càng

được thu hẹp dần. Game còn cho phép người chơi kết bạn, xếp hạng leaderboard,
xếp hạng rank, … và trao đổi các vật phẩm ingame cho nhau bằng đồng THC.

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


16

Ảnh 1: Các mode chơi hiện tại

Ảnh 2: Một trận đấu trong game

2. Các tính năng được tham gia thực hiện
2.1 Tính năng mở hộp hero trên trang marketplace
Tính năng hiển thị hộp hero, sau khi user chọn vào mở hộp thì sẽ xuất hiện
một hero random.

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


17

Ảnh 3: một hộp hero giáng sinh

Ảnh 4: animation card hero

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành



18

Ảnh 5: Khi hero xuất hiện

Ảnh 6: Thơng tin hero

2.2Tính năng nhận thưởng sau khi kết thúc battle
Tính năng giúp hiển thị kết quả trận đấu và hiển thị phần reward của người
chơi nhận được dựa trên kết quả của trận đấu. Màn hình kết thúc trận đấu sẽ
bao gồm thông tin về điểm, số mạng giết và chết, các thành tích người chơi
đạt được trong trận đấu. Màn hình reward sẽ bao gồm các thông tin về mức
điểm hạng, phần thưởng của user.

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


19

Ảnh 7: Màn hình kết thúc trận đấu

Ảnh 8: Màn hình nhận thưởng

2.3 Tính năng chọn game mode ngồi màn hình Menu
Tính năng cho phép người chơi chọn mode mà mình u thích để tham gia
battle, mỗi một khung giờ sẽ chọn ra một mode chơi và một map chơi ngẫu
nhiên nhằm giúp user không nhàm chán.


GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


20

Ảnh: màn hình chọn game mode

2.4 Tính năng kết bạn và mời bạn tham gia party
Tính năng cho phép người chơi tìm kiếm và kết bạn với nhau, đồng thời cho
phép người chơi mởi bạn mình tham gia vào party để chơi cùng nhau, giúp
tang hứng thú cho trò chơi

Ảnh 9: Màn hình xem danh sách bạn bè

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


21

Ảnh 10: màn hình tìm kiếm bạn bè

Ảnh 11: màn hình mời bạn tham gia party

3. Đánh giá kết quả
Các tính năng được giao đã được hồn thành đúng hạn và có mức độ hồn thành đạt
mục tiêu đề ra, mặc dù một số tính năng vẫn cịn bug nhưng nhìn chung các bug này
khơng nghiêm trọng và đã được khắc phục trong thời gian sớm nhất.


GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


22

TÀI LIỆU THAM KHẢO

Unity 3D
/>
GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành


23

TỔNG KẾT

Như vậy, chỉ trong vòng hơn 2 tháng thực tập, em đã được tham gia vào quá trình thực
hiện một game với quy mơ lớn. Các tính năng em được giao cũng hoàn thiện và đúng tiến độ
đặt ra ban đầu, mặc dù vẫn còn một số lỗi. Em hy vọng mình sẽ khắc phục được trong thời gian
sắp tới
Chân thành cảm ơn sự giúp đỡ của các anh trong team developer đã hỗ trợ em nhiệt tình
trong suốt q trình thực tập tại cơng ty. Em xin cảm ơn thầy Lê Thanh Trọng đã tạo điều kiện
để em có thể tham gia khố thực tập này.

GVHD: Thầy Lê Thanh Trọng
Hồ Công Thành




×