Tải bản đầy đủ (.pdf) (13 trang)

Báo cáo thực tập unity3d game developer

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 (535.93 KB, 13 trang )

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
UNITY3D GAME DEVELOPER

Công ty thực tập:
Người phụ trách:
Thực tập sinh:

Công ty TNHH MTV Phát triển
phần mềm Âu Lạc
Nguyễn Viết Cường
Lê Trần Thanh Duy

TP. Hồ Chí Minh, tháng 06 năm 2023

1


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 trẻ tuổi trong nước, những công ty game
lớn trên thế giới cũng gia nhập vào thị trường Việt Nam, 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. Vì lý do này, 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 chun nghiệp. Vì vậy, em quyết định chọn Cơng
ty TNHH MTV Phát triển phần mềm Âu Lạc - 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.

2


LỜI CẢM ƠN
Em xin trân trọng gửi lời cảm ơn công ty TNHH MTV Phát triển phần mềm Âu Lạc đã 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 Nguyễn Viết Cường, Phan Thanh Giang, 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 công ty TNHH MTV Phát triển phần mềm Âu Lạc và các anh chị trong
team Unity đã bỏ ra nhiều thời gian, công sức để 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 28 tháng 06 năm 2023

3


NHẬN XÉT CỦA KHOA
...................................................................................................................................................
...................................................................................................................................................

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

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

4


MỤC LỤC
Contents
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: GIỚI THIỆU CÔNG TY THỰC TẬP ............................................................. 6
1.1. Giới thiệu về Công ty TNHH MTV Phát triển phần mềm Âu Lạc ................................... 6
1.2. Lịch làm việc khi thực tập tại công ty ............................................................................... 8
CHƯƠNG 2: NỘI DUNG THỰC TẬP .................................................................................... 9
2.1. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty .................................................... 9
2.2. Thực hiện dự án cá nhân Game Pacman ........................................................................... 9
2.3. Thực hiện dự án cá nhân Super Mario Bros ................................................................... 10
2.4. Thực hiện dự án cá nhân TankFighers ............................................................................ 12
CHƯƠNG 3: TỔNG KẾT ....................................................................................................... 13
3.1. Điểm mạnh ...................................................................................................................... 13
3.2. Điểm yếu ......................................................................................................................... 13
3.3. Chuẩn đạt được ............................................................................................................... 13


5


CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1.1. Giới thiệu về Công ty TNHH MTV Phát triển phần mềm Âu Lạc

Hình 1.1. Cơng ty TNHH MTV Phát triển phần mềm Âu Lạc
1.1.1 Thông tin sơ lược về công ty
Công ty TNHH MTV Phát triển phần mềm Âu Lạc (hay còn gọi là ALTA Software) là một
đơn vị hàng đầu trong lĩnh vực phát triển phần mềm với mục tiêu biến những ý tưởng và nhu
cầu của khách hàng thành hiện thực bằng cách tư vấn và đề xuất các giải pháp tốt nhất về hiệu
suất, thời gian và tiền bạc cho từng dự án cụ thể.
Với đội ngũ nhân viên giàu kinh nghiệm và tài năng, Công ty không ngừng nỗ lực để đạt được
những đỉnh cao trong ngành công nghiệp phát triển game nói riêng cũng như phát triển phần
mềm nói chung. Cơng ty tập trong vào các lĩnh vực: Interactive Software, Web/ Mobile App,
Gaming, AI/Big Data Services, VR, IoT
Với vị trí thực tập của em là Unity3D Game Developer, em đã có cơ hội làm việc cùng với các
chuyên gia hàng đầu trong ngành và tham gia vào quy trình phát triển trị chơi từ khâu thiết kế,
lập trình cho đến kiểm thử và tối ưu hóa. Tại công ty, sự đổi mới và sự sáng tạo được khuyến
khích, và em đã hịa mình vào một mơi trường làm việc tràn đầy năng lượng và ý tưởng mới.

6


