TÓM TẮT ĐỒ ÁNĐồ án này tập trung vào việc phát triển một trò chơi bắn máy bay bằng Unity và trình bày một số kết quả đạt được trong quá trình thực hiện dự án.Vấn đề nghiên cứu của đồ án
GIỚI THIỆU
Thông Tin Chung
MSSV Họ tên Số điện thoại Email
20520845@gm.uit.e du.vn Bảng 1.1: Thông tin nhóm
2 Thông tin sơ lược về đồ án
Tên đồ án: Thiết kế và hoàn thiện một game hoàn chỉnh bằng công nghệ Unity 3D.
Công nghệ sử dụng: Unity Engine.
Môi trường phát triển: Visual Studio / Visual Studio Code.
3 Sơ lược về những công nghệ sử dụng.
Unity Engine là một cross-platform game engine được phát triển bởi công ty Unity Technology, nó được sử dụng nhằm mục đích phát triển video game 2D, 3D trên máy tính, điện thoại, console và các nền tảng thực tế ảo Được công bố và phát hành lần đầu tiên vào tháng 6 năm 2005 chạy trên hệ điều hành MacOS Nó sử dụng ngôn ngữ C# làm script Nó còn có thể sử dụng để làm phim, và sử dụng trong ngành sản xuất ô tô.
Trong 2D games, Unity cho phép nhập sprites và một renderer thế giới 2D tiên tiến Đối với 3D games, Unity cho phép thiết lập các đập điểm kỹ thuật của các kết cấu và độ phân giải mà công cụ trò chơi hỗ trợ, cung cấp các hỗ trợ cho bump mapping, reflection mapping, parallax mapping, cảnh không gian ambient occlusion (SSAO), hiệu ứng bóng đổ bằng cách sử dụng shadow maps, render thiết lập toàn cảnh đến hiệu ứng Unity cũng cung cấp các dịch vụ cho nhà phát triển, bao gồm: Unity Ads, Unity Analytics, Unity Cloud Build, Unity Everyplay, Unity API, Unity Multiplayer, …
C#(C Sharp) là một ngôn ngữ lập trình hướng đối tượng đa năng, mạnh mẽ được phát triển bởi Microsoft Nó được Microsoft phát triển dựa trên C++ và Java C# được thiết kế chủ yếu bởi Anders
Hejlsberg, kiến trúc sư phần mềm nổi tiếng với các sản phẩm như
Turbo Pascal, Delphi, J++, WFC Phiên bản mới nhất của C# là C#
10, được hỗ trợ trên Net 6. Ứng dụng của C#:
Phát triển web backend (ASP.NET MVC, ASP.NET Core,
Phát triển web frontend (Blazor WebAssembly, Uno Platform).
Phát triển desktop app (Winform, WPF, UWP, …).
Phát triển mobile app, IOS native, Android native (Xamarin, MAUI, …).
Phát triển game 2D, 3D đa nền tảng (Game engine: Unity, Monogame, …).
Phát triển thực tế ảo (VR), thực tế tăng cường (AR) và thực tế hỗn hợp (MR) (HoloLens, Unity, …).
Phát triển ứng dụng đồ họa 2D, 3D đa nền tảng (2D:
Github là một Version Control System sử dụng Git Các dự án mã nguồn mở sẽ được cung cấp kho lưu trữ miễn phí Tính đến ngày 25/01/2023, Github có hơn 100 triệu người sử dụng và hơn 200 triệu kho lưu trữ mã nguồn làm cho Github trở thành máy chủ chứa mã nguồn nhiều nhất trên thế giới.
Nó đã trở thành một yếu tố có sức ảnh hưởng trong cộng đồng phát triển mã nguồn mở Thậm chí nhiều công ty đã yêu cầu các developer phải biết sử dụng nó Vào ngày 04/06/2018, Microsoft đã thông báo đạt được thỏa thuận mua lại Github.
Thông Tin Sơ Lược Về Game
1 Sơ lược về các thực thể và đối tượng trong game.
Tên thực thể/ đối tượng Hình ảnh Mô tả
Là một đối tượng trong game, người chơi có thể điều khiển nó theo những luật trong trò chơi Có nhiều Character khác nhau với những vũ khí khác nhau.
Là một kẻ địch trong game người chơi phải đối đầu, nó có 1 thanh dao, khi gặp người chơi nó sẽ đuổi theo và tiêu diệt.
Là một kẻ địch trong game người chơi phải đối đầu, nó là kẻ địch đánh bom liều chết gây sát thương cực mạnh.
EnemyShield Là một kẻ địch trong game người chơi phải đối đầu, nó có vũ khí là 1 khẩu súng lục và có khả năng tạo tường chắn khi
EnemyShield đối đầu với người chơi.
Là một kẻ địch trong game người chơi phải đối đầu, nó có một khẩu súng lục.
Là một kẻ địch trong game người chơi phải đối đầu, nó có một khẩu súng boom bắn từ khoảng cách cực xa.
Là thực thể người chơi có thể tạo ra để phòng thủ, tiêu diệt kẻ địch Turret sẽ không thể di chuyển.
Là thực thể người chơi có thể tạo ra để bảo vệ bản thân, tiêu diệt kẻ địch Drone sẽ đi theo người chơi.
Là item người chơi có thể nhặt được Khi tiêu diệt kẻ địch có tỉ lệ rơi vũ khí, hoặc máu để người chơi nhặt.
Là tường chắn đạn, boom Thường được tạo ra bởi EnemyShield.
Bảng 1.2: Các thực thể và đối tượng
2 Các yêu cầu về chức năng
Người chơi có thể tạm dừng khi đang chơi.
Người chơi có thể điều chỉnh âm lượng.
Các phím bấm chức năng phản hồi nhanh chóng và rõ ràng.
Người chơi có thể chỉnh bàn phím phù hợp với bản thân.
Có thể dễ dàng phân biệt người chơi và kẻ địch trên màn hình.
Có thể dễ dàng mở rộng số lượng màn chơi và tính năng trong màn chơi.
3 Các yêu cầu về phi chức năng.
Do số lượng kẻ địch đông hơn người chơi nên người chơi nên có cách để hồi phục HP.
Các màn chơi có độ khó tăng dần.
Yêu cầu về chất lượng: FPS ổn định, gameplay thu hút người chơi.
Các màn chơi không nhàm chán, lặp lại giống nhau.
Yêu cầu về tính tương thích: có thể chơi ổn định trên máy tính.
USE CASE
Biểu Đồ
Danh Sách Actor
STT Tên Actor Mô tả
1 Character Là đối tượng mà người chơi sẽ tương tác với game Nó có thể di chuyển, tấn công, né tránh, sử dụng kỹ năng, …
Là kẻ địch mà người chơi sẽ phải đối mặt trong game Nó có thể di chuyển, tấn công, và người chơi có thể tiêu diệt nó.
Là kẻ địch mà người chơi sẽ phải đối mặt trong game Nó có thể di chuyển, tấn công, và người chơi có thể tiêu diệt nó. Khi nó đến gần người chơi, nó sẽ đánh boom tự sát gây lượng sát thương khổng lồ lên người chơi.
Là kẻ địch mà người chơi sẽ phải đối mặt trong game Nó có thể di chuyển, tấn công, và người chơi có thể tiêu diệt nó.
Nó có khả năng tạo khiên chắn đạn boom từ người chơi.
Là kẻ địch mà người chơi sẽ phải đối mặt trong game Nó có thể di chuyển, tấn công, và người chơi có thể tiêu diệt nó.
Là đối tượng mà người chơi sẽ phải đối mặt trong game Người chơi phải tiêu diệt nó
Nó có khả năng bắn từ khoảng cách cực xa.
7 Turret Là đối tượng mà người chơi sẽ có thể tạo ra khi chọn một số nhân vật trong game Nó có khả năng tấn công kẻ địch.
Là đối tượng mà người chơi có thể tạo ra khi chọn một số nhân vật đặc biệt Nó đi theo bảo vệ người chơi và tấn công kẻ địch.
Danh Sách Usecase
STT Tên Usecase Mô tả
1 Mở màn hình chính(Main Menu)
Có thể cài đặt, chơi game, và thoát game.
Có thể bật thông qua Main Menu hoặc PauseMenu Dùng để điều chỉnh một số thứ trong game.
3 Mở màn hình tạm dừng(Pause Menu)
Khi đang chơi game, người dùng muốn tạm dừng thì nhấn phím P.
4 Chơi game Ở Main Menu, người dùng nhấn Start trên màn hình để bắt đầu trải nghiệm game.
Khi người dùng muốn thoát game, nhấn “Quit” ở Main Menu.
Khi đang tạm dừng game, người dùng tiếp tục chơi game bằng cách nhấn phím ESC hoặc nhấn “RESUME”.
7 Sử dụng kỹ năng Người chơi có thể triệu hội turret hoặc drone.
Người chơi dùng chuột để điều khiển nhân vật tránh né đạn, quái vật, tấn công kẻ địch và thu thập vật phẩm
Dò tìm kẻ địch đối với Drone hoặc Turret Dò tìm người chơi đối với những kẻ địch.
10 Tấn công người chơi Các kẻ địch tấn công người chơi thông qua bắn đạn thường, va chạm hoặc sử dụng kỹ năng
Kẻ địch di chuyển để né đạn và tấn công người chơi, tuần tra.
Khi người chơi bị tấn công bởi kẻ địch hoặc kẻ địch bị tấn công bởi người chơi thì sẽ nhận một lượng sát thương.
13 Bị tiêu diệt Khi kẻ địch hoặc thiên thạch nhỏ hết máu sẽ bị tiêu diệt.Bảng 2.2: Danh sách Usecase
Đặc Tả Usecase
1 Mở màn hình chính(Main Menu)
Tên Mở màn hình chính.
Người chơi bật file game hoặc có thể nhấn thoát khi đang mở màn hình tạm dừng để hiển thị màn hình chính.
Postconditio n Hiển thị màn hình chính.
Yêu cầu đặc biệt Không có.
Trường hợp mở game: bật file game exe Trường hợp đang chơi game:
- Mở màn hình tạm dừng.
Luồng thay thế Không có.
Bảng 2.3: Mở màn hình chính
Người chơi có thể cài đặt để thay đổi một số thứ trong game Mở thông qua Main Menu hoặc
Preconditio n Mở Main Menu hoặc Pause Menu.
Postconditio n Hiển thị một số thứ có thể điều chỉnh.
Yêu cầu đặc biệt Không có.
- Người chơi mở Main Menu hoặc Pause Menu.
- Mở màn hình tạm dừng.
Luồng thay thế Không có.
3 Mở màn hình tạm dừng(Pause Menu)
Tên Mở màn hình tạm dừng.
Mô tả Khi đang chơi game, người chơi có thể tạm dừng để cài đặt hoặc một số tác vụ khác.
Preconditio n Người chơi đang chơi game.
Postconditio n Hiển thị màn hình tạm dừng.
Yêu cầu đặc biệt Không có.
- Người chơi đang chơi game.
Luồng thay thế Không có.
Bảng 2.5: Mở màn hình tạm dừng
Mô tả Người dùng bắt đầu game.
Preconditio n Người chơi đang ở menu chính
Người chơi có thể chơi game, điều khiển nhân vật và tương tác với kẻ địch.
Yêu cầu đặc biệt Không có.
- Người chơi đang ở menu chính
- Nhấn vào nút Start trên màn hình.
Luồng thay thế Không có.
Mô tả Người dùng thoát khỏi chương trình.
Người chơi đang ở màn hình menu chính (Main
Postconditio n Người chơi thoát khỏi chương trình thành công.
Yêu cầu đặc biệt Không có.
- Người chơi đang ở màn hình menu chính
- Nhấn vào nút Quit trên màn hình
- Người chơi chuyển qua desktop hoặc một chương trình khác.
- Người chơi tắt game bằng cách Close Window từ TaskBar.
- Người chơi có thể tắt cưỡng bức bằng cách nhấn tổ hợp phím Alt + F4
Mô tả Khi đang tạm dừng game, người dùng tiếp tục chơi game.
Người chơi đang ở màn hình tạm dừng
Postconditio n Người chơi tiếp tục chơi game.
Yêu cầu đặc biệt Không có.
- Người chơi đang ở màn hình tạm dừng.
- Nhấn vào nút ESC trên bàn phím.
Luồng thay thế Không có.
Tên Sử dụng kỹ năng
Mô tả Người chơi sử dụng kỹ năng của nhân vật bằng cách nhấn phím R trên bàn phím.
- Người chơi đang trong game.
- Người chơi chưa sử dụng kỹ năng.
Yêu cầu đặc biệt Không có.
- Người chơi đang chơi game.
- Nhấn phím R trên bàn phím.
Luồng thay thế Không có.
Bảng 2.9: Sử dụng kỹ năng
Tên Điều khiển nhân vật
Mô tả Người chơi điều khiển nhân vật để né tránh đạn, tiêu diệt kẻ địch, nhặt đồ và máu.
Preconditio n - Người chơi đang trong game.
Yêu cầu đặc biệt Không có.
- Người chơi đang ở trong game.
- Người chơi sử dụng bàn phím để điều khiển nhân vật, dùng chuột để sử dụng vũ khí tấn công kẻ địch
Luồng thay thế Không có.
Bảng 2.10: Điều khiển nhân vật
Mô tả Đây là hành động của kẻ địch, Turret và Drone.
Yêu cầu đặc biệt Không có.
- Người chơi đang ở màn hình chơi game.
- Kẻ địch sẽ dò tìm xem người chơi có ở trong vùng hoạt động của nó hay không, nếu có sẽ tấn công.
- Đối với Turret và Drone thì sẽ dò tìm xem kẻ địch có ở gần nó hay không, nếu có sẽ tấn công.
Luồng thay thế Không có
Tên Tấn công người chơi
Mô tả Khi kẻ địch dò tìm được nhân vật, nó sẽ truy đuổi tấn công người chơi.
Preconditio n Đã dò tìm được nhân vật.
Yêu cầu đặc biệt Không có
- Kẻ địch đã và đang truy sát nhân vật.
- Nếu trong tầm bắn, kẻ địch sẽ nổ súng tấn công nhân vật.
Luồng thay thế Không có
Bảng 2.12: Tấn công người chơi
Mô tả Kẻ dịch di chuyển để né đạn và tấn công người chơi hoặc tuần tra.
Yêu cầu đặc biệt Không có.
- Người chơi đang trong game.
- Nếu kẻ địch không trong trạng thái truy sát người chơi, kẻ địch sẽ di chuyển, tuần tra trong tầm hoạt động của nó.
Luồng thay thế Không có.
Khi người chơi bị tấn công bởi kẻ địch hoặc kẻ địch bị tấn công bởi người chơi thì sẽ nhận một lượng sát thương.
Kẻ địch, người chơi và Turret còn sống trong màn chơi.
Yêu cầu đặc biệt Không có
- Kẻ địch va chạm với đạn hoặc kỹ năng do người chơi bắn ra hoặc do Turret hoặc Drone người chơi tạo ra tấn công.
- Kẻ địch nhận sát thương
Luồng thay - Người chơi va chạm với đạn hoặc kỹ năng do kẻ thế địch bắn ra.
- Người chơi nhận sát thươngBảng 2.14: Nhận sát thương
Mô tả Khi kẻ địch hoặc Turret hết máu sẽ bị tiêu diệt.
Preconditio n Kẻ địch, Turret còn sống trong màn chơi
Postconditio n Kẻ địch hoặc Turret bị tiêu diệt.
Yêu cầu đặc biệt Không có.
- Kẻ địch hoặc Turret va chạm với đạn hoặc kỹ năng do người chơi bắn ra.
- Kẻ địch hoặc Turret bị phá hủy
Luồng thay thế Không có
THIẾT KẾ CẤU TRÚC
Vòng Lặp Game
Vòng lặp game theo quy trình như sau: người chơi nhấn nút start và bắt đầu tiến vào màn chơi 1, người chơi phải hoàn thành màn chơi nếu muốn chiến thắng Khi người chơi tiêu diệt kẻ địch sẽ có tỉ lệ rơi ra các vật phẩm hoặc vũ khí.
Tiến Trình Game
Người chơi phải chiến đấu với những kẻ địch, né tránh các đòn tấn công, kỹ năng từ kẻ địch Người chơi ngày càng tiến vào các màn chơi cam go, khó khăn hơn.
THIẾT KẾ GIAO DIỆN
Hình 5.1 Giao diện menu chính
Hình 5.2 Giao diện menu tùy chỉnh
Hình 5.3 Giao diện trong màn chơi
CÀI ĐẶT
Tải file zip về, giải nén ra và bật file exe để thưởng thức trò chơi.