1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận lập trình game 2d sử dụng unity trên nền tảng android công ty se7en game studio

50 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 50
Dung lượng 3,05 MB

Cấu trúc

  • CHƯƠNG 1: CƠ SỞ LÝ THUY Ế T (11)
    • 1.1. T ổ ng quan v ề Unity (11)
      • 1.1.1. Unity là gì? (11)
      • 1.1.2. Quá trình phát tri ể n c ủ a Unity (11)
      • 1.1.3. Một số thông kê về Unity (11)
      • 1.1.4. Ưu điể m c ủ a Unity (12)
    • 1.2. Tìm hi ể u v ề Unity Engine (13)
      • 1.2.1. Các thành ph ầ n trong Unity Editor (13)
        • 1.2.1.1. C ử a s ổ Scene (13)
        • 1.2.1.2. C ử a s ổ Hierarchy (14)
        • 1.2.1.3. C ử a s ổ Game (14)
        • 1.2.1.4. C ử a s ổ Project (14)
        • 1.2.1.5. C ử a s ổ Inspector (15)
      • 1.2.2. Các khái ni ệm cơ bả n trong Unity (16)
        • 1.2.2.1. GameObject (16)
        • 1.2.2.2. Component (16)
        • 1.2.2.3. Sprite (16)
        • 1.2.2.4. Animation (17)
        • 1.2.2.5. KeyFrame (17)
        • 1.2.2.6. Prefabs (17)
        • 1.2.2.7. Sounds (17)
        • 1.2.2.8. Scripts (17)
        • 1.2.2.9. Scenes (18)
        • 1.2.2.10. Assets (18)
        • 1.2.2.11. Camera (18)
        • 1.2.2.12. Transform (18)
    • 1.3. Cài đặ t Unity (19)
    • 1.4. S ử d ụng Jetbrains Rider để l ậ p trình v ớ i Unity (21)
      • 1.4.1. Mô tả (21)
      • 1.4.2. Đặc điể m c ủa môi trườ ng Jetbrains Rider (21)
      • 1.4.3. Yêu cầu hệ thống (22)
      • 1.4.4. Cách cài đặ t (23)
      • 1.4.5. Kết nối Jetbrains Rider với Unity (31)
  • CHƯƠNG 2 MÔ TẢ THI Ế T K Ế GAME (32)
    • 2.1. Lên ý tưở ng cho game (32)
    • 2.2. Xác định đối tượ ng và dòng thi ế t b ị phù h ợ p (32)
    • 2.3. Quá trình thi ế t k ế game (32)
      • 2.3.1. T ạ o các folder c ầ n thi ế t (32)
      • 2.3.2. Tạo Scene (32)
      • 2.3.3. Import Sprites (33)
      • 2.3.4. Viết logic của game (34)
        • 2.3.4.1. T ạ o các Prefab c ầ n thi ế t (34)
        • 2.3.4.2. T ạ o các UI c ần để x ử lý logic game (34)
        • 2.3.4.3. T ạo các Script để x ử lý game (35)
      • 2.3.5. Thêm các UI còn lại của Scene Game và Menu (42)
        • 2.3.5.1. X ử lý UI trong Scene Game (42)
        • 2.3.5.2. X ử lý UI trong Scene Menu (43)
  • CHƯƠNG 3: Ứ NG D Ụ NG GAME PHÁT TRI Ể N TRÊN UNITY – PASS THE (44)
    • 3.1. Gi ớ i thi ệ u game (44)
    • 3.2. Quy lu ậ t chính c ủ a game (45)
      • 3.2.1. Màn chơi (45)
      • 3.2.2. Di chuyển (45)
      • 3.2.3. Mạng (46)
      • 3.2.4. Item và bẫy trong game (47)
      • 3.2.4. Các nhân vật trong game (47)

Nội dung

LỜI NÓI ĐẦU Ngày nay với sự phát triển vượt bậc của công nghệ thông tin, rất nhiều công việc trong cuộc sống đã được xử lý một cách nhanh chóng nhờ có các phần mềm, trò chơi cũng như vậy

CƠ SỞ LÝ THUY Ế T

T ổ ng quan v ề Unity

Unity là một “cross- flatform game engine” tạm hiểu là công cụ phát triển game đa nền tảng được phát triển bởi Unity Technologies Game engine này được sử dụng để phát trển game trên PC, consoles, thiết bịdi động và trên websites

1.1.2 Quá trình phát triển của Unity