1.1.2 Lịch sử hình thành của cơng ty
Alta Software được thành lập vào năm 2017, là công ty thành viên của Cơng ty CP Văn hóa
Tân Bình (ALTA), với niềm tin và đam mê sáng tạo tìm ra giải pháp mới giúp doanh nghiệp
hoạt động và phát triển. Khẳng định uy tín dựa trên nền tảng chất lượng và sự chuyên nghiệp,
chúng tôi đồng hành cùng những dự án của khách hàng và bảo vệ mục tiêu kinh doanh của

doanh nghiệp.
Từ khi thành lập, Alta Software đã không ngừng phát triển và mở rộng hoạt động kinh doanh
của mình. Sự đổi mới và sáng tạo luôn là mục tiêu hàng đầu của công ty. Đội ngũ phát triển tại
Alta Software ln tìm kiếm những cách tiếp cận mới, cơng nghệ mới và ý tưởng độc đáo để
tạo ra những trò chơi đẳng cấp và thu hút người chơi.
Hiện nay, Alta Software tiếp tục mở rộng quy mô hoạt động của mình, mở rộng đội ngũ nhân
viên và đầu tư vào công nghệ và nghiên cứu phát triển. Công ty không ngừng đưa ra những dự
án mới, hứa hẹn mang đến những trò chơi độc đáo và đáng chơi cho người chơi trên tồn cầu.
1.1.3 Quy mơ của cơng ty
Cơng ty TNHH Alta Software đã phát triển và mở rộng quy mơ hoạt động của mình theo thời
gian. Hiện tại, cơng ty có một quy mơ vừa phải và đáng kể trong ngành công nghiệp game.
Quy mô của Alta Software được đánh giá dựa trên một số yếu tố sau:
1. Đội ngũ nhân viên: Alta Software có một đội ngũ nhân viên giàu kinh nghiệm và tài năng. Đội
ngũ này bao gồm các chuyên gia trong lĩnh vực phát triển game, bao gồm các lập trình viên,
thiết kế viên, nghệ sĩ đồ họa, nhà sản xuất game và chuyên gia kiểm tra chất lượng. Các thành
viên trong đội ngũ đều có sự tận tâm và đam mê với việc tạo ra những trò chơi chất lượng cao..
2. Dự án và sản phẩm: Alta Software đã phát triển và phát hành một loạt các dự án game đáng chú
ý trên nền tảng Unity. Công ty tập trung vào việc tạo ra những trò chơi đa dạng trong các thể
loại như giải đố, phiêu lưu, thể thao và hành động. Sự đa dạng này cho phép công ty tiếp cận
và phục vụ nhiều đối tượng người chơi khác nhau.
3. Quan hệ đối tác: Alta Software đã xây dựng mối quan hệ đối tác với các nhà phát triển game,
nhà xuất bản và các đối tác khác trong ngành công nghiệp game. Điều này cho phép công ty
mở rộng tầm ảnh hưởng và tiếp cận đến nhiều thị trường khác nhau.

7


1.2. Lịch làm việc khi thực tập tại công ty
Em tham gia làm việc tại công ty bắt đầu từ ngày 10/04/2023 tới 17/06/2023, em làm việc với
tư cách là một thực tập sinh làm việc toàn thời gian (full-time), làm việc từ thứ 2 tới sáng thứ

7(tới 12h). Công việc hằng ngày bắt đầu từ lúc 9h00 đến 18h. Thời gian nghỉ trưa từ 12h tới
13h30. Mỗi tuần làm việc em sẽ báo cáo tiến độ công việc trong ngày thứ 2 và thứ 5, đặt câu
hỏi và nhận chia sẻ, giải đáp từ anh hướng dẫn, đặt mục tiêu cho ngày làm việc tiếp theo. Mỗi
2 tuần sẽ họp tiến độ một lần và sau khi kết thức dự án cá nhân, anh hướng dẫn sẽ nhận xét,
đánh giá và chia sẽ thêm kinh nghiệm cũng như các cách phát triển thêm cho dự án.

