Sau những năm tháng đại học, với mong muốn áp dụng kiến thức học được đóng góp vào dự án thực tế, em đã quyết định tham gia công ty Song Anh - một môi trường nếu có thể em sẽ giới thiệu
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH 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 DOANH NGHIỆP
Unity Developer Intern
Công ty thực tập: CÔNG TY TNHH MTV PHẦN MỀM - TRUYỀN THÔNG
QUẢNG CÁO SONG ANH Người phụ trách: Thầy Vũ Tuấn Hải Thực tập sinh: Nguyễn Ngọc Thạch
TP HỒ CHÍ MINH, tháng 12 năm 2023
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
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 DOANH NGHIỆP
Unity Developer Intern
Công ty thực tập: CÔNG TY TNHH MTV PHẦN MỀM - TRUYỀN THÔNG
QUẢNG CÁO SONG ANH Người phụ trách: Thầy Vũ Tuấn Hải Người giám sát tại công ty: Lâm Nguyễn Phương Ân Thực tập sinh: Nguyễn Ngọc Thạch
TP HỒ CHÍ MINH, tháng 12 năm 2023
Trang 3LỜI MỞ ĐẦU
Ngày nay số lượng người sở hữu thiết bị có thể chơi game ngày càng gia tăng, theo đó nhu cầu chơi game tăng theo Tại Việt Nam số lượng người chơi game đạt mức
50 triệu người, khoảng 50% dân số - cao nhất trong khu vực Đông Nam Á Tỷ lệ người chơi game sẵn sàng chi trả cũng đứng đầu khu vực Trong 10 studio game hàng đầu châu
Á Thái Bình Dương và Úc, Việt Nam chiếm một nửa Những con số này cho thấy tiềm năng thị trường game tại Việt Nam rất lớn, và chứng tỏ Việt Nam có vị thế quan trọng trên toàn cầu trong sản xuất game
Game là một hình thức giải trí phổ biến, giúp giải tỏa căng thẳng nếu được sử dụng hợp lí Game có thể được coi như 1 sản phẩm nghệ thuật đặt ngang với phim ảnh Phim ảnh khi sản xuất được dựa trên 1 câu chuyện, diễn biến sẽ được lộ dần sau từng khung ảnh Game cũng vậy, cũng được cài cắm vào những câu chuyện, được hé lộ dần khi chơi game Phim là xem câu chuyện, còn game là tương tác với câu chuyện
Sau những năm tháng đại học, với mong muốn áp dụng kiến thức học được đóng góp vào dự án thực tế, em đã quyết định tham gia công ty Song Anh - một môi trường nếu có thể em sẽ giới thiệu cho bạn bè đồng nghiệp trong tương lai
Trang 4LỜI CẢM ƠN
Em xin trân trọng gửi lời cảm ơn công ty Song Anh đã cho em cơ hội thực tập tại công
ty
Em xin chân thành cảm ơn trường Đại học Công nghệ Thông tin và Khoa Công nghệ phần mềm đã tạo điều kiện cho em hoàn thành tốt đợt thực tập doanh nghiệp Nhờ đợt thực tập này đã giúp cho em rất nhiều kinh nghiệm quý báu Những kinh nghiệm đó sẽ giúp em hoàn thiện hơn trong công việc và môi trường làm việc sau này
Em cũng xin cảm ơn quý thầy cô trong khoa đã tận tình giảng dạy và trang bị cho em những kiến thức cần thiết Chính những kiến thức này hỗ trợ em rất nhiều trong việc hoàn thành thực tập tốt nghiệp
Mặc dù em đã cố gắng hoàn thành báo cáo thực tập doanh nghiệp Vẫn sẽ có những thiếu sót, rất mong nhận được sự thông cảm , chia sẻ của quý thầy cô để giúp em hoàn thành môn thực tập tốt nghiệp
Một lần nữa em xin chân thành cảm ơn !
TP HCM, ngày 31 tháng 12 năm 2023
Trang 5NHẬN XÉT CỦA KHOA
Trang 6
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 1: GIỚI THIỆU CÔNG TY THỰC TẬP 1
1.1 Giới thiệu 2
1.2 Sản phẩm công ty 2
1.3 Lịch làm việc khi thực tập tại công ty 4
Chương 2 NỘI DUNG THỰC TẬP 5
2.1 Tìm hiểu công ty và các quy định cơ bản trong công ty 5
2.2 Làm quen quy trình và công cụ trong công ty 5
2.2.1 Tuần 1 5
2.2.2 Tuần 2 6
2.3 Tham gia dự án thực tế 7
Chương 3 TỔNG KẾT 14
3.1 Điểm mạnh 14
3.2 Điểm yếu 14
3.2 Chuẩn đạt được 14
Trang 71
CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
CÔNG TY TNHH MTV PHẦN MỀM - TRUYỀN THÔNG
QUẢNG CÁO SONG ANH
Trang 82
1.1 Giới thiệu tổng quan về công ty:
Tên công ty: CÔNG TY TNHH MTV PHẦN MỀM - TRUYỀN THÔNG QUẢNG CÁO SONG ANH
Địa chỉ: số 266, Quản Bạch, tổ 34, khóm 4, Phường 6, Thành phố Cao Lãnh, Tỉnh Đồng Tháp, Việt Nam
Điện thoại: 0912838912
Mã số thuế: 1402182175
1.2 Sản phẩm công ty
Công ty chuyên số hóa theo nhu cầu nghiệp vụ của khách hàng Lấy yêu cầu, viết phần mềm, cung cấp hệ thống theo yêu cầu nghiệp vụ của khách hàng Khách hàng chủ yếu là các cửa hàng, siêu thị vừa và nhỏ
https://giangcaolanh.com/
Trang 9
3
Công ty cũng có hợp tác, phát triển thêm hệ thống sẵn có của một số đối tác lớn
https://tuyendung.imexpharm.com/
https://songchatluong.vn/
Ngoài ra công ty cũng đang mở rộng phát triển sang mảng giải trí là Game
Trang 104
1.3 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 5/9/2023 tới 5/11/2023
- Thời gian làm việc từ thứ 2 đến thứ 6 từ 9:00 sáng đến 6:00 chiều
- Thời gian nghỉ trưa từ 12:00 trưa đến 1:00 trưa
- Thời gian tiệc trà lúc 3:00 chiều
- Mỗi 9h15 sáng team sẽ thực hiện daily meeting để xem tiến độ công việc, hỗ trợ nếu gặp vấn đề, phân công công việc
- Mỗi chiều thứ 4 toàn bộ lập trình viên trong công ty sẽ tham gia buổi chia sẻ kinh nghiệm làm việc, người phụ trách hôm đó sẽ chọn 1 chủ đề đã làm được của mình
và thuyết trình
Trang 115
CHƯƠNG 2: NỘI DUNG THỰC TẬP 2.1 Tìm hiểu công ty và 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 giới thiệu về công ty, quá trình thành lập và phát triển, các công ty đang hợp tác và hỗ trợ, quy trình làm việc trong 1 nhóm, cách thức tổ chức của công ty Ngoài ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công ty như thời gian đi làm, các quy định phải tuân thủ như báo nghỉ báo đi trễ, được cung cấp mail công ty và ưu đãi bản quyền phần mềm khi sử dụng mail công ty Được công
ty giới thiệu bản thân với từng thành viên trong công ty, chụp hình kỷ niệm, phát quà chào mừng như áo, sổ, bút, ô, áo mưa,
2.2 Làm quen quy trình và công cụ trong công ty:
2.2.1 Tuần 1
Nội dung: Tìm hiểu làm quen công cụ trong dự án của công ty:
Mentor giới thiệu toàn bộ công cụ góp mặt trong phát triển dự án Các phần mềm trong đó: Unity, Visual Studio, Github Desktop, Blender, PhotoShop
Hướng dẫn cách sử dụng github desktop, cách sử dụng github với kích cỡ team khác nhau Cho làm việc thử với github để làm quen và tuân thủ các quy trình quản
lý mã nguồn của công ty
Hướng dẫn sử dụng Visual Studio: các phím tắt, sử dụng các tính năng hữu ích hay thường được sử dụng trong Visual Studio
Hướng dẫn sử dụng tool/package trong Unity: Profiler, Odin Inspector, World Builder, Road Builder,
Trang 126
2.2.2 Tuần 2:
Nội dung: Tìm hiểu và viết tài liệu cho bộ công cụ phát triển phần mềm (SDK) của công ty:
Tìm hiểu cấu trúc của bộ SDK Viết tài liệu cho các phần khó hiểu hoặc chưa được viết Thuyết trình phần tài liệu trong buổi chia sẻ chiều thứ 4
Kết quả: Có kiến thức về codebase để nhanh chóng tham gia dự án
Trang 137
2.3 Tham gia dự án thực tế:
Dự án: Game thế giới mở
Mô tả: Game cho phép người chơi tự do di chuyển trong thế giới ảo, trò chơi cung cấp vũ khí, xe cộ, hệ thống cảnh sát và hệ thống dân thường, tiền tệ Chủ yếu để người chơi vui vẻ với những hành vi phá hoại trong trò chơi Trò chơi được dự định phát hành trên Google Play, nguồn doanh thu duy nhất là từ quảng cáo trong game Chức năng:
- Hệ thống tiền tệ:
+ Người chơi nhận được tiền bằng cách 2 cách:
Hoàn thành nhiệm vụ trong màn chơi
Đánh thắng NPC trong màn chơi
Xem quảng cáo
- Hệ thống cửa hàng:
+ Người chơi dùng tiền để mở khóa vũ khí
+ Người chơi dùng tiền để mua thêm đạn
- Hệ thống NPC:
+ Gồm 3 loại NPC:
Dân thường:
o Dũng cảm: Cấp 1 và cấp 2
o Phát hiện nguy hiểm: Cấp 2 và cấp 3
o Sinh lực: Cấp 1 và cấp 2
o Tấn công: Cấp 1 và cấp 2
o Thông minh: Cấp 1 và cấp 2 và cấp 3
Băng đảng:
o Dũng cảm: Cấp 2 và cấp 3
o Phát hiện nguy hiểm: Cấp 1 và cấp 2
o Sinh lực: Cấp 2 và cấp 3
o Tấn công: Cấp 2
o Thông minh: Cấp 1
Trang 148
Cảnh sát:
o Dũng cảm: Cấp 3
o Phát hiện nguy hiểm: Cấp 3
o Sinh lực: Cấp 2 và cấp 3
o Tấn công: Cấp 2 và cấp 3
o Thông minh: Cấp 3
+ Một NPC gồm có các đặc điểm riêng biệt:
Giới tính, ngoại hình: Mỗi NPC sẽ có trang phục, giới tính phù hợp với khu vực xuất hiện
Kỹ năng, thông minh:
o Dũng cảm:
Cấp 1: Nhát gan, NPC sẽ bỏ chạy khi bị tấn công
Cấp 2: Bình thường, NPC sẽ phản kháng khi bị tấn công, nhưng bỏ chạy khi sắp hết sinh lực
Cấp 3: Gan dạ, NPC sẽ phản kháng tới khi người chơi hoặc NPC không còn khả năng chiến đấu
Giải thích: Kỹ năng quyết định NPC phản kháng thế nào sau khi phát hiện nguy hiểm
o Phát hiện nguy hiểm:
Cấp 1: NPC có khả năng phát hiện nguy hiểm thấp, khi có tiếng súng, có tranh chấp rất gần NPC mới phát hiện
Cấp 2: Bình thường
Cấp 3: NPC có khả năng phát hiện nguy hiểm cao, ở khoảng cách xa
Giải thích: Phát hiện nguy hiểm gồm các trường hợp: bị tấn công, có tiếng súng, NPC khác gần đó bị tấn công
o Sinh lực:
Cấp 1: Yếu, NPC dễ bị đánh bại
Cấp 2: Bình thường
Cấp 3: Lì đòn, NPC lì đòn hơn, chịu được nhiều sát thương hơn
o Tấn công:
Cấp 1: NPC có chỉ có khả năng tấn công bằng tay không
Cấp 2: NPC có trang bị vũ khí hạng nhẹ
Trang 159
Cấp 3: NPC có trang bị vũ khí hạng nặng
Giải thích: Kỹ năng quyết định NPC sẽ phản kháng, tấn công bằng vũ khí gì
o Thông minh:
Cấp 1: Không thông minh, NPC không có khả năng báo cảnh sát
Cấp 2: Bình thường, NPC có khả năng báo cảnh sát khi bị tấn công
Cấp 3: Thông minh, NPC báo cảnh sát khi phát hiện nguy hiểm
Giải thích: Kỹ năng quyết định NPC tăng mức độ truy nã của người chơi
Lộ trình: Mỗi NPC sẽ có lộ trình riêng biệt và cố định
o Lộ trình đi từ điểm A đến điểm B, đi xa
o Lộ trình đi loanh quanh một khu vực, đi gần
Một số khác NPC có hành vi đi theo nhóm, hoặc lái xe
- Hệ thống nhiệm vụ:
+ Hiện tại chỉ có 1 loại nhiệm vụ:
Đánh bại số lượng NPC trong 1 khoảng thời gian
Trang 1610
Công nghệ sử dụng: Unity
Các công việc cá nhân đã thực hiện:
- Tham gia viết tài liệu, phát triển tiếp SDK cho công ty
- Em tham gia dự án trong giai đoạn chuyển source code đã có sang mẫu giống như SDK Nên chủ yếu em tham gia code đều là refactor lại để dự án tuân theo SDK của công ty
- Xây dựng màn chơi:
+ Tìm hiểu Blender, làm một số mô hình cơ bản
Trang 1711
+ Tìm hiểu triển khai giả vật lý nước Cho phép người chơi và phương tiện nổi trên mặt nước
+ Một mình tìm hiểu quy trình xây dựng thành phố lớn cho game thế giới
mở Thành phố và quy trình xây dựng thành phố hiện tại là do em xây dựng + Tìm hiểu công cụ để xây dựng đường xá, xây dựng địa hình, đặt vật thể vào địa hình
+ Tìm hiểu shader code để làm hiệu ứng cho nước
- Viết tool hỗ trợ Game Designer tạo thành phố:
+ Viết tool nâng và hạ địa hình cho phù hợp với độ cao của đường
+ Viết tool đặt vật thể dọc theo đường:
o Vật thể đối xứng và trải dài quanh đường
o Vật thể nằm rải rác quanh đường
+ Viết tool đặt vật thể xung quanh các vùng đã khoanh
+ Viết tool đặt lộ trình cho NPC
Trang 1812
- Tối ưu hiệu suất hình ảnh:
+ Học cách sử dụng các công cụ và kỹ thuật để tối ưu hiệu suất game: Occlusion Culling, Frustum Culling, LOD, HLOD, Static/Dynamic
Batching,
+ Làm việc với team 3D để tìm ra giải pháp tăng hiệu suất game
- Tính năng mới đã triển khai
+ Người chơi lái xe
Trang 1913
2.4 Kết quả:
- Áp dụng được design pattern vào dự án thực tế
- Hiểu được cách thiết kế AI đơn giản cho game di động
- Được review code và chỉ ra các vấn đề code, chủ yếu theo các nguyên tắc SOLID, KISS
- Sử dụng được các công cụ tạo mô hình 3D
- Được giới thiệu và tìm hiểu sâu hơn về đồ họa máy tính
- Cải thiện khả năng làm việc nhóm
Trang 2014
CHƯƠNG 3: TỔNG KẾT
Cơ hội thực tập tại công ty Song Anh đã giúp em thay đổi thành con người khác ở nghề kỹ sư phần mềm, thay đổi tư duy lập trình, làm việc có quy chuẩn hơn, quản lý công việc tốt hơn, Được tiếp xúc với dự án thực tế mới nhận ra kiến thức mình được học là quan trọng trong thực tế chứ không hàn lâm dư thừa Theo đó còn có kỹ năng khác như: sử dụng mail, giao tiếp với cấp trên, quy chuẩn văn phòng Nắm được toàn bộ quy trình phát triển với Unity
3.1 Điểm mạnh:
Người đánh giá: Lâm Nguyễn Phương Ân
- Có tinh thần trách nhiệm cao
- Có khả năng giải quyết vấn đề
- Nắm bắt vấn đề nhanh, hỏi rõ vấn đề trước khi làm
3.2 Điểm yếu:
Người đánh giá: Lâm Nguyễn Phương Ân
- Gấp gáp trong công việc đôi khi không đảm bảo được chất lượng
- Khó gắn kết với đồng nghiệp
3.3 Chuẩn đạt được:
G1 Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của
doanh nghiệp
9/10
G2 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
10/10
G3 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
9/10
G4 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 đề
9/10
G5 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
9/10 G6 Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh 9/10