Ra mắt đầu tiên vào năm 2005 tại sự kiện Apple’s Worldwide Developer Conference bởi nhà sáng lập David Helgason, trải qua hơn 12 năm phát triển, nay Unity đã có version 5.5 hoàn thiện hơn về rất nhiều mặt 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.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 1 ứng dụng bởi unity.

- Trong top 1000 game Mobiles miễn phí thì số lượng game tạo ra bởi Unity chiếm tới 34%

- Số lượng người dùng (gamer) của Unity đạt tới con số 770 triệu, trong khi đó 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 chơi hay nói cách khác làxu hướng mọi người tập trung vào game trên di động nhiều hơn.

- 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 gồm: PlayStation

3, Xbox 360, Wii U, iOS, Android, Windows, Blackberry 10, OS X, Linux, trình duyệt Web và cả Flash Nói cách khác, chỉ với một gói engine, các studio có thể làm game cho bất kỳ hệ điều hành nào và dễ dàng convert chúng sang những 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….

- Dễ sử dụng: Unity3D được built trong một môi trường phát triển tích hợp, cung cấp một hệ thống toàn diện cho các lập trình viên, từ soạn thảo mã nguồn, xây dựng công cụ tự động hóa đến trình sửa lỗi Do được hướng đến đồng thời cả lập trình viên không chuyên và studio chuyên nghiệp, nên Unity3D khá dễ sử dụng Hơn nữa, đây là một trong những engine phổ biến nhất trên thế giới, người dùng có thể dễ dàng tìm kiếm kinh nghiệm sử dụng của “tiền bối” trên các forum công nghệ.

- Tính kinh tế cao: Unity Technologies hiện cung cấp bản miễn phí engine Unity3D cho người dùng cá nhân và các doanh nghiệp có doanh thu dưới 100.000 USD/năm Với bản Pro, người dùng phải trả1.500 USD/năm – một con số rất khiêm tốn so với những gì engine này mang lại.

Tìm hi ể u v ề Unity Engine

1.2.1 Các thành phần trong Unity Editor

Hình 1.2 Các thành phần trong Unity Editor

- Phần này phần hiển thị các đối tượng trong scenes một cách trực quan, có thể lựa chọn các đối tượng, kéo thả, phóng to, thu nhỏ, xoay các đối tượng,

- Phần này có để thiết lập một số thông sốnhư hiển thị ánh sáng, âm anh, cách nhìn 2D hay 3D

- Khung nhìn Scene là nơi bốtrí các Game Object như cây cối, cảnh quan, enemy, player, camera, … trong game Sự bố trí hoạt cảnh là một trong những chức năng quan trọng nhất của Unity

- 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

- Đâ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 màn hình, thông số (stats), gizmos, tùy chọn bật tắt các component

- Đâ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 cách 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à chọn Folder Các tài nguyên trong game cũng có thể được tạo ra bằng cách này

- Phía trên cây thư mục là mục Favorites, giúp 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

- Cửa sổ Inspector hiển thị chi 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ễ dàng 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 diện Inspector là có giới hạn

- Các thiết lập của từng component được đặt trong menu Các bạn có thể click chuột phải, hoặc chọn icon hình bánh răng nhỏđể xuất hiện menu

- Ngoài ra Inspector cũng thể hiện mọi thông số Import Setting của asset đang làm việc như hiển thị mã nguồn của Script, các thông số animation,

1.2.2 Các khái niệm cơ bản trong Unity

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, người

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 (collision), tính toán vật lý (physical), mã điều khiển (script), các thành phần khác mỗi thứnhư vậy gọi là một component của GameObject

Là một hình ảnh 2D của một game object có thể là hình ảnh đầy đủ, hoặc có thể là một bộ phận nào đó.

Là tập một hình ảnh động dựa trên sựthay đổi liên tục của nhiều sprite khác nhau

Key Frame hay Frame là một trạng thái của một animation Có thểđược tạo nên từ 1 sprite hay nhiều sprite khác nhau

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 Ví dụ: Các đối tượng là đồng tiên trong game Mario đều có xử lý giống nhau, nên ta chỉ việc tạo ra một đối tượng ban đầu, các đồng tiền còn lại sẽ sử dụng prefabs Hoặc khi ta lát gạch cho một cái nền nhà, các viên gạch cũng được sử dụng là prefabs

1.2.2.7 Sounds Âm thanh trong game

