Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
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