8


CHƯƠNG 2: NỘI DUNG THỰC TẬP
2.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, q trình thành lập và phát triển, quy trình làm việc từ cao xuống thấp, cách thức
tổ chức của cơng ty, các phịng ban về IT, HR, … Ngồi ra, thực tập sinh cịn được giới thiệu
về văn hóa làm việc trong cơng ty như thời gian đi làm, các quy định, cách sử dụng email trong
công việc, …
Kết quả: hiểu thêm về công ty, cách vận hành, q trình thành lập và phát triển của cơng ty. 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.2. Thực hiện dự án cá nhân Game Pacman
Thời gian: 2 tuần
2.2.1. Công nghệ
Trong dự án cá nhân của em, em đã sử dụng công nghệ Unity để phát triển trị chơi. Unity là
một cơng cụ phát triển game mạnh mẽ, được sử dụng rộng rãi trong ngành cơng nghiệp game.
Nó cung cấp một mơi trường phát triển tích hợp và hỗ trợ nhiều tính năng, giúp tạo ra trị
chơi chất lượng cao và tương tác.
2.2.2. Mơ tả dự án
Ban đầu, em bắt đầu dự án bằng việc xây dựng các logic cơ bản của game theo video

hướng dẫn của cơng ty. Từ đó, em đã tiến hành cải tiến và mở rộng dự án này theo hướng
cá nhân.
Đầu tiên em xây dựng map cho game từ các sprite được cung cấp, em tạo map theo mẫu
sẵn của game gốc.
Tiếp theo em tạo animation và các logic về di chuyển cho pacman (người chơi). Sau đó tạo
script để điều khiển ghost tự động.
Sau khi hoàn thành các logic cơ bản của em, em đã thêm vào một số tính năng như tính
điểm, thêm vào nhạc nên, âm thanh khi người chơi chiến thắng và thua.
Sau đó theo yêu cầu của anh hướng dẫn, em đã tìm hiểu và thêm vào tính năng như menu,
dừng game và save lại trạng thái game vào file save.
2.2.3. Kết quả
Qua quá trình phát triển và cải tiến dự án cá nhân, em đã có cơ hội tiếp cận với các cơng nghệ
và kỹ thuật mới trong việc phát triển trò chơi. Em đã áp dụng thành công DataPersistence để
tạo ra file save dưới dạng json. Kết quả là trò chơi đã trở nên thú vị hơn và có nhiều tính năng
hơn.

9


Các kỹ năng và kiến thức mà em đã thu được qua dự án này sẽ là nền tảng quan trọng cho sự
phát triển và nghiên cứu trong lĩnh vực game của em trong tương lai.
Link Github sản phẩm: />
Hình ảnh sản phẩm game Pacman

2.3. Thực hiện dự án cá nhân Super Mario Bros
Thời gian: 3 tuần
2.3.1 Mô tả dự án
Đầu tiên em vẽ map world 1-1 dựa theo các sprite được cung cấp.
Tiếp theo em theo vào các physic cho game (trọng lực, ma sát,…) và tạo script điều khiển di
chuyển cho Mario.

Tiếp theo em tạo animation cho mario (có nhiều trạng thái như lớn, nhỏ, chạy, chết,…) và cho
các enemy như Goomba, Koopa. Sau đó em viết script điều khiển các logic cơ bản cho mario
như đổi trạng thái, nhận sát thương, gây sát thương,…
Tiếp theo em thêm vào các item của game như Coin, Magic Mushroom, Starpower, … và thêm
vào script tính điểm, tính mạng, và sức mạnh cho mario.
Tiếp theo em thêm script điều khiển tự động cho Goomba và Koopa và script để điều khiển
game như dừng, reset màn chơi.
Sau đó em theo vào màn ẩn cho map 1-1.
Cuối cùng em thêm vào menu, script để chuyển màn chơi và tạo file save cho game.
10


