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

Xây dựng game 2d bắn phi thuyền vũ trụ với unity

71 10 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 71
Dung lượng 3,75 MB

Nội dung

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỒ ÁN XÂY DỰNG GAME 2D BẮN PHI THUYỀN VŨ TRỤ VỚI UNITY GV HƯỚNG DẪN: ĐINH NGUYỄN ANH DŨNG SV THỰC HIỆN: Dín Hiền Dũng - 20521205 Nguyễn Hồng Phúc - 20521768 TP HỒ CHÍ MINH, 2023 LỜI CẢM ƠN Lời em xin chân thành cảm ơn hướng dẫn tận tình thầy Đinh Nguyễn Anh Dũng - giảng viên hướng dẫn Đồ án hỗ trợ thông tin cần thiết giải đáp thắc mắc cho nhóm suốt q trình thực đề tài Đồng thời nhóm em muốn gửi lời cảm ơn đến anh chị khóa trên, đặc biệt anh chị khoa chia sẻ kinh nghiệm quý báu môn học kiến thức liên quan Vì kiến thức chúng em cịn hạn hẹp nên khơng thể tránh khỏi thiếu sót q trình thực đồ án Vì nhóm chúng em ln mong đợi nhận ý kiến đóng góp q báu từ phía giảng viên để qua rút kinh nghiệm, tự sửa chữa, hồn thiện thân tinh thần nghiêm túc, tự giác học hỏi Một lần nhóm chúng em xin chân thành cảm ơn thầy Thành phố Hồ Chí Minh, 05 tháng 07 năm 2023 Sinh viên DÍN HIỀN DŨNG NGUYỄN HỒNG PHÚC MỤC LỤC Chương MỞ ĐẦU 1.1 Tổng quan đề tài 1.2 Lý chọn đề tài 1.3 Mục tiêu 1.4 Phạm vi nghiên cứu Chương CƠ SỞ LÝ THUYẾT 2.1 Unity 2.2 Aseprite 2.3 C# 2.4 Microsoft Visual Studio Chương THIẾT KẾ VÀ PHÁT TRIỂN 3.1 Tổng quan 3.1.1 Tên game 3.1.2 Thể loại 3.2 Gameplay 3.2.1 Mục tiêu 3.2.2 Tiến trình 3.3 Thiết kế 3.3.1 Game manager 3.3.2 Background 3.3.3 Base Class 3.3.4 Ship 3.3.5 Ability 3.3.6 Spawner 3.3.7 Despawn 3.3.8 Bullet 3.3.9 Laser 3.3.10 Enemy 3.3.11 Item 3.3.12 WaveManager 3.3.13 LevelManager 3.3.14 User interface Chương THIẾT KẾ CLASS 4.1 Class Diagram 4.1.1 Ship Class Diagram 4.1.2 Enemy Class Diagram 4.1.3 Bullet Class Diagram 4.1.4 Level and Wave Class Diagram 4.1.5 Item Class Diagram 4.1.6 Ability Class Diagram 4.2 Danh sách class 4.2.1 Danh sách class thuộc ShipPlayer 4.2.2 Danh sách class thuộc Enemy 4.2.3 Danh sách class thuộc Bullet 4.2.4 Danh sách class thuộc Level and Wave 4.2.5 Danh sách class thuộc Item 4.2.6 Danh sách class thuộc Ability Chương USE CASE 5.1 Sơ đồ USE CASE 5.1.1 Player 5.1.2 Enemy 5.2 Danh sách tác nhân 5.3 Danh sách USE CASE 5.4 Mô tả chi tiết USE CASE 5.4.1 Trở hình 5.4.2 Chọn phi thuyền 5.4.3 Chọn chơi 5.4.4 Xem thông tin nhà phát triển 5.4.5 Di chuyển người chơi 5.4.6 Sử dụng kỹ 5.4.7 Gây sát thương 5.4.8 Nhận sát thương 5.4.9 Nhặt vật phẩm 5.4.10 Rơi vật phẩm 5.4.11 Di chuyển Enemy Chương TỔNG KẾT 6.1 Kết đạt 6.2 Hạn chế 6.3 Hướng phát triển DANH MỤC HÌNH Hình 1.1 Một số game shoot ’em up phổ biến Hình 2.1 Unity game engine Hình 2.2 Giao diện unity Hình 2.3 Sự khác biệt phép chiếu perspective phép chiếu orthographic Hình 2.4 Logo Aseprite 10 Hình 2.5 Hình 2.5 C# Logo 11 Hình 2.6 Microsoft Visual Studio Logo 12 Hình 3.1 Spacewar! Trên hệ máy PDP-1 14 Hình 3.2 Code di chuyển cho background 16 Hình 3.3 Lớp sở GameMonoBehaviour 17 Hình 3.4 Ảnh Ship_1 18 Hình 3.5 Cấu trúc ShipController 19 Hình 3.6 Cấu trúc chung GameObject Ship 19 Hình 3.7 Cấu trúc Ability 20 Hình 3.8 Cấu trúc Component Script Spawner 21 Hình 3.9 Lớp Abstract Despawn 23 Hình 3.10 Hàm CanDespawn triển khai lớp DespawnByDistance 24 Hình 3.11 Hàm CanDespawn triển khai lớp DespawnByTime 24 Hình 3.12 Bullet Shuriken 25 Hình 3.13 Cấu trúc lớp BullerController 26 Hình 3.14 Cấu trúc GameObject Bullet 26 Hình 3.15 Laser 27 Hình 3.16 Enemy 28 Hình 3.17 Cấu trúc lớp BullerController 29 Hình 3.18 Cấu trúc GameObject Bullet 29 Hình 3.19 Asteroid 30 Hình 3.20 Boss Battlecruiser 30 Hình 3.21 Item 31 Hình 3.22 Cấu trúc Script WaveManager 32 Hình 3.23 Từng vị trí Formation xác định 33 Hình 3.24 Cấu trúc LevelManager 34 Hình 3.25 Màn hình 36 Hình 3.26 Màn hình chọn phi thuyền 36 Hình 3.27 Màn hình thơng tin nhà phát 37 Hình 3.28 Màn hình chọn chơi 37 Hình 3.29 Màn hình GamePlay 38 Hình 3.30 Màn hình tạm dừng 38 Hình 3.31 Màn hình thua 39 Hình 3.32 Màn hình thắng chơi 39 Hình 4.1 Ship Class Diagram 40 Hình 4.2 Enemy Class Diagram 41 Hình 4.3 Bullet Class Diagram 42 Hình 4.4 Level and Wave Class Diagram 43 Hình 4.5 Item Class Diagram 44 Hình 4.6 Ability Class Diagram 45 Hình 5.1 Player Use Case Diagram 51 Hình 5.2 Enemy Use Case Diagram 52 DANH MỤC BẢNG Bảng 4.1 Bảng danh sách class thuộc ShipPlayer 46 Bảng 4.2 Bảng danh sách class thuộc Enemy 47 Bảng 4.3 Bảng danh sách class thuộc Bullet 48 Bảng 4.4 Bảng danh sách class thuộc Level and Wave 49 Bảng 4.5 Bảng danh sách class thuộc Item 49 Bảng 4.6 Bảng danh sách class thuộc Ability 50 Bảng 5.1 Bảng danh sách tác nhân 53 Bảng 5.2 Bảng danh sách USE CASE 54 Bảng 5.3 Bảng mô tả chi tiết use case trở hình 54 Bảng 5.4 Bảng mơ tả chi tiết use case chọn phi thuyền 55 Bảng 5.5 Bảng mô tả chi tiết use case chọn chơi 56 Bảng 5.6 Bảng mô tả chi tiết use case xem thông tin nhà phát triển 56 Bảng 5.7 Bảng mô tả chi tiết use case di chuyển người chơi 57 Bảng 5.8 Bảng mô tả chi tiết use case sử dụng kỹ 57 Bảng 5.9 Bảng mô tả chi tiết use case gây sát thương 58 Bảng 5.10 Bảng mô tả chi tiết use case nhận sát thương 59 Bảng 5.11 Bảng mô tả chi tiết use case nhặt vật phẩm 60 Bảng 5.12 Bảng mô tả chi tiết use case rơi vật phẩm 60 Bảng 5.13 Bảng mô tả chi tiết use case di chuyển Enemy 61 TĨM TẮT ĐỒ ÁN Ngày nay, ngành cơng nghiệp trò chơi điện tử ngành lớn phát triển nhanh xung quanh, cung cấp việc làm cho nhiều người có thị trường lớn Từ năm 1950 nay, nhiều thể loại trò chơi điện tử khác tạo phù hợp với thị hiếu nhiều người khác Trong số đó, trị chơi Shoot 'em up chủ yếu bao gồm người chơi cố gắng hoàn thành trò chơi tránh chướng ngại vật khác bao gồm kẻ thù, vật thể môi trường loại đạn khác Chúng em ln quan tâm đến việc tự phát triển thứ, điều dẫn chúng em cân nhắc thực dự án này: trò chơi điện tử 2D thuộc thể loại bắn súng, mà chúng em đặt tên Space Invader UT2D Đồ án tập trung vào việc phát triển trò chơi 2D bắn phi thuyền vũ trụ với giao diện người dùng hấp dẫn, hệ thống gameplay phong phú đồ họa đẹp mắt Trò chơi phát triển tảng Unity, công cụ phổ biến lĩnh vực phát triển trò chơi Bằng cách tạo Space Invader UT2D, chúng em học cách thiết kế trò chơi điện tử phát triển Quá trình bao gồm việc sử dụng các công cụ thiết kế đồ họa Aseprite, công cụ Unity ngôn ngữ lập trình C# để kết hợp chúng thành trị chơi hoạt động trơn tru Sử dụng asset 2D miễn phí mạng số chúng em tự thiết kế Aseprite, chúng thiết kế nhiều đối tượng đồ họa cho trò chơi bao gồm phi thuyền khơng gian khác nhau, phi thuyền Boss phức tạp đa dạng vật thể vật phẩm loại đạn chơi Phần cuối khóa luận trình bày kết thực lên báo cáo, đưa kết luận hướng phát triển cho hệ thống tương lai Nội dung khóa luận trình bày chương: - Chương 01: MỞ ĐẦU Trình bày sơ thực trạng, nhu cầu thực tế Xác định mục tiêu phạm vi đề tài - Chương 02: CƠ SỞ LÝ THUYẾT Giới thiệu, trình bày kiến thức kỹ thuật, cơng nghệ mà nhóm sử dụng - Chương 03: THIẾT KẾ VÀ PHÁT TRIỂN Trình bày, phân tích thiết kế thành phần cốt lõi trò chơi - Chương 04: THIẾT KẾ CLASS Trình bày chi tiết mơ hình đối tượng sử dụng trị chơi thơng qua CLASS DIAGRAM - Chương 5: USE CASE Trình bày chi tiết nội dung thiết kế USE CASE trị mơi - Chương 6: TỔNG KẾT Những kết đạt sau kết thúc đồ án Những hạn chế, khó khăn trình phát triển đồ án nêu hướng phát triển tương lai NỘI DUNG KHÓA LUẬN

