Công cụ làm việc Thời gian: 1 ngày Nội dung: Nhận máy và cài đặt, làm quen với công cụ sẽ sử dụng trong thời gian sắp tới Thực hiện: ● Đăng nhập vào các tài khoản công ty cấp dùng trong
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TP Hồ Chí Minh, tháng 6 năm 2022
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ôngnghiệ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ầnmề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ôngnghiệp game non trẻ Việt Nam đã và đang phát triển mạnh mẽ, để hòa nhập với nhữngcô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 trongnướ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ópphầ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ủangành game sau này Vì lý do này, em quyết định chọn thiết kế game làm định hướng choviệ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 trong hè Vì vậy, em quyết định chọn VNG - 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
Trang 3tế Để đạt được thành quả đó, không thể không kể đến công sức của tất cả các anh chịmentor và trainer đã tổ chức các buổi master class với nhiều chuyên đề để bổ túc và mởrộng kiến thức cho chúng em Và cũng không thể quên cảm ơn các bạn đồng đội đã luônsát cánh và cùng nhau học hỏi, thực hiện dự án này đến cuối khoá và mang lại kết quảbảo vệ đạt kỳ vọng.
Cảm ơn tất cả các anh/chị đã là người lên kế hoạch cho mọi thứ trong khoátraining này, luôn sẵn sàng hỗ trợ và giải đáp cho các bạn fresher một cách nhanh chóng
và chính xác Cảm ơn anh Đỗ Huy Cường đã hướng dẫn em trong những ngày đầu vào
dự án và đã luôn là thuyền trưởng cho tập thể này Cảm ơn chị Hoàng Thị Thúy Hạnh,anh Chiêm Minh An, anh Nguyễn Trần Thành, anh Nguyễn Đăng Quang, anh NguyễnĐình Thi và anh Dương Hoàng Thanh vì những kiến thức và sự gần gũi mà các anh/chịmang lại để chúng em có thể tiếp tục duy trì và bước tiếp trên đam mê của mình cho đếnngày hôm nay
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
Nguyễn Nhật Long
TP Hồ Chí Minh, ngày 1 tháng 6 năm 2022
Trang 4NHẬN XÉT CỦA KHOA
Trang 5MỤC LỤC
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 7
2.2.2 Chuỗi training về lĩnh vực phát triển game 8
2.2.4 Bài tập lớn: Phân tích thiết kế UML cho game Thời Loạn Mobile 102.2.5 Bài tập nhóm: Phân tích thiết kế UML cho project game cuối khoá 11
Trang 6Chương 1 Giới thiệu công ty thực tập
1.1 Giới thiệu Công Ty Cổ Phần VNG
Thành lập từ năm 2004 đến nay, VNG đã trải qua 14 năm phát triển và mở rộng đểtrở thành một trong những công ty Internet và Công nghệ hàng đầu Việt Nam và ĐôngNam Á, với hơn 3200 thành viên
Các lĩnh vực hoạt động của VNG tập trung vào 4 nhóm sản phẩm chủ lực, mangđến cho người dùng những trải nghiệm phong phú và đơn giản hơn:
● Trò chơi trực tuyến
● Nền tảng kết nối
● Thanh toán tài chính
● Dịch vụ đám mây
Trong đó, trò chơi trực tuyến của VNG gồm 2 mảng chính là:
● Phát triển, sản xuất trò chơi trực tuyến và phát hành ra nhiều thị trường khác nhaunhư: Khu vườn trên mây, Dead Target, …
● Nhập khẩu và phát hành trò chơi: Võ Lâm Truyền Kỳ, Crossfire Lengends, …
Trang 71.2 Giới thiệu MadPoly Studios
MPS (MadPoly Studio) là một studio của công ty VNG chuyên phát triển các sản phẩm game mobile cho thị trường quốc tế.
Studio đã phát triển các sản phẩm game bắn súng 3D rất thành công như DEAD TARGET: Zombie, DEAD WARFARE: Zombie, Mad Zombie với hơn 100 triệu người dùng khắp thế giới
Trang 9Chươ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, nơi làm việc của MadPoly Studios (gọi tắt là MPS), và
quy định tại 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,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 Thành lập team vớicác bạn fresher khác và bắt đầu làm quen
Sau đó, thực tập sinh được giới thiệu về văn hoá công ty, giờ giấc làm việc cũngnhư giải đáp các câu hỏi về sắp xếp thời gian làm việc
Cuối cùng, thực tập sinh được giới thiệu chỗ ngồi làm việc, cấp thiết bị và hướngdẫn cài đặt và chuẩn bị cho khóa thực tập
Kết quả: Hiểu thêm về công ty VNG nói chung và MPS nói riêng, 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.2 Nghiên cứu kỹ thuật
2.2.1 Công cụ làm việc
Thời gian: 1 ngày
Nội dung: Nhận máy và cài đặt, làm quen với công cụ sẽ sử dụng trong thời gian sắp tới Thực hiện:
● Đăng nhập vào các tài khoản công ty cấp dùng trong giao tiếp công việc
● Cài đặt và chạy lần đầu các ứng dụng
2.2.2 Chuỗi training về lĩnh vực phát triển game
Thời gian: 8 tuần
Trang 10Nội dung: Training về các kiến thức phục vụ cho việc phát triển game cùng với một số
vai trò khác trong một đội ngũ làm game
Chuỗi training này mang lại nhiều kiến thức về chiều sâu lẫn chiều rộng trongngành công nghiệp game Với các trainer có nhiều kinh nghiệm trong lĩnh vực chuyênmôn, trải dài từ lập trình game cho đến art, QC, thiết kế game
Đợt thực tập với chủ đề Game Design nhằm mục đích giúp sinh viên thực tập được đàotạo toàn diện về kiến thức thiết kế game, đồ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 chuyên nghiệp Chươngtrình bao gồm 2 phần: Đạo tạo kĩ năng và tham gia dự án thực tế
Về kiến thức chuyên môn (Thiết kế game):
● Phân loại game:
○ Thời gian: 1 ngày
○ Nội dung:
■ Phân loại tìm hiểu về các thể loại game hiện giờ, lịch sử pháttriển, độ hình thành và những tựa game tên tuổi trong từnglĩnh vực
○ Thực hiện:
○ Kết quả:
● Nguyên lý thiết kế game:
○ Thời gian: 1 ngày
○ Nội dung:
■ Tìm hiểu về các quy luật, nguyên lý chung và riêng khi thiết
kế những tựa game cho các nền tảng, định hướng khác nhau
○ Thực hiện:
■ Tham gia đầy đủ buổi training
○ Kết quả:
■ Hiếu biết về các nguyên lý thiết kế game
● Game loop - vòng lặp game:
Trang 11○ Thời gian: 1 ngày
○ Nội dung:
■ Tìm hiểu gameloop là gì, tầm quan trọng của nó trong thiết kế
và phát triển, vận hành 1 con game
■ 1 số game loop mẫu
■ Bài tập: Vẽ core game loop của Dead Target
○ Thực hiện:
■ Tham gia đầy đủ buổi training
■ Làm bài tập được giao
■ Áp dụng UI/UX để điều khiển cảm xúc, quyết định của user
■ Bài tập: Phân tích UI/UX 1 game
○ Thực hiện:
■ Tham gia đầy đủ buổi training
■ Làm bài tập được giao
○ Kết quả:
■ Hiểu UI/UX
■ Biết cách tìm hiểu và tạo dựng UI/UX cho game
● Excel trong Thiết kế Game:
○ Thời gian: 1 ngày
Trang 12○ Nội dung:
■ Sử dụng excel cùng phím tắt, pivot table
■ Bài tập: Thực hành thao tác trên bảng excel có sẵn
○ Thực hiện:
■ Tham gia đầy đủ buổi training
■ Làm bài tập được giao
■ Lấy ra những số liệu cần thiết cho mục đích
■ Biến số liệu thành biểu đồ để dễ nhìn và báo cáo hơn
■ Đưa ra suy luận và giả thiết cho số liệu vừa phân tích từ đóđưa ra giải pháp
■ Bài tập: xử lý và visualize bảng data có sẵn
○ Thực hiện:
■ Tham gia đầy đủ buổi training
■ Làm bài tập được giao
○ Kết quả:
■ Biết cách xử lý số liệu
● Quy trình live ops:
○ Thời gian: 1 ngày
○ Nội dung:
■ Học hỏi và tìm hiểu quy trình vận hành hậu phát hành game
Trang 13○ Thực hiện:
■ Tham gia đầy đủ buổi training
■ Làm bài tập được giao
○ Kết quả:
■ Biết được quy trình vận hành
■ Hiểu để sau này áp dụng vào dự án
● Mô hình Freemium trong game
○ Thời gian: 1 ngày
○ Nội dung:
■ Hỏi hỏi các phương pháp tạo ra doanh thu với những gamemiễn phí
○ Thực hiện:
■ Tham gia đầy đủ buổi training
■ Làm bài tập được giao
● Các tool cho Game designer
○ Thời gian: 1 ngày
○ Nội dung:
■ Các công cụ cần có cho game design với tùy từng mục đích
sử dụng
○ Thực hiện:
■ Tham gia đầy đủ buổi training
■ Làm bài tập được giao
○ Kết quả:
Trang 14■ Biết được các tool cho game designer từ đó chọn ra tool phùhợp với công việc
● Kinh tế cơ bản trong game
○ Thời gian: 1 ngày
○ Nội dung:
■ Cân bằng kinh tế trong game
■ Kiểm soát tiền tệ cùng quá trình mở khóa nội dung game củangười chơi
■ Dùng Excel để cân bằng và tinh chỉnh config
○ Thực hiện:
■ Tham gia đầy đủ buổi training
■ Làm bài tập được giao
○ Kết quả:
■ Biết cách kinh tế trong game được cân bằng
■ Luyện tập cách kiểm soát tiền tệ trong kinh tế, phòng ngừacác trường hợp lủng cân bằng
● Lý thuyết thiết kế Recommended packs
○ Thời gian: 1 ngày
○ Nội dung:
■ Học hỏi cách thiết kế các gói sẽ hiện lên đề nghị user mua khi
họ có vẻ cần tới nó, liên quan tới giá trị gói và thời điểm xuấthiện
○ Thực hiện:
■ Tham gia đầy đủ buổi training
■ Làm bài tập được giao
○ Kết quả:
■ Biết cách thiết kế các gói khuyến nghị tăng doanh thu chogame
Trang 15● Lý thuyết thiết kế Battle Pass
○ Thời gian: 1 ngày
■ Tham gia đầy đủ buổi training
■ Làm bài tập được giao
○ Kết quả
■ Biết cách thiết kế Battle Pass
■ Tính toán EV của sự kiện Battle Pass
● Lý thuyết cơ bản Level Design:
○ Thời gian: 1 ngày
○ Nội dung:
■ Học về level design, cách đặt level và mục tiêu
○ Thực hiện:
■ Tham gia đầy đủ buổi training
■ Làm bài tập được giao
○ Kết quả:
■ Học cách điểu khiển độ khó 1 cách có chủ đích
■ Thiết kế level có mục đích
● Thiết kế enemy và boss
○ Thời gian: 1 ngày
○ Nội dung:
■ Học cách thiết kế cơ chế cho enemy và boss
■ Thiết kế hình ảnh và độ khó
■ Cân bằng
Trang 16○ Thực hiện:
■ Tham gia đầy đủ buổi training
■ Làm bài tập được giao
■ Truy cập và sử dụng git thông qua git tortoise
■ Bài tập clone, commit và push thử lên branch riêng
■ Unity cơ bản cho game designer
■ Làm quen và thao tác với các thành phần
○ Thực hiện:
■ Tham gia đầy đủ các buổi training
■ Hoàn thành bài tập thực hành
○ Kết quả:
■ Biết cách làm việc với Unity
■ Tạo được game nhỏ với Unity
Trang 17● Phân loại user
○ Thời gian:1 ngày
○ Nội dung:
■ Phân loại user tùy theo dòng game
■ Đối xử với loại user này thế nào
■ Kinh doanh với loại user này thế nào
○ Thực hiện:
■ Tham gia đầy đủ các buổi training
■ Hoàn thành bài tập thực hành
○ Kết quả:
■ Biết cách phân loại user
■ Thiết kế cách tính năng dành riêng cho từng dòng user
● Xác định đối thủ cạnh tranh
○ Thời gian: 1 ngày
○ Nội dung:
■ Biết được các đối thủ lớn trong phân khúc đang nhắm đến
■ Học hỏi và lách khỏi những đối thủ đã quá lớn chiếm hếtkhách hàng
○ Thực hiện:
■ Tham gia đầy đủ các buổi training
■ Hoàn thành bài tập thực hành
○ Kết quả:
● Làm thế nào để hiểu thị trường
○ Thời gian: 1 ngày
○ Nội dung:
■ Xác định các ngách có thể kiếm tiền được trên thị trường
Trang 18■ Giới thiệu các công cụ nghiên cứu thị trường: doanh thu,LTV, ARPPU, RPD,
■ Biết thị trường nào còn ngách
2.2.3 Chuỗi training kỹ năng mềm
Nội dung: Kỹ năng giao tiếp, đàm phán và thuyết phục, Scrum framework
● Kỹ năng giao tiếp, kỹ năng đặt câu hỏi, lắng nghe
● Tham gia các buổi training kỹ năng mềm
● Đóng góp ý kiến và tham gia các hoạt động nhóm do ban tổ chức đề ra
● Luyện tập kỹ năng thuyết trình nhanh về một chủ đề được đưa ra bất kỳ
● Chuẩn bị slide và thuyết trình về chủ đề UI/UX
Kết quả:
● Thực hiện đầy đủ nhiệm vụ được giao
● Bài thuyết trình được đánh giá bố cục và thiết kế slide tốt, nội dung thuyết trìnhhữu ích
Trang 192.2.4 Bài tập lớn: Phân tích toàn bộ game Free Fire
Nội dung: chơi và trải nghiệm game Free fire do garena phát hành, từ đó phân tích và chỉ
ra những các tính năng có trong game Đồng thời thiết kế hướng đối tượng bằng UML,bao gồm: sơ đồ usecase, sơ đồ lớp, sơ đồ tuần tự thể hiện flow của các tính năng
Thực hiện:
● Chơi game Free fire liên tục 7 ngày, 3 tiếng/ngày
● Phân tích các tính năng có trong game
● Vẽ core loop, screen flow, hệ thống vật phẩm,
Kết quả:
● Nắm được luật chơi game và các vật phẩm trong game
● Nắm được quy trình phân tích thiết kế UML
2.3 Làm việc trong dự án thực tế
Các task đã làm trong dự án AxM tại VNG
Level design
Story AXM-170 Thiết kế 10 màn chơi _ Có tính toán về số
liệu của độ khó màn chơi
_ Mỗi lần test level là chơi lại từ đầu nên thời gian test bị lâu _ Chơi nhiều quen dần nên tính toán độ khó cho new user bị lệch, làm hơi khó quá
_ Cần chủ động hơn trong việc phối hợp với các GD khác để thống nhất giữa các phần có liên quan trong level design như gem, exp,
Story AXM-715 Cân bằng máu và exp thu được khi người chơi
nhặt gem Story AXM-953 Review + điều chỉnh lai nhịp độ game và độ khó
enemy Story AXM-465 Cân bằng chỉ số level 20-30
Story AXM-530 Chỉnh config số lượng chest trong màn chơi
Story AXM-715 Cân bằng máu và exp thu được khi người chơi
nhặt gem Story AXM-793 Lên planning cho level design của chapter 2
Story AXM-954 Level design chapter 2
Trang 20health, map, _ Có test kỹ từng level, lập chart độ khó trong excel
Story AXM-1079 Chapter 2 - Hoàn thiện (hình ảnh - Level design -
Boss ) Story AXM-1082 Review level chapter 1 từ 30 - 50
Story AXM-1084 Review level design chapter 1 tu 1-50 lan cuoi
cung cua Long
Mapblock
Story AXM-425 Thiết kế 4 mapblocks (chưa light) cho chapter 1,
level 20 - 30
_ Nghĩ ra cơ chế bao đường cho
mapblock _ Tốc độ ban đầu chậm sau đó quen dần thì tốc độ được cải thiện hơn _ Làm bị kỹ quá nên map có nhiều chi tiết, nhiều loại _ Đặt ánh sáng kỹ _ Có sáng tạo trong việc tạo mapbloc, nghĩ ra nhiều loại để user không bị chán _ Tự thấy map làm đẹp hơn
Story AXM-431 Cấu trúc lại folder Blocks
AXM-575 Gắn light mapblock 303
Story AXM-466 Gắn light cho 4 mapblocks 301 -> 304 level 20 -
30 Sub-
task
AXM-614 Hoàn thành Map Block 104
Mechanic
Story AXM-65 Mô tả Cơ chế lưu progress đang chơi tự động
khi Player thoát game giữa chừng _ Mô tả kỹ
Story AXM-183 Review animation và effect của Dash _ Animation của
dash đã rõ ràng hơn, cảm giác dash cũng
Trang 21tốt hơn nhiều
Story AXM-916 Review chỉnh sửa lại điểm spawn enemy/ Phạm
vi check spawn
_ Lúc đầu enemy spawn còn thưa, người chơi dễ dàng vượt qua được _ Sau khi chỉnh xong thì game đã khó hơn nhiều, hợp với định hướng game ban đầu đề ra
Story AXM-570 Mô tả cơ chế chuyển từ đánh quái sang đánh
boss
_ Chuyển sang màn boss không còn bị đột ngột nữa, nhịp điệu chậm hơn
Skill
Story AXM-245 Add thêm 5-7 Skill \ Meta mới _ Làm skills nên chú
ý hơn về trải nghiệm người chơi nhiều hơn là sợ nó quá bá đạo.
_ Lúc đầu làm skill
về dash nhiều vì nghĩ dash sẽ là cơ chế chính của game _ Cần cẩn thận hơn
vì skill cần phải phối hợp được và không block những skill khác
Enemy
Story AXM-288 Thiết kế 3 loại Enemy mới
Weapon/Equipment
Trang 22Type Key Task Note Tự nhận xét
Story AXM-515 Làm lại bộ item của game _ Chỉ số bộ item có
phát huy tác dụng, build cả set cho từng lối chơi
Story AXM-247 Review lại các bộ equipment
Story AXM-491 Cân bằng tầm đánh của các vũ khí _ Tầm đánh được
cân bằng, phù hợp
từ dễ đến khó
Story AXM-598 Chỉnh sửa file config cho weapon và Gear
UI/UX
Story AXM-258 Màn đánh boss thay UI progress level bằng
thanh máu của boss
_ Đã mô tả được chi tiết cho bên Art vẽ, thanh máu đã đẹp hơn lúc ban đầu
Story AXM-388 Mô tả cơ chế thể hiện cooldown cơ chế dash
trên UI
_ Mô tả kỹ cho dash
và double dash, có figma và ppt để mô
tả, nhìn đẹp hơn và
dễ nhìn hơn cho user
Story AXM-790 Sửa lại UI màn hình tổng hợp loot của user _ Mô tả kỹ và có
layout cho Dev và Art dùng
Story AXM-794 Sửa lại cách hiển thị số damage nhìn cho đẹp
mắt hơn
_ Chỉnh tay animation trong unity để hiển thị đẹp mắt và nổi bật hơn, thời gian ngắn hơn
để không vướng mắt user
Story AXM-889 Tăng độ sáng của enemy trong màn chơi Hiện
nay enemy tối quá, khó nhìn
_ Chỉnh trong unity,
áp shader của anh Phát vào
Story AXM-895 Chỉnh sửa thời gian di chuyển ngón tay để dash
mượt hơn và dễ hơn
_ Chỉnh code thời gian quét tay, sao cho user muốn nhích tay để di chuyển không bị nhầm với dash