Trang 3 LOI MO DAU Trong thời đại cơng nghệ hiện nay, sự phát triển vượt bậc của ngành cơng nghiệp game đã tạo nên một sân chơi sơi động và đầy thách thức.. Game Engine, như một cơng cụ
Trang 1
BO XAY DUNG TRUONG DAI HOC KIEN TRUC HA NOI
KHOA: CONG NGHE THONG TIN
BAO CAO CHI TIET THUC TAP CHUYEN MON
Đề tài: Xây dựng Game Helix Jump trên nền tảng Unity
Giáo viên HD: Th.Š Nguyễn Quốc Huy
Trang 2LỜI CẢM ON
Em xin chân thành cảm ơn thầy, cô khoa Công nghệ Thông tin Trường Đại học Kiến trúc Hà Nội đã tận tình dạy dỗ, truyền đạt cho chúng em nhiều kiến thức quý báu
Em xin bày tỏ lòng biết ơn tới thầy Nguyễn Quốc Huy, người đã tận tình truyền đạt
nhiều kinh nghiệm để nhóm em có thể thực hiện được đề tài đồ án này
Với sự cố gắng và giúp đỡ nên đề tài nhóm em đã được hoàn thành Vì thời gian có hạn và kiến thức còn đang hạn chế mong thay dua ra gop ý để cho nhóm có thê hoàn thiện xuât sắc hơn
Em xin chân thành cảm ơn!
Trang 3LOI MO DAU
Trong thời đại công nghệ hiện nay, sự phát triển vượt bậc của ngành công nghiệp game đã tạo nên một sân chơi sôi động và đầy thách thức Cùng với sự đa dạng ngày càng tăng của thị trường game, các nhà phát triển đều đặt ra nhiều yêu cầu cao về chất lượng và sự độc đáo của sản phẩm Game Engine, như một công cụ quan trọng, đóng vai trò quyết định trong quá trình phát triển game, mang lại sự thuận tiện và linh hoạt cho các nhà phat trién
Nhìn nhận xu hướng này và với mong muốn góp phần vào sự phôn thịnh của ngành công nghiệp game, đề tài này tập trung vào việc khảo sát và nghiên cứu về việc xây dựng trò chơi Helix Jump trên nền tảng Unity — một Game Engine phố biến và mạnh mẽ Mục tiêu chính là hiểu rõ quá trình phát triển game trên Unity thông qua việc thực hành xây dựng một trò chơi Helix Jump, cũng như chuẩn bị kiến thức và kỹ năng cho sự phát triển nghề nghiệp trong lĩnh vực này
Bài viết sẽ bắt đầu bằng việc giới thiệu về Game Engine và thế giới 2D, cung cấp nền tảng cho việc hiểu rõ về quá trình phát triển game Tiếp theo, chú trọng vào Engine Unity với các tính năng, công cụ, và thành phần quan trọng Phần sau sẽ để cập đến việc lập trình trén Unity, bao gồm ngôn ngữ và các thành phần sử dụng thông qua ví dụ cụ thể từ việc xây dựng trò chơi Helix Jump Cuối cùng, sẽ có phần giới thiệu về cốt truyện, bồi cảnh, và hướng dẫn sử dụng của trò chơi, kết hợp với một phần tông kết về những thách thức và thành tựu trong quá trình phát triển trò chơi trén Unity
Trang 4MUC LUC
LỜI CẢM ƠN HH ưng hot 2 LỜI MỞ ĐẦU - 5c 22t HH ghen 3
DANH MỤC HĨNH ẢNH S1 1 21121121211 1 E1 n rne 6 CHUONG I: TONG QUAN VE CONG CU THỰC HIỆN 2-5 Street 7
1 Tổng quan về Unify - + 112112121111 1 11111 22111 1 nhung ườn 7 lưdidiiiiiiaảẢảẳẢ 7 1.2 Quá trình phát triển game Unity - 2S ST 1 12 12 re 7
1.3 Một số thống kê về Unify 5 St TH gan 7
1.5 Các thành phần trong Unity Edifor s- St 2e 8 1.6 Các khái niện cơ bản trong Unify Q0 212 nh sen nớn 10 P.00 :)laầáầaaaaaai 12
2.2 Ứng dụng s1 E1tE 1112121112121 111111 tr He 13
3 Visual Studio 2022000 e ẦẢẦ 13
CHƯƠNG II: TƠNG QUAN ĐÈ TÀI 222 2tr rereree l6
1 Ý tưởng game 5 ST E1 11 1 11111 121 1 n1 2n nen tư l6 P0 1 4 16
VN ,.L4:aaađađaaaađaaaaaiiaadaŸ3ĨÕÊẢ 16 2.2 Cache CHO ố .e a 16 2.3 Tacha tates .e aaaA 17
CHUONG III: THIẾT KẾ GIAO DIỆN ĐỎ HỌA GAME 5 chen 18
Trang 51 Tổng quan đồ họa màn chơi 2-5 s2 xzzczsez
2 Lập trình trong Unity Q0 2c che
CHƯƠNG IV: KET LUAN VA HUONG PHAT TRIEN
1 Kêt luận - 2L 2 222222211 12 Hy ee
2 Hướng phát triễn 5s St errye
TAI LIEU THAM KHẢO 252 S222 2ExcEerrrrei
Trang 6DANH MUC HINH ANH
Hinh 1:Menu
Hinh 2: Man choi
Hinh 3: Lose Game
Hinh 4:Win Game
Trang 7CHUONG I: TONG QUAN VE CONG CU THUC HIEN
1 Tổng quan vé Unity
1.1 Unity
Unity la m6t game engine da nén tang duoc phat trién boi Unity Technologies,
ma chu yéu dé phat trién video game cho may tinh, consoles va dién thoai Lan dau tiên nó được công bồ chạy trên hệ điều hành OS X, tại Apple's Worldwide Developers Conference vào năm 2005, đến nay đã mở rộng 27 nên tảng 6 phiên bản chính của phần mềm này đã được phát hành
1.2 Quá trình phát triển game Unity
Ra mắt đầu tiên vào năm 2005 tại sự kiện Apple’s Worldwide Developer Conference béi nha sang lap David Helgason, trai qua hon 12 năm phát triển, nay Unity da co version 5.5 hoan thiện hơn vé rat nhiéu mat Tháng 5-2012 theo cuộc khảo sát Game Developer Megazine được công nhận là Game engine tốt nhất cho mobile Năm 2014 Unity thắng giải “Best Engine” tại giải UK’s annual Develop Industry Exellence
1.3 Một số thống kê về Unity
Tính đến quý 3 năm 2016 đã có 5 tỷ lươt download game và ứng dụng được phát
triên bởi Unity 2,4 tỷ thiết bị di động đã từng tải ít nhất l ứng dụng bởi Unity Trong
top 1000 game Mobiles miênc phí thì số lượng game tạo ra bởi Unity chiếm tới 34%
Trang 8Số lượng người dùng (gamer) của Unity đạt tới con số người thường xuyên sử dụng Twitter là 310 triệu người Sự thay đổi trong cách thức chơi game của người hay níu cách khác kà xu hướng mọi người tập trung vào game trên di động nhiều hơn
1.4 Ưu điểm của Unity
Chức năng cốt lõi đa dạng bao gồm: cung cấp công cụ dựng hình (kết xuất đồ họa) cho các hình ảnh 2D hoặc 3D, công cụ vật lý (tính toán và phát hiện va chạm),
âm thanh, mã nguồn, hình ảnh động, trí tuệ nhân tạo, phân luồng, tạo dòng dữ liệu xử
lý, quản lý bộ nhớ, dựng ảnh đồ thị và kết nối mạng Nhờ có các engine mà công việc làm game trở nên ít tốn kém và đơn giản hơn Hỗ trợ đa nền tảng: Một trong các thế mạnh của Unity3D chính là khả năng hỗ trợ gần như toàn bộ các nền tảng hiện có bao gom: PlayStation 3, Xbox 360, Wii U, iOS, Android, Windows, Blackberry 10, OS X, Linux, trinh duyệt Web và cả Flash Nói cách khác, chỉ với một gói engme, các studio
có thể làm game cho bất kỳ hệ điều hành nao va dé dang convert ching sang nhimg
hệ điều hành khác nhau Đồng thời, đây cũng là giải pháp cho các game online đa nền
tảng — có thê chơi đồng thời trên nhiều hệ điều hành, phần cứng khác nhau như Web,
PC, Mobile, Tablet
1.5 Cac thanh phan trong Unity Editor
Trang 91.5.2 Cửa số Hierarchy
Tab hierarchy là nơi hiển thị các Game Object trong Sences hiện hành Khi các đôi tượng được thêm hoặc xóa trong Sences, tương ứng với các đối tượng đó trong cửa số Hierarchy Tương tự trong tab Project, Hierarchy cũng có một thanh tìm kiếm giúp quản lý và thao tác với các Game Object hiệu quá hơn đặc biệt là với các dự án lớn
1.5.3 Cửa số game
Đây là màn hình demo Game, là góc nhìn từ camera trong game Thanh công cụ trong cửa số game cung cấp các tùy chỉnh về độ phân giải man hình, thông số (stats), gizmos, tùy chọn bật tat cac component
1.5.4 Cửa số Project
Trang 10Đây là cửa số explorer của Unity, hiền thị thông tin của tất cả các tài nguyên (Assets) trong game của bạn Cột bên trái hiển thị assets và các mục yêu thích dưới dạng cây thư mục tương tự như Windows Explorer Khi click vào một nhánh trên cây thư mục thì toàn bộ nội dung của nhánh đó sẽ được hiển thị ở khung bên phải Ta có thể tạo ra các thư mục mới bằng cach Right click -> Create -> Folder hoặc nhấn vào nút Create ở góc trên bên trái cửa số Project và chon Folder Cac tai nguyên trong game cũng có thê được tạo ra bằng cách này Phia trén cay thu muc la muc Favorites, giup chúng ta truy cập nhanh vào những tài nguyên thường sử dụng Chúng ta có thể đưa các tài nguyên vào Favorites bằng thao tác kéo thả Đường dẫn của thư mục tài nguyên hiện tại Chúng ta có thê dễ dàng tiếp cận các thư mục con hoặc thư mục gốc bằng cách click chuột vào mũi tên hoặc tên thư mục
1.5.5 Cửa số Inspector
Cửa số Inspector hiển thị chỉ tiết các thông tin về Game Object đang làm việc, kê cá những component được đính kèm và thuộc tính của nó Bạn có thê điều chỉnh, thiết lập mọi thông số và chức năng của Game Object thông qua cửa
số Inspector Mợi thuộc tính thể hiện trong Inspector đều có thể dé dang tuỳ chỉnh trực tiếp mà không cần thông qua một kịch bản định trước Tuy nhiên Scripting API cung cấp một số lượng nhiều và đầy đủ hơn do giao điện Inspector
là có giới hạn Các thiết lập của từng component được đặt trong menu
1.6 Cac khai nién co ban trong Unity
1.6.1 GameObject
Một đối tượng cụ thể trong game gọi là một game object, có thê là nhân vật,
đồ vật nào đó Ví dụ: cây côi, xe cộ, nhà cửa, nguoi
1.6.2 Component
Một GameObject sẽ có nhiều thành phần câu tạo nên nó như là hình ảnh (sprite render), tập hợp các hành động (animator), thành phần xử lý va chạm
10
Trang 11(collision), tinh toan vat ly (physical), ma diéu khién (script), cac thanh phan
khác mỗi thứ như vậy gọi là một component của GameObject
Là một khái niệm trong Unity, dùng đề sử dụng lại các đối tượng giống nhau
có trong game mà chỉ cần khởi tạo lại các giá trị vị trí, tỉ lệ biến dạng và góc quay từ môt đối tượng ban đầu
Trang 12Là một game object đặc biệt trong scene, ding để xác định tầm nhìn, quan sát các đối tượng khác trong game
C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội ngũ
kỹ sư của Microsoft vào năm 2000 C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất la C++ và Java
Ngôn ngữ C# khá đơn giản, chí khoảng 80 từ khóa và hơn mười mấy kiểu dữ liệu
được xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cầu trúc, thành phan component, lập trình hướng đối tượng
Ngôn ngữ C# cung cấp những đặc tính hướng thành phần (componenf-oriented), như là những thuộc tính, những sự kiện Lập trình hướng thành phần được hỗ trợ bởi CLR cho phép lưu trữ metadata với mã nguồn cho một lớp
- Đặc trưng của C#
+ C# là một ngôn ngữ đơn giản mạnh mẽ
+ C# là ngôn ngữ đa năng và hiện đại
+ C# là một ngôn ngữ lập trình hướng đối tượng đồng thời hỗ trợ lập trình chức năng
Trang 132.2 Ung dung
Phát triển ứng dung desktop: C# thuong được sử dụng để phát triển ứng dụng Windows truyền thống, bao gồm ứng dụng máy tính cá nhân, phần mềm quản lý, ứng dụng dựa trên giao diện người dùng (GUT) nhu ung dung Office, trinh duyệt web, trò chơi, và ứng dụng đồ họa
Phát triển ứng dụng web: Sử dụng ASP.NET, một nền tảng phát triển web của Microsoft, bạn có thể phát triển các ứng dụng web mạnh mẽ bằng C# Các ứng dụng web ASP.NET có thê là trang web tĩnh, trang web động, hoặc ứng dụng web phức tạp
Phát triển ứng dụng di động: C# cũng được sử dụng để phát triển ứng dụng di động trên nền tảng Android và iOS thông qua Xamarin, một nền tảng phát triển ứng dụng đa nên tảng
Phát triển ứng dụng IoT: C# có thể được sử dụng trong phát triển các ứng dụng Internet of Things (IoT) théng qua Windows IoT Core va Azure [oT
Phat trién ứng dụng dựa trên dịch vụ: C# có thê được sử dụng dé phat triển các ứng dụng kết nối với các dịch vụ web, API, và các cơ sở dữ liệu khác nhau
Phát triển ứng dụng trò chơi: C# là một ngôn ngữ phố biến trong phát triển trò chơi, đặc biệt khi sử dụng với Unity, một nên táng phát triển trò chơi đa nền tảng Phát triển ứng dụng máy học và trí tuệ nhân tạo: C# cũng có thể được sử dụng trong phát triển các ứng dụng liên quan đến máy học và trí tuệ nhân tạo
Phát triển ứng dụng máy chủ: C# có thể được sử dụng trong việc phát triển các ứng dụng máy chủ và dịch vụ, bao gồm ứng dụng back-end cho ứng dụng web và dịch
vu dam mây
13
Trang 143 Visual Studio 2022
- Visual Studio là một môi trường phát triển tích hợp (IDE) được phát triển bởi
Microsoft Được giới thiệu lần đầu vào năm 1997, Visual Studio đã trở thành một trong những công cụ phát triển phần mềm phố biến nhất trên thị trường
- Visual Studio 2022 là phiên bản mới nhất của môi trường phát triển tích hợp (IDE) mạnh mẽ của Microsoft Được giới thiệu vào năm 2021, Visual Studio 2022 mang đên nhiều cải tiễn và tính năng mới đề hỗ trợ các nhà phát triển phần mềm
- Visual Studio 2022 có các đặc điểm và cải tiễn chính sau:
+ Giao diện người dùng hiện đại: [DE này được thiết kế lại với một giao diện người dùng mới, đẹp mắt và tối ưu hóa đề cung cấp trải nghiệm làm việc mượt mà
và hiệu quả hơn
+ Hiệu suất tốt hơn: Visual Studio 2022 đã được tối ưu hóa để cải thiện hiệu
suất và tăng tốc độ trong các tác vụ quan trọng như xây dựng, gỡ lỗi và triển khai ứng dụng
+ Hỗ trợ đa nền tảng: IDE này cho phép phát triển ứng dụng trên nhiều nền tảng, bao gồm Windows, Web, di động và điện toán đám mây Điều này giúp các nhà phát triển tạo ra các ứng dụng đa nên táng một cách dễ dàng
+ IntelliCode: Visual Studio 2022 tích hợp công nghệ trí tuệ nhân tạo (AI) để cung cấp IntelliCode, một tính năng đề xuất mã thông minh IntelliCode sử dụng học máy đề gợi ý mã dựa trên ngữ cảnh và phong cách lập trình
+ Hỗ trợ Git và DevOps: IDE này tích hợp tốt với hệ thông quản lý phiên bản Git va các công cụ DevOps như Azure DevOps và GitHub Điều này giúp quản lý
mã nguôn và quy trình phát triển phần mềm dễ dàng hơn
+ Các công cụ phát triển ứng dụng di động: Visual Studio 2022 cung cấp các công cụ và môi trường phát triển cho ứng dụng di động, bao gồm phát triên trên
nén tang Android va iOS
14