Script là tập tin chứa các đoạn mã nguồn, dùng để khởi tạo và xử lý các đối tượng trong game Trong Unity có thể dùng C#, Java Script, BOO để lập trình Script

Quản lý tất cảcác đối tượng trong một màn chơi của game

Bao gồm tất cả những gì phục vụ cho dựán game như sprite, animation, sound, script, scenes…

Là một game object đặc biệt trong scene, dùng để xác định tầm nhìn, quansát các đối tượng khác trong game

Là 3 phép biến đổi tịnh tiến, quay theo các trục, và phóng to thu nhỏ một đối tượng

Cài đặ t Unity

Vào trang Download chọn Download UnityHub, sau khi tải xuống hoàn tất double click vào file đã tải Việc cài đặt UnityHub diễn ra bình thường và tương tự như cài đặt các chương trình khác.

Sau khi cài đặt, khởi động UnityHub rồi đăng nhập vào tài khoản Unity, tài khoản Unity có thể được tạo miễn phí tại trang chủ.

Hình 1.8 Sign In Unity Hub

Sau khi đăng nhập trong trường hợp chưa có License thì phải tạo 1 License, vào Preferences bên cạnh profile góc trên phải và chọn License Management và chọn như hình để kích hoạt 1 License miễn phí

Quay ra màn hình chính, chọn Installs->ADD để cài đặt Unity.

Chọn phiên bản Unity và cài đặt các component dựa vào nền tảng muốn phát triển.

Hình 1.11 Thêm các Modules cho Unity

Việc cài đặt Unity đã xong.

S ử d ụng Jetbrains Rider để l ậ p trình v ớ i Unity

JetBrains Rider là một môi trường phát triển tích hợp mới dựa trên nền tảng IntelliJ và ReSharper Rider hỗ trợ NET framework, hạt nhân đa nền tảng NET mới và các dự án dựa trên mono Tính năng này cho phép bạn tạo một loạt các ứng dụng như ứng dụng máy tính để bàn, dịch vụvà thư viện, trò chơi Unity, ứng dụng Xamarin, ứng dụng web ASP.NET và ASP.NET Core

1.4.2 Đặc điểm của môi trường Jetbrains Rider

- Cung cấp hơn 2500 kiểm tra mã trực tiếp, hàng trăm thao tác thực địa và tái cấu trúc bởi ReSharper và kết hợp chúng với IntelliJ và các tính năng nền tảng IDE vững chắc

- Mở, chỉnh sửa, xây dựng, chạy và gỡ lỗi tất cả các ứng dụng NET

- Hỗ trợ nhiều ngôn ngữ được sử dụng trong phát triển NET, bao gồm C

#, F #, VB.NET, ASP.NET (cả ASPX và công cụ xem Razor), XAML, XML, JavaScript, TypeScript, JSON, HTML, CSS, SCSS, LESS và SQL

- Chạy trên các hệ điều hành khác nhau như Windows, Mac và các giống Linux khác nhau

- Cung cấp nhiều tính năng của các tính năng chỉnh sửa mã thông minh, chẳng hạn như hoàn thành các loại mã khác nhau, không gian tên được nhập tự động, tự động chèn dấu ngoặc nhọn vàđánh dấu các định nghĩa tùy chỉnh

- Bao gồm hỗ trợ cho Git, Subversion, Mercurial, Perforce và TFS

- Làm việc với SQL và Cơ sở dữ liệu mà không cần rời Rider

- Kết nối với cơ sở dữ liệu, chỉnh sửa biểu đồ và dữ liệu bảng, thực hiện truy vấn và thậm chí phân tích bố cục bằng sơ đồ UML

- Bao gồm trình gỡ lỗi hoạt động với các ứng dụng NET, Mono và NET Core

- Tạo nhiều cài đặt gỡ lỗi, tham gia các quy trình bên ngoài, đặt và quản lý điểm bắt đầu và điểm dừng, bước lên và đi ra, chạy con trỏ, đặt thời gian và đánh giá các cụm từ

- Hệ điều hành (chỉ dành cho bản phân phối 64 bit): o Microsoft Windows 10 / 8.1 / 7 (.NET Framework 4.6.1 là bắt buộc) o Linux o Máy tính để bàn GNOME hoặc KDE o OS X 10.11+

23 o Tối thiểu Intel Core 2 Duo 2GHz

- Bộ nhớ: o Tối thiểu 4 GB o Khuyến nghị 8 GB trở lên

