Bằng cách này, em hy vọng có thể chia sẻ những trải nghiệm thực tế và nhận được các công thức đã xác định cũng như những thành công đã đạt được trong quá trình thực hiện dự án.. Cuối cùn
Trang 1
TRUONG DAI HOC GIAO THONG VAN TAI
BAO CAO THUC TAP ĐƠN VỊ THỰC TẠP Công ty TNHH Công nghệ và Dịch vụ Viễn thông MobiOne
Sinh viên : Hoàng Trọng Đát Mã sinh viên : 202602920
Lớp : CNTT VA1
Khoá : 61
Hà Nội - 2024
Trang 2
MUC LUC
lon s80 0 4
CHƯƠNG 1 TỔNG QUAN VỀ CÔNG TY TNHH CÔNG NGHỆ VÀ
1.3 Sản phẩm của công ty - c c1 2121221212121 1 nen 5
II /l0oiiolo00-oCaiẢAẠj53Ả4ÝÝ §
N3 8 1.4.2 Visual Študio 52s c2 2211112222112 1121 22222222 ree 10
CHUONG 5 ĐÁNH GIÁ VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 20 5.1 Đánh giá quá trình thực tập (ngu re 20 5.1.1 Kết quả đạt được 5c s2 H11 1212221 tr tr Hee ưyn 20 ỘOnaa4 21 5.2 Định hướng phát triển 51c 1 TH 1120212212121 xe 21
PHIẾU NHẬN XÉT CỦA ĐƠN VỊ THỰC TẬP 24
Trang 3LOI CAM ON Em xin chân thành cảm ơn trường Đại học Giao thông vận tải,
giảng viên hướng dẫn Nguyễn Đức Dư, quý thầy cô khoa Công Nghệ
Thông Tin va các anh chị trong Công ty TNHH Công nghệ và Dịch vụ Viễn thông MobiOne đã tạo điều kiện tốt nhất để em được thực tập tại đây
Trong báo cáo này, em sẽ trình bày chỉ tiết về dự án thực hiện tập tin của mình, từ quá trình lên ý tưởng, thiết kế, phát triển cho đến thử
nghiệm và đánh giá kết quả Bằng cách này, em hy vọng có thể chia sẻ
những trải nghiệm thực tế và nhận được các công thức đã xác định cũng như những thành công đã đạt được trong quá trình thực hiện dự án
Ngoài ra, em cũng muốn bày tỏ lòng biết ơn sâu sắc đến sự hướng dẫn tận tình và hỗ trợ từ các anh chị cộng đồng lập trình game
cũng như đồng nghiệp trong quá trình thực tập Sự đóng góp và phản hồi của họ đã đóng vai trò quan trọng trong công việc nâng cao kỹ năng của em và là nguồn lực lớn nhất cho lao động trong quá trình này Cuối cùng, em hy vọng rằng báo cáo này sẽ mang lại cái nhìn
tổng quan và cung cấp thông tin hữu ích cho các vị trí quý giá về quy
trình phát triển trò chơi cũng như kinh nghiệm cá nhân của em trong lĩnh vực này
Trong báo cáo không tránh khỏi những sai sót, em kính mong nhận được những góp ý quý báu của thầy cô và anh chị để hoàn thiện hơn
Xin chân thành cảm ơn!
Trang 4LOI NOI DAU 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à nhanh tố kích thích sự phát triển của thế giới công nghệ
Cùng xu thế phát triển của thế giới, Việt Nam cũng không ngoại lệ Ngành công nghiệp game của Việt Nam đã và đang phát triển mạnh mẽ, với nhiều hãng và tựa game đang viê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 do nhu cầu giải trí
của tất cả các thế hệ dễ dàng tiếp cận và tìm hiểu cũng với sự phát
triể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ôi trường chuyên nghiệp, em đã được MobiOne trao cho cơ hội thực tập và trải nghiệm
Trang 5CHUONG 1 TONG QUAN VE CONG TY TNHH CONG NGHE VA
DICH VU VIEN THONG MOBIONE
1.1 Gidi thiéu chung
ONEGAME
STUDIO
Tên nơi thực tập: Công ty TNHH Công nghệ và Dịch vụ Viễn thông MobiOne
Dia chi: Tang 3 R2 105 (sau Vinmart+) Toa nha Florence S6 28
Trần Hữu Dực, Cầu Diễn, Nam Từ Liêm, Hà Nội Di động: 0328299388
Email: info@mobiones.com Website: https://onegamestudio.net/ Giới thiệu về MobiOne:
ONEGAME STUDIO được thành lập vào 05/2013 Sau 2 năm, ONEGAME tự hào là công ty phát triển ứng dụng di động hàng đầu tại Việt Nam ONEGAME có hàng triệu người dùng sử dụng ứng dụng của họ trên cả Apple và Google Play store Tháng 12/2020 ONEGAME STUDIO vinh dự đạt giải Best Game của cuộc thi AppsUp Châu Á TBD do Huawei tổ chức Mong muốn của công ty là tạo ra những dịch vụ đẳng cấp quốc tế trên nền tảng di động Facebook, Youtube, Instagram Với mục tiêu đó, công ty cần những con người tuyệt vời Công ty đảm
5
Trang 6bảo môi trường làm việc thoải mái nhất, tốt nhất cho những ai muốn phát huy năng lực, sự sáng tạo và công ty sẽ đảm bảo quyền lợi xứng đáng cho họ theo thành quả đạt được
1.2 Lĩnh vực hoạt động - Công nghệ thông tin - Dịch vụ viễn thông - Dịch vụ phần mềm
- Thiết kế và phát triển Game 1.3 Sản phẩm của công ty
Stickman Battle Fight: Ra mắt năm 2020, là trò chơi nhập vai
hành động chiến đấu
Google Play Ñ @ AppStore
Stick Super Battle: Ra mat nam 2020, là trò chơi với các siêu
anh hùng bảo vệ trái đất khỏi những kẻ xâm lược cực kỳ độc ác bên ngoài vũ trụ
Trang 7Link tai: https://onegamestudio.net/product/5e814f33c1146d07bea5f8e6
https://onegamestudio.net/product/609b32ed9cbae330af205f34
Trang 8Super BIGO World: Running Game: Ra mat nam 2021, Super BIGO World: Running Game, một trò chơi phiêu lưu kiểu cũ hoàn toàn mới, trò chơi chạy giải đố hay nhất, sẽ làm bạn ngạc nhiên với cuộc phiêu lưu vĩ đại nhất của Bino, Bob, Bean, Ben, Ballo, Bill đến xứ sở thần tiên và vô cùng kì diệu
https://on mestudio.net/pr: t/618e0f f2
1.4 Công cụ sử dụng 1.4.1 Unity 3D Unity 3D là một nền tảng phát triển game đa nền tảng mạnh mẽ được phát triển bởi Unity Technologies Được phát hành lần đầu vào năm 2005, Unity 3D đã trở thành một trong những công cụ phát triển game phổ biến nhất trong ngành công nghiệp game
Link Dowload: https://store.unity.com/downl
Re Unity
Trang 9* Các tính năng nổi bat cua Unity: - Hỗ trợ đồ họa 3D và 2D:
Unity cho phép bạn lựa chọn kiểu nghệ thuật cho dự án của mình, bao gồm đồ họa 3D và 2D Mỗi loại đồ họa này đi kèm với các công cụ riêng biệt (ví dụ như cắt sprite sheet cho đồ họa 2D) và có các API riêng để gọi các tùy chọn vật lý phù hợp
Đồ họa 3D cũng cung cấp một bộ công cụ vô cùng mạnh mẽ với khả năng tạo vật liệu tùy chỉnh, xây dựng shader với Shader Graph, tùy chỉnh ánh sáng, sử dụng hiệu ứng xử lý hậu kỳ và nhiều tính năng khác
- Kiến trúc dễ hiểu:
Unity cùng cấp một phương pháp đặc biệt để xây dựng kiến trúc trò chơi của bạn “Cảnh” trong dự án trò chơi Unity được chia thành một Scene, đồng thời mỗi cảnh chứa tất cả các đối tượng trò chơi cần thiết cho người chơi sử dụng cảnh đó - có thể là nền, nhân vật người chơi, kẻ địch, viên đạn hoặc một yếu tố gì đó khác
- Unity Scripting API: Unity đi kèm với một API lập trình mạnh mẽ giúp bạn truy cập nhanh chóng các tính năng phổ biến nhất Điều này bao gồm cả tính năng trò chơi chung và các API cụ thể cho các tính năng cụ thể của engine
Unity cũng cung cấp khả năng thiết lập mối quan hệ “cha-con” giữa các đối tượng trong Hierarchy, làm cho việc thêm nhiều đối tượng (như trang phục, súng hoặc collider cho phát hiện va chạm) vào một đối tượng lớn rất dễ dàng
- Hỗ trợ xây dựng đa nền tảng:
Miễn là tải xuống bộ kit thích hợp, bạn có thể xuất trò chơi cho Android, iOS, Windows, MacOS, Linux, PS4, Xbox One va nhiéu nén tảng khác Ngoài ra, bạn cũng có thể xuất trò chơi HTML5 nếu muốn đưa trò chơi đó lên giao diện web (với điều kiện hiệu suất tối ưu)
- Khả năng thực tế ảo và tăng cường thực tế:
Unity là một trong những công cụ hỗ trợ mạnh mẽ cho việc phát triển ứng dụng thực tế ảo (VR) và thực tế tăng cường (AR) Công cụ có
nhiều gói hỗ trợ cho các kính VR/AR phổ biến và cung cấp cả AR
Foundation cho việc phát triển ứng dụng AR trên cả Android và iOS
9
Trang 10Unity hién nay con cé XR Interaction Toolkit dé lam cho viéc phat
triển trò chơi VR/AR trở nên dễ dàng hơn
- Thư viện Asset Store: Cho dù bạn cần tài liệu đồ họa, các mẫu thể loại trò chơi cụ thể,
âm thanh, hiệu ứng hạt, hoặc điều gì đó khác, Unity đều hỗ trợ đây đủ
Thư viện Asset Store vô cùng đa dạng với nhiều loại Asset trả phí và
miễn phí cho phép bạn có thể sử dụng cho bất kỳ dự án trò chơi nào
- Tùy chọn Render Pipeline: Unity cung cap nhiéu tuy chon Render Pipeline cho ban lua chon để hiển thị đồ họa trò chơi một cách hiệu quả Bạn cũng có thể tạo riêng cho mình nếu cần
- Công cụ phân tích dữ liệu: Unity cung cấp nhiều công cụ phân tích dữ liệu giúp bạn theo dõi hiệu suất và tương tác của người chơi trong trò chơi của bạn
Linh hoạt và tiềm năng trong nhiều ngành: Không chỉ là một công cụ phát triển trò chơi, Unity cũng có tiểm năng mở rộng cho nhiều ngành khác nhau như làm phim 3D, quảng cáo và xây dựng
- Cộng đồng lớn:
Unity có cộng đồng lập trình viên rất lớn và sự hỗ trợ từ cộng
đồng này cũng rất tốt Nguồn tài liệu đa dạng giúp bạn tìm thấy hỗ trợ
và thông tin cần thiết trong quá trình phát triển dự án
- Công cụ đồ họa:
Unity cho phép bạn tạo đồ họa hoạt hình cho dự án ngay trong engine Điều này bao gồm việc điều chỉnh vị trí và xoay của một đối tượng hoàn chỉnh Tất cả những tính năng này đều có thể được truy cập từ API Scripting, mang lại cho bạn sự kiểm soát không giới hạn về cách đồ họa của bạn hoạt động
- Công cụ phát triển:
Unity cung cấp một loạt công cụ phát triển mạnh mẽ, bao gồm Unity Editor, Visual Studio Integration và nhiều công cụ khác
- Kịch bản hóa và AI: Unity cho phép bạn tạo các kịch bản và điều khiển hành vi của
các đối tượng trong trò chơi bằng cách sử dụng mã lệnh hoặc trình đồ
họa
- Hỗ trợ đa ngôn ngữ:
10
Trang 11Unity cho phép ban dễ dàng đa ngôn ngữ hóa ứng dụng của mình
để tiếp cận nhiều thị trường khác nhau
1.4.2 Visual Studio Visual studio là một trong những công cụ hỗ trợ lập trình website rất nổi tiếng nhất hiện nay của Mcrosoft và chưa có một phần
mềm nào có thể thay thế được nó Visual Studio được viết bằng 2 ngôn
ngữ đó chính là C# và VB+ Đây là 2 ngôn ngữ lập trình giúp người
dùng có thể lập trình được hệ thống một các dễ dàng và nhanh chóng
nhất thông qua Visual Studio Visual Studio là một phần mềm lập trình hệ thống được sản xuất trực tiếp từ Microsoft Từ khi ra đời đến nay, Visual Studio đã có rất
nhiều các phiên bản sử dụng khác nhau Điều đó, giúp cho người dùng
có thể lựa chọn được phiên bản tương thích với dòng máy của mình
cũng như cấu hình sử dụng phù hợp nhất
Link Dowload: https://visualstudio.microsoft.com/vs/older- downloads/
* Dưới đây là một số tính năng đặc biệt:
- Biên tập mã: Giống hư IDE khác, Visual Studio cũng cung cấp
trình soạn thảo để hỗ trợ hoàn thiện mã và làm rõ cú pháp bằng cách
sử dụng đến IntelliSense Ngoài việc sử dụng cho các biến, hàm và phương pháp, công cụ này còn được áp dụng cho cấu trúc truy vấn hoặc vòng điều khiển
- Phân cấp dạng dữ liệu: Hầu hết các tập lưu trữ đoạn mã code tại Visual Studio đều được đặt trong thư mục tương đương nhau Với những tệp đánh dấu quan trọng thì phần mềm này cũng được cung cấp các thư mục dùng để phân cấp Giúp cho người dùng đễ dàng tìm kiếm và lưu trữ các tài liệu
- Trình gỡ lỗi: Visual Studio còn có một trình gỡ lỗi, vừa có thể
lập trình gỡ lỗi cấp máy lại, vừa gỡ lỗi cấp mã nguồn Tính năng này còn được hoạt động cùng với cả hai mã quản lý giếng như ngôn ngữ
máy Ngoài ra còn có thể sử dụng để gỡ lỗi ứng dụng viết bằng ngôn ngữ được Visual Studio hỗ trợ
- Thiết kế: gồm có ba loại thiết kế như sau:
+ Windows Forms Designer: với mục đích xây dựng GUI cho Windows Forms để tạo ra nút điều khiển bên trong hoặc khóa chúng
11
Trang 12vào bên cạnh mẫu Việc điều khiển trình bày dữ liệu có thể sẽ kết nối được với các nguồn truy vấn hoặc cơ sở dữ liệu
+ WPF Designer: Tính năng này cho phép người dùng thả, kéo ẩn dụ Mục đích của chức năng này tạo sự tương tác giữa người dùng và máy tính nhắm mục tiêu vào Windows Presentation Foundation
+ Wed Designer/ Development: Tại Visual Studio cũng cung cấp thiết kế website và trình soạn thảo cho phép tạo lập trang wed qua chức năng kéo thả Điều này giúp người dùng xây dựng trang wed một
cách nhanh chóng và dễ dàng hơn
1.4.3 GitHub
Git là một hệ thống quản lý phiên bản phân tán (Distributed Version Control System - DVCS) ra đời vào năm 2005 và hiện được
dùng rất phổ biến So với các hệ thống quản lý phiên bản tập trung khi
tất cả mã nguồn và lịch sử thay đổi chỉ được lưu một nơi là máy chủ thì trong hệ thống phân tán, các máy khách không chỉ "check out" phiên bản mới nhất của các tập tin mà là sao chép (mirror) toàn bộ kho mã nguồn (repository) Như vậy, nếu như máy chủ ngừng hoạt động, thì
bạn hoàn toàn có thể lấy kho chứa từ bất kỳ máy khách nào để sao
chép ngược trở lại máy chủ để khôi phục lại toàn bộ hệ thống Mỗi checkout thực sự là một bản sao đầy đủ của tất cả dữ liệu của kho chứa từ máy chủ
GitHub
Github là nền tảng lưu trữ mã nguồn phổ biến nhất hiện nay, cho phép lưu trữ, quản lý và cộng tác phát triển dự án phần mềm Nền tảng hỗ trợ nhiều tính năng như theo dõi phiên bản, quản lý nhánh, review code, tích hợp với nhiều công cụ khác và hoàn toàn miễn phí Github sở hữu giao diện trực quan, dễ sử dụng, hỗ trợ đa dạng ngôn ngữ lập trình cùng cộng đồng lập trình viên lớn, giúp việc phát triển phần mềm trở nên hiệu quả và tiện lợi hơn
12
Trang 13Link Dowload: https://github.com/
CHUONG 2 TOM TAT LY THUYET, KY NANG, GIAI PHAP LIEN
QUAN
2.1 Hệ thống lý các thuyết liên quan
Game Developer: Vẫn có nhiều lầm tưởng game developer dùng để nói về các bạn lập trình viên Tuy nhiên, game developer là
thuật ngữ chung dùng để chỉ bất kỳ ai tham gia phát triển game như
lập trình viên, người quản lý dự án hay hoạ sĩ 2D/3D Game developer là nhà phát triển các phần mềm để tạo ra các trò chơi thu hút người dùng Game development có khá nhiều điểm tương đồng với quy trình phát triển phân mềm bình thường, nhưng sẽ chú trọng hơn về mặt hình ảnh động hấp dẫn Nội dung của game chủ yếu sẽ đề cao nhu cầu giải trí và tính đa dạng
Game developer chịu trách nhiệm và tham gia rất nhiều mảng khác nhau từ khái niệm hay các cốt truyện nhân vật trong game cho đến các bước lập trình Ngoài ra, Game developer còn có nhiều tiểm năng phát triển ở các lĩnh vực như thiết kế, sản xuất, âm thanh hay visual arts
Mảng game development sẽ có từng vị trí chuyên về một mảng cụ thể như lập trình back-end/server, lập trình client
2.2 Kỹ năng
Kỹ năng lập trình: Là điều tất yếu và cần thiết và bất cứ 1 game
developer nào cũng cần thuần thục
Kỹ năng giao tiếp: Game developer sẽ làm nhiều cùng nhiều bộ
phận khác nhau để tạo ra các sản phẩm game cuối cùng trước khi ra mắt Vì thế, giao tiếp tốt là điều quan trọng để quá trình làm việc được trơn tru và trao đổi thông tin nhanh chóng và dễ dàng hơn
Tiếng Anh: Hầu hết các tài liệu liên quan đều bằng tiếng Anh Nhiều game trên thế giới hiện nay vẫn sử dụng tiếng Anh Do đó, có vốn tiếng Anh tốt sẽ chở lên tốt hơn
Thích chơi Game: Khi chở thành Develop game, bạn sẽ cần chơi nhiều game khác nhau để có thêm nhiều ý tưởng cũng như cập nhật xu
13