TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP LẬP TRÌNH GAME UNITY Công ty thực tập : Wolffun Người phụ trách : Nguyễn Duy Ca TP... Bản thân là một người có
Trang 1TRƯỜ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 UNITY
Công ty thực tập : Wolffun
Người phụ trách : Nguyễn Duy Ca
TP Hồ Chí Minh, tháng 12 năm 2021
Trang 2LỜ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ẽ, thu hút giới trẻ và giàu tiềm năng, ngành game chính là nhân tố kích thích sự phát triển của thế giới công nghệ
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à đang phát triển mạnh mẽ, với nhiều hãng và tựa game đang vươn mình xuất hiện trên bản đồ ngành game của thế giới
Ngành game được sinh ra là do nhu cầu giải trí của tất cả các thể hệ với sự dễ dàng tiếp cận và tìm hiểu cùng với sự phổ biến của thiết bị cá nhân Bản thân là một người có đam mê với game, em quyết định chọn lập trình game làm định hướng cho việc học tập
và làm việc của mình
Sau thời gian học tập trên trường, với mong muốn gia tăng kinh nghiệm làm việc thực tế, cũng như muốn được tham gia vào một dự án game trong một môi trường chuyên nghiệp, em quyết định chọn Wolffun làm nơi chắp cánh cho con đường sự nghiệp sau này
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty TNHH Wolffun đã tạo điều kiện cho em
có cơ hội được thực tập tại công ty.
Nhờ vào sự chỉ dẫn nhiệt tình của anh senior, cũng như sự hỗ trợ của các anh chị từ những phong ban khác suốt thờ gian qua, em đã tiếp thu được những kiến thức quan trọng để có thể cùng tham gia vào dự án với công ty Chân thành cảm ơn các anh chị trong công ty đã bỏ ra nhiều thời gian,công sức để hướng dẫn 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ài báo cáo này.
Lương Lý Công Thắng TpHCM, ngày 24 tháng 12 năm 2020
Trang 4NHẬN XÉT CỦA KHOA
Mục lục
Chương 1: Giới thiêu công ty thực tập 6
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 7
Trang 52 Nghiên cứu kỹ thuật 7
Trang 6Chương 1: Giới thiêu công ty thực tập
1 Giới thiệu công ty Wolffun
Wolffun khởi đầu với tư cách một studio phát triển game vào năm 2014 với định hướng thể loại PvP Online dành cho nền tảng di động Từ năm 2015, công ty tập trung vào nhóm game mid-core thể loại hành động và ra mắt Tank Raid Online vào năm 2017, với 5 triệu người chơi và giải thưởng Google Editors’ Choice Game
Giá trị cốt lõi của công ty tập trung vào năm yếu tố: Nuôi dưỡng tài năng, Ước mơ lớn, Đam mê định hình nên chúng ta, Tập trung vào thứ tốt nhất và Tìm kiếm thử thách
2 Sản phẩm của công ty
● Tom Cat in Space (2016) tựa game online đầu tiên
● Tank Raid Online (2017): 5 triệu người chơi toàn cầu, Google Editors’ Choice game
● Hero’s Strike (2019): trò chơi MOBA di động với dung lượng nhỏ, hệ thống kĩ năng tự phối hợp, các chế độ chơi đa dạng
● Thetan Arena (2021): trò chơi thể thao điện tử ứng dụng blockchain ra mắt vào ngày 27/11, đạt mốc 5 triệu người chơi trong vòng 2 tuần ra mắt
Trang 7Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình game 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 trên Unity và các thư viện hỗ trợ, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm, 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 chuyên 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, quá trình thành lập và phát triên (như đã nhắc đến ở trên), quy trình làm việc, 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 cần phải tuân thủ, cách sử dụng email trong công việc…
Kết quả: Hiểu thêm về công ty Wolffun, quá 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ụ, thư viện sẽ được sử dụng trong quá trình
làm việc
Trong thời gian này, mentor đã hướng dẫn thực tập sinh tìm hiểu về các công cụ sẽ giúp ích cho trong công việc sau này Một số phần mềm trong số đó như Jira - sử dụng trong làm việc nhóm, Chatwork – giao tiếp nội bộ, Google meet
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ụ để giao tiếp với công ty và team dễ dàng hơn
trong thời dịch bệnh giãn cách
2.2 Tìm hiểu Unity, C#
Thời gian: 12 buổi (2 buổi mỗi tuần)
Trang 8Nội dung: Được training các kĩ thuật trong Unity và Visual studio nhằm tìm
hiểu dự án và đảm bảo code tuân theo các quy chuẩn
- Lập trình hướng đối tượng
Các kiến thức cơ bản về lập trình hướng đối tượng như khái niêm, các đặc tính như tính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình Ngoài ra, thực tập sinh còn được hướng dẫn về cách thiết kế lớp cho các đối tượng game, các quy tắc chung cần tuân theo
- Editor:
Lảm quen với từng chức năng trên editor, quản lí các tài nguyên dự án và làm việc với scene, game cũng như kết hợp các thư viện và asset
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à thông hiểu về hướng đối tượng
- Có được những kiến thức quan trọng cho việc lập trình unity sau này
- Học được các quy tắc trong việc viết code sao cho đúng chuẩn, dễ đọc, dễ hiểu
2.3 Tìm hiểu về thư viện Photon engine và Quantum
Nội dung: Các kiến thức cơ bản về Photon và Quantum
- Khái niệm cơ bản về Quantum
Năm được các khái niệm cơ bản về Quantum, là một framework hiệu suất cao, tất định (với các input vào giống nhau sẽ luôn cho ra cùng một output),
sử dụng mô hình ECS cho trò chơi trực tuyến nhiều người chơi Quantum dựa trên hướng tiếp cận dự đoán-quay lại phù hợp cho các trò chơi online vốn bị ảnh hưởng nhiều bởi độ trễ đường truyền Quantum cũng cung cấp
để clean code hơn khi tách biệt hoàn toàn phần xử lí logic khỏi phần hiển thị, cho phép Unity chỉ cần hiển thị, còn Quantum lo phần tính toán gameplay
Ngoài ra, mento còn cung cấp cho thực tập sinh những khái niệm cơ bản trong Quantum như component, frame, asset link, system…, là những khái niệm rất cơ bản và quan trọng trong Quantum
- Code quantum (C#):
Cách để code trong quantum, đảm bảo tính hướng đối tượng của code đồng thời làm quen với việc sử dụng con trỏ trong C#
Trang 9Thực hiện :
- Tham gia đầy đủ các buổi trainning
- Làm một số công việc được giao
- Tìm kiếm tài liệu
Kết quả :
- Hiểu được những khái niệm cơ bản trong Quantum
- Xây dựng được component và entity trong Quantum
3 Thực hiện project
Sau 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 cơ bản về Unity, Photon Engine và Quantum Trong suốt quá trình training, thực tập sinh tham gia trực tiếp vào dự án của công ty
Chi tiết đồ án sẽ được nói ở phần sau
4 Lịch làm việc
Tuần Công việc Người hướng dẫn
Mức độ hoàn thành
Nhận xét của người hướng dẫn
1
- Tìm hiểu về công
ty, cách tổ chức của công ty
- Làm quen với các công cụ làm việc trong công ty
- Học cách trao đổi, làm việc qua chatwork và jira
Không có (tự đọc tài liệu) 100%
2 - Tìm hiểu Unity - Thực hành demo
trên Unity
Anh Nguyễn Duy Ca 100%
3 - Tìm hiểu quantum Anh NguyễnDuy Ca 100%
4
Giai đoạn thử việc:
- Tham gia trực tiếp vào dự án của công ty
Anh Nguyễn Duy Ca
Trang 11Chương 3: Chi tiết về project
1 Giới thiệu về game
Game Thetan Arena, trò chơi trực tuyến dựa trên công nghệ blockchain, thực tập sinh tham gia thực hiện một số task được giao trong dự án
● Mô tả
o Chế độ team: Mỗi đội có 4 hero xuất phát từ căn cứ hai bên, tiến hành giao tranh và tranh đoạt mục tiêu tuỳ theo chế độ để giành chiến thắng
o Chế độ sinh tốn: sinh tồn 12 người chơi với một người hoặc đội hai người, sống sót cuối cùng để chiến thắng
● Tóm tắt:
o Kiểu chơi: MOBA và Battle Royale
o Team: tuỳ chế độ
o Mục tiêu: giết nhiều địch hơn (Death match), phá trụ (Tower), lượm nhiều sao hơn (Super Star), sống sót (Survival Solo/Duo)
● Hero và skill:
o Người chơi chọn một anh hùng để sử dụng trong trận đấu anh hùng có chỉ
số và chiêu cuối khác nhau Anh hùng có thể được nâng cấp để tăng thêm sức mạnh
o Người chơi chọn 2 trong trong số những kĩ năng được mở khoá theo ngày
để sử dụng trong một trận đấu
Trang 122 Thực hiện
- Lương Lý Công Thắng
Với sự giúp đỡ tận tình của các anh chị ở công ty Wolffun
3 Phần việc đã thực hiện
● Code và hiện thực hoá một hero
● Code chức năng ghi nhận thông số trong trận
● Code chức năng tính điểm cuối trận
● Tham gia code replay battle
● Tham gia code tuỳ chỉnh cần điều khiển
● Code hiệu ứng môi trường
Trang 13TÀI LIỆU THAM KHẢO
For unity
Unity - Manual: Unity User Manual 2020.3 (LTS) (unity3d.com) Unity Forum
For Photon Quantum
Quantum Intro | Photon Engine (không public)
Discord Quantum (không public)
Trang 14TỔNG KẾT
Như vậy, trong hai tháng thực tập, thực tập sinh đã được học hỏi rất nhiều từ quy trình, cách làm cho đến xử lí vấn đề thật sự khi được tham gia vào dự án của công ty
Chân thành cảm ơn sự giúp đỡ của các anh chị ở Wolffun