- Ổ cứng: o Tối thiểu không gian: 2.5 GB o Nên sử dụng SSD thay vì HDD để có hiệu suất tối ưu

- Màn hình: o Độ phân giải màn hình tối thiểu 1024 × 768

- Download file cài đặt tại địa chỉ: https://www.jetbrains.com/rider/

Hình 1.12 Trang chủ Jetbrains Rider

- Sau khi download nhấn đúp chuột vào file để bắt đầu quá trình cài đặt

Bấm Next → để tiếp tục quá trình cài đặt JetBrains Rinder

Hình 1.14 Bắt đầu cài đặt

Hình 1.15 Chọn vị trí cài đặt

- Sau khi cài đặt xong chạy ứng dụng lên thì sẽ có lựa chọn đầu tiên là:

Có thêm các cài đặt từ Visual Studio Code không? (do khá nhiều người dùng sử dụng VS Code để lập trình C#).Chọn Import Setting nếu các bạn muốn thêm các tùy chỉnh từ VS Code hoặc chọn Skip Import để bỏ qua bước này Sau đó chọn Theme và Keymaps tùy ý

- Công cụ Rider hỗ trợcác môi trường NET, Xamarin Anroid và

Xamarin iOS & Mac Tức là hỗ trợ hầu hết tất cả từ Web tới các thiết bị di động Các bạn có thể bấm Next: Default plugins để tiếp tục Ảnh bên dưới là những tool mặc định được kích hoạt bởi Rider Ví dụ nếu bạn chỉ lập trình web thì có thể Disable các tool khác và chỉđể mỗi Web Development => sau đó bấm Nexts: Featured Plugins

Hình 1.19 Các môi trường hỗ trợ

- Nếu có sẵn plugins thì các bạn có thể download về và sử dụng Ởđây do mới cài nên mình sẽ không download thêm plugins nào nữa mà bấm Start using JetBrains Rider luôn

- Do Rider là một phần mềm trả phí nên các bạn chỉ có thể dùng thử trong vòng 30 ngày Để kích hoạt chếđộ dùng thử các bạn chọn tab: Evaluate for free → chọn Evaluate như hình bên dưới

Tiếp theo bấm Continue (lưu ý cứ khi nào báo sắp hết hạn thì các bạn lại reset lại)

Hình 1.20.Thêm License hoặc Trial Version

Sau khi cài đặt xong có thể sử dụng Jetbrains Rider để lập trình Unity

Hình 1.21.Hoàn tất cài đặt

1.4.5 Kết nối Jetbrains Rider với Unity

- Mở một dự án Unity hiện có trong Unity Editor.

- Đảm bảo rằng cài đặt Rider được chọn trong tùy chọn Unity Editor trong External Tools | External Script Editor

- Khởi động Rider và mở tệp sln của dự án Unity này.Sau khi giải pháp được tải, Rider và Unity Editor sẽ được kết nối.Biểu tượng Unity trên thanh trạng thái hiển thị trạng thái kết nối hiện tại.

MÔ TẢ THI Ế T K Ế GAME

Lên ý tưở ng cho game

Game lấy ý tưởng từ những game thể loại Casual đơn thuần có lối chơi nhanh và cần khảnăng nhanh tay nhanh mắt để có thểvượt qua các màn chơi, game có đồ họa sinh động Game có các ô vuông tượng trưng cho địa hình để người chơi vượt qua và giành chiến thắng, độ khó sẽtăng dần theo từng cấp độ của game.

Xác định đối tượ ng và dòng thi ế t b ị phù h ợ p

- Đối tượng: Phù hợp với mọi lứa tuổi

- Yêu cầu về phần cứng: Thích hợp với mọi dòng máy Android có hệ điều hành từ 5.0 trở lên

Quá trình thi ế t k ế game

2.3.1 Tạo các folder cần thiết Đầu tiên tạo tất cả các folder cần thiết của game là:

- Animations: Nơi chứa các hoạt họa cần thiết

- Fonts: Chứa các font chữ cần dùng

- Materials: Chứa các vật liệu để sử dụng cho các Object trong game

- Plugins (folder này khi mở Unity sẽ tự import các file cần thiết của công cụ viết code – Jetbrains Rider)

- Scenes: Nơi tạo các Scene của game

- Scripts: Viết các tập lệnh lập trình ởđây

- Sprites: Chứa các hình ảnh cần có của game

Bắt đầu tạo 2 Scene chính của game là Scene “Menu” và Scene

Scene “Game” là scene chứa đa phần nội dung trong trò chơi và

“Menu” là màn bắt đầu khi người chơi mởgame lên, người chơi có thể bắt đầu trò chơi luôn hoặc xem qua hướng dẫn ởMenu trước khi chơi game

Chọn chuột phải ởthư mục Sprites và chọn Import New Asset và chỉ đến đường đẫn chứa các hình ảnh

Tất cả hình ảnh trong game sẽđược lưu ởđây để cung cấp cho tất cả các GameObject trên scene như người chơi, item, background, UI…

2.3.4.1 Tạo các Prefab cần thiết

Các prefab cần có trong game là tất cảđịa hình, item và hiệu ứng trong game toàn bộ sẽđược sinh ra khi có bất kỳ xử lý nào trong game cần đến chúng

2.3.4.2 Tạo các UI cần để xử lý logic game

- Đầu tiên tạo Canvas là GameObject chứa tất cả các UI trong đó như Button, Text, Image, bằng cách nhấn chuột phải ở tab Hierachy Sau đó chọn UI → Canvas, nếu tạo thêm bất kỳ UI nào đều phải để ở trong Canvas

- Tạo 4 Button sau đó gán 4 hình ảnh mũi tên cho chúng tượng trưng cho

4 hướng nhân vật có thể di chuyển và khi người chơi nhấn vào nút nào thì nhân vật sẽ di chuyển theo hướng đó.

Hình 2.4 Tạo nút di chuyển

- Tạo Background cho game: là hình ảnh nền bên dưới để nhìn game trở nên sinh động hơn.

2.3.4.3 Tạo các Script để xử lý game

Nhấn chuột phải ở trong thư mục Scripts và chọn Create → C# Script

Các scripts này sẽđược lưu dưới dạng file.cs Đặt tên cho các Scripts đó và bắt đầu viết code cho các Scripts để game hoạt động

Hình 2.7 Các Scripts được tạo

Mỗi nhân vật trong game sẽ có 1 Scripts riêng và chúng sẽđược quản lý bởi Script GameController.cs

Trong GameController.cs ta sẽdùng Design Pattern là Singleton để có thể gọi đến class này nhanh hơn và không bịdư thừa tài nguyên

Với hệ thống các ô vuông tượng trưng cho địa hình ta sẽ xây dựng 1 ma trận 2 chiều cho chúng để quản lý vị trí và các khảnăng khi người chơi đi qua hoặc các nhân vật khác đứng trên chúng

• Các bước thực hiện viết Scripts để quản lý game:

- Viết Scripts Box.cs để quản lý các khảnăng xảy ra trên 1 ô

- Viết code để sinh ra ngẫu nhiên địa hình và tăng sốlượng ô theo từng màn, xử lý sao cho các vật cản không quá nhiều sẽ khiến người chơi không thể di chuyển

- Viết code để sinh ra các item và di chuyển ngẫu nhiên vị trí của chúng sau 1 vài giây, xử lý sao cho khi sinh ra chúng không cùng vị trí của nhau

- Thiết lập các hàm để di chuyển nhân vật sang trái, phải, lên và xuống, xử lý sao cho nhân vật chỉ có thể di chuyển được trong ma trận các ô vuông và không được di chuyển vào ô có vật cản

- Thêm các chức năng của các item và khiến địa hình mà nhân vật đi qua biến mất sau vài giây

- Tiếp tục xử lý phần các con vật cản đường người chơi: Tạo script Bot.cs xử lý di chuyển ngẫu nhiên trên địa hình cho chúng, thiết lập khảnăng di chuyển của chúng giống với nhân vật tuy nhiên chúng không biết né ô đã bị hủy và chúng sẽ chết khi đi vào ô đó.

- Và cuối cùng xử lý tất cả va chạm của nhân vật trong script Player.cs như khi va chạm vào các item, bẫy sẽ kích hoạt hiệu ứng gì…

Hình 2.9 Xử lý logic của game

Tất cảcác Object được sinh ra đều lấy từ Prefabs

2.3.5 Thêm các UI còn lại của Scene Game và Menu

2.3.5.1 Xử lý UI trong Scene Game

Viết scripts GameUI.cs để xử lý tất cả các UI còn lại trong Scene Game như mạng, các Text, nút chơi lại và trở về

2.3.5.2 Xử lý UI trong Scene Menu

Viết scripts Menu.cs để xử lý tất cả các Scene Menu như Background, Logo, phần hướng dẫn chơi

Ứ NG D Ụ NG GAME PHÁT TRI Ể N TRÊN UNITY – PASS THE

Gi ớ i thi ệ u game

Tên Game: Pass The Maze

Giao diện khi mở game:

Giao diện hướng dẫn chơi:

Quy lu ậ t chính c ủ a game

Game có sốlượng màn chơi không giới hạn nhưng khi sốlượng ô vuông sẽ gần bằng kích thước màn hình thì tất cảmàn sau đó sẽ chỉ có bấy nhiêu ô vuông và chỉthay đổi về vị trí vật cản và item ban đầu và một số chỉ số trong game

Hình 3.3 Màn hình chơi game

- Bắt đầu người chơi sẽđứng ở một ô bất kì không có vật cản trên bản đồ, sử dụng 4 phím gồm: lên trên, xuống dưới, sang trái, sang phải để di chuyển nhân vật đi trên địa hình và tránh các chướng ngại vật, bẫy và kẻ địch trên đường đi Sau 1 vài giây khi đi qua địa hình thì địa hình sẽ sụp đổ

Hình 3 4 Địa hình sẽ biến mất sau vài giây nhân vật đi qua

- Nhân vật cần di chuyển liên tục để thu thập đủ các item và tránh bẫy để qua màn, đi vào bẫy sẽ khiến nhân vật nhận những hiệu ứng bất lợi ngược lại nhặt item sẽ nâng cao chỉ số của nhân vật

Khởi đầu game nhân vật sẽ có 3 mạng, nhặt item hình trái tim đểtăng mạng, tối đa nhân vật có 5 mạng và khi số mạng người chơi sẽ thua và sẽ phải chơi lại từđầu.

Nếu không còn mạng nào sẽ phải chơi lại từmà đầu và số mạng qua mỗi màn chơi sẽđược giữ nguyên nếu có thể qua màn

Nếu muốn chơi lại hoặc trở về Menu thì nhấn 2 nút ở góc phải của màn hình

3.2.4 Item và bẫy trong game

- Đồng hồ: Giảm thời gian biến mất của địa hình

- Trái tim: Nhặt để thêm mạng, tối đa 5 mạng

- Khiên: Không bị mất mạng trong vài giây

- Cây ăn thịt: Giữchân người chơi trong 2 giây

- Bom: Đi qua sẽ mất 1 mạng

3.2.4 Các nhân vật trong game

- Cáo: là nhân vật mà người chơi điểu khiển

- Các con vật khác: Xuất hiện để cản bước người chơi, màn chơi càng cao thì càng có nhiều con vật

KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN

Bước đầu tìm hiểu về Unity và Game Engine em gặp rất nhiều khó khăn trong việc tìm tài liệu và xây dựng ý tưởng game vì tài liệu về unity đa phân bằng tiếng anh, nhưng sau khoảng 1 tháng cố gắng tìm tòi, học hỏi các bạn đi trước và đi thực tập ở 1 công ty phát triển game thì em cũng đã làm cho mình được 1 game gần hoàn chỉnh để phục vụ cho đề tàitốt nghiệp

- Hiểu được cấu trúc, cách thức hoạt động, cách thức phát triển ứng dụng trên Unity

- Nâng cao kiến thức lập trình và tiếng anh chuyên ngành thông qua những tài liệu về Unty bằng tiếng anh

- Biết thêm cách giải quyết khi gặp các thể loại game chưa từng làm qua

- Xây dựng các chức năng như điểm, máu, màn chơi thông qua ngôn ngữ lập trình C#

- Cách tổ chức Scripts trong game chưa thực sự tối ưu

- Game chưa có quá nhiều chức năng

- Phải biết sắp xếp thời gian 1 cách hợp lý nếu không sẽ gặp rất nhiều khó khăn

- Nên áp dụng thuật toán đúng trường hợp để tối ưu thời gian code

- Thêm các hoạt ảnh và hiệu ứng sẽ khiến game sinh động và hấp dẫn hơn

- Tối ưu hóa Scripts để game được chỉn chu hơn

- Tăng thêm màn chơi để game đa dạng hơn

- Thêm nhiều loại item mới để tăng sự sinh động và hấp dẫn

- Cải thiện trí thông minh của các con vật để khả năng di chuyển của chúng được linh hoạt hơn

Ngày đăng: 10/04/2024, 11:03

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w