Ngày đăng: 04/09/2023, 20:42

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Một số game shoot ’em up phổ biến - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 1.1 Một số game shoot ’em up phổ biến (Trang 11)
Hình 2.1 Unity game engine - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 2.1 Unity game engine (Trang 14)
Hình 2.2 Giao diện unity - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 2.2 Giao diện unity (Trang 15)
Hình 2.3 Sự khác biệt giữa phép chiếu perspective và phép chiếu orthographic - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 2.3 Sự khác biệt giữa phép chiếu perspective và phép chiếu orthographic (Trang 17)
Hình 2.6 Microsoft Visual Studio Logo - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 2.6 Microsoft Visual Studio Logo (Trang 21)
Hình 3.1 Spacewar! Trên hệ máy PDP-1 - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.1 Spacewar! Trên hệ máy PDP-1 (Trang 23)
Hình 3.2 Code di chuyển cho background - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.2 Code di chuyển cho background (Trang 25)
Hình 3.5 Cấu trúc của ShipController - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.5 Cấu trúc của ShipController (Trang 28)
Hình 3.7 Cấu trúc của Ability Các ShipPlayer được xây dựng bao gồm: - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.7 Cấu trúc của Ability Các ShipPlayer được xây dựng bao gồm: (Trang 29)
Hình 3.8 Cấu trúc Component Script của một Spawner - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.8 Cấu trúc Component Script của một Spawner (Trang 30)
Hình 3.9 Lớp Abstract Despawn - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.9 Lớp Abstract Despawn (Trang 32)
Hình 3.11 Hàm CanDespawn được triển khai trong lớp DespawnByTime - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.11 Hàm CanDespawn được triển khai trong lớp DespawnByTime (Trang 33)
Hình 3.14 Cấu trúc của GameObject Bullet - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.14 Cấu trúc của GameObject Bullet (Trang 35)
Hình 3.15 Laser - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.15 Laser (Trang 36)
Hình 3.20 Boss Battlecruiser - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.20 Boss Battlecruiser (Trang 39)
Hình 3.22 Cấu trúc của Script WaveManager - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.22 Cấu trúc của Script WaveManager (Trang 41)
Hình 3.23 Từng vị trí trong Formation được xác định Các loại đội hình đã được xây dựng bao gồm: - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.23 Từng vị trí trong Formation được xác định Các loại đội hình đã được xây dựng bao gồm: (Trang 42)
Hình 3.24. Cấu trúc của LevelManager - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.24. Cấu trúc của LevelManager (Trang 43)
Hình 3.25 Màn hình chính Hình 3.26 Màn hình ch n phi thuy n ọa pixel bắt mắt, hấp dẫn - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.25 Màn hình chính Hình 3.26 Màn hình ch n phi thuy n ọa pixel bắt mắt, hấp dẫn (Trang 45)
Hình 3.27 Màn hình thông tin nhà phát - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.27 Màn hình thông tin nhà phát (Trang 46)
Hình 3.29 Màn hình GamePlay Hình 3.30 Màn hình t m d ng ạm dừng ừng - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 3.29 Màn hình GamePlay Hình 3.30 Màn hình t m d ng ạm dừng ừng (Trang 47)
Hình 4.1 Ship Class Diagram - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 4.1 Ship Class Diagram (Trang 49)
Hình 4.2 Enemy Class Diagram - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 4.2 Enemy Class Diagram (Trang 50)
Hình 4.3 Bullet Class Diagram - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 4.3 Bullet Class Diagram (Trang 51)
Hình 4.4 Level and Wave Class Diagram - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 4.4 Level and Wave Class Diagram (Trang 52)
Hình 4.5 Item Class Diagram - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 4.5 Item Class Diagram (Trang 53)
Hình 4.6 Ability Class Diagram - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 4.6 Ability Class Diagram (Trang 54)
Bảng 4.6 Bảng danh sách class thuộc Ability - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Bảng 4.6 Bảng danh sách class thuộc Ability (Trang 59)
Hình 5.2 Enemy Use Case Diagram - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Hình 5.2 Enemy Use Case Diagram (Trang 60)
Bảng 5.11 Bảng mô tả chi tiết use case nhặt vật phẩm - Xây dựng game 2d bắn phi thuyền vũ trụ với unity
Bảng 5.11 Bảng mô tả chi tiết use case nhặt vật phẩm (Trang 67)
w