2.3.2 Kết quả
Qua quá trình phát triển và cải tiến dự án cá nhân, em đã có cơ hội tiếp cận với các công nghệ
và kỹ thuật mới trong việc phát triển trò chơi, hiểu thêm cách tạo ra một trò chơi 2D và cách
design game.

Link Github sản phẩm: />
11


2.4. Thực hiện dự án cá nhân TankFighers
Thời gian: 5 tuần
2.4.1 Mô tả dự án
Đầu tiên em tạo ra world cùng các logic cơ bản cho game dựa theo các sprite được cung cấp và
video hướng dẫn của Unity: Tank! Tutorial. Sau đó em chuyển đổi game từ 2 người chơi trên
một máy trở thành game online sử dụng NetCode For GameObject của Unity.
Sau khi xây dựng xong các logic cơ bản của game, đầu tiên em chuyển đổi các Object của game
như Tank, Shell, Explosion, … thành các Network object.
Tiếp theo em sử dụng Netcode để tạo host và client. Sau đó em bắt đầu đồng bộ animaiton của

các Object cho host và client.
Tiếp theo em theo script để tính tốn sát thương, tính tốn người chiến thắng và reset màn chơi.
Cuối cùng em theo vào script để lưu và đồng bộ dữ liệu cho host và client.
2.4.2 Kết quả
Sau quá trình thực hiện dự án cá nhân, em đã có cơ hội tìm hiểu cũng như sử dụng NetCode
để tạo ra game online. Em cũng hiểu hơn về các kiến thức liên quan đến game online, góp
phần cũng cố kiến thức cho em trong tươ

12


CHƯƠNG 3: TỔNG KẾT
Quãng thời gian thực tập tại công ty TNHH MTV Phát triển phần mềm Âu Lạc đã giúp em cải
thiện bản thân rất nhiều trong quy trình làm việc thực tế, tác phong của người kỹ sư phần mềm.
Được làm việc tại đây, em đã học thêm được kỹ năng mềm sử dụng mail, quản lý thời gian, làm
việc nhóm, giao tiếp với cấp trên, …
Chỉ trong thời gian hạn chế, em đã hoàn thành dự án cá nhân trong q trình training với các
tính năng, u cầu đặt ra ban đầu.

3.1. Điểm mạnh
Trong quá trình làm việc em đã nhận ra mình có những điểm mạnh như sau: khả năng tự học,
tự tìm ra vấn đề và giải quyết vấn đề một cách logic, khả năng làm việc nhóm, giao tiếp với cấp
trên và các anh chị lớn của các team khác trong công ty

3.2. Điểm yếu
Trong quá trình làm việc, em cũng nhận ra mình có một vài điểm yếu như sau: khả năng trình
bày ý kiến không tốt, chưa biết cách thể hiện ý kiến một cách đầy đủ.

3.3. Chuẩn đạt được
Tổng kết lại, em có thể tự đánh giá các mục tiêu của mơn học như sau:








Goal
G1
G2
G3
G4
G5
G6

Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệp (G1): 8/10
Hiểu và giải thích được các khái niệm cơ bản, thuật ngữ và sơ đồ hệ thống trong dự án
(G2): 9/10
Nắm được quy trình, phương pháp và cơng nghệ phát triển sản phẩm phần mềm tại
doanh nghiệp (G3): 8/10
Có khả năng tìm hiểu vấn đề, mơ hình hóa vấn đề và tham gia giải quyết vấn đề (G4):
9/10
Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ năng trình bày (G5): 7/10
Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh (G6): 9/10

Mục tiêu môn học
Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệp
Hiểu và giải thích được các khái niệm cơ bản, thuật ngữ và sơ đồ hệ thống trong dự án
Nắm được quy trình, phương pháp và cơng nghệ phát triển sản phẩm phần mềm tại
doanh nghiệp

Có khả năng tìm hiểu vấn đề, mơ hình hóa vấn đề và tham gia giải quyết vấn đề
Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ năng trình bày
Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh

13



×