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

Đồ án spaceship invaders

53 8 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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ⬧⬧⬧ BÁO CÁO MÔN HỌC ĐỒ ÁN ĐỀ TÀI SPACESHIP INVADERS Lớp: SE121.N21.PMCL Giảng viên hướng dẫn: Đinh Nguyễn Anh Dũng Nhóm sinh viên thực hiện: Nguyễn Văn Thiên 20521952 Nguyễn Duy Minh Tuấn 20520845 Hồ Chí Minh, tháng năm 2023 Biên thay đổi tài liệu Thời gian Phiên 03/06/2023 1.0 Mô tả Tác giả Nguyễn Văn Thiên LỜI CẢM ƠN Nhóm em học tập rèn luyện Trường Đại học Công Nghệ Thông Tin, chuyên ngành Software Engineering năm Nhóm em xin cám ơn trường tạo điều kiện cho chúng em giao lưu học tập rèn luyện Và nhóm em xin cám ơn thầy Đinh Nguyễn Anh Dũng góp ý chân thành hướng dẫn chúng em hồn thành đồ án mơn học Trong q trình làm Đồ Án nhóm em có số sai sót mong thầy giảng viên hướng dẫn bỏ qua Nhờ giúp chúng em khơng ngừng nỗ lực phát triển, hoàn thiện thân để chuẩn bị cho Đồ Án môn học sau Một lần nữa, nhóm em xin chân thành cám ơn thầy Đinh Nguyễn Anh Dũng Thành phố Hồ Chí Minh ngày 03/06/2023 Thiên Nguyễn Văn Thiên MỤC LỤC CHƯƠNG 1: GIỚI THIỆU I Thông Tin Chung Thơng tin nhóm 2 Thông tin sơ lược đồ án Sơ lược công nghệ sử dụng II Thông Tin Sơ Lược Về Game Sơ lược thực thể đối tượng game Các yêu cầu chức 11 Các yêu cầu phi chức 11 CHƯƠNG 2: USE CASE 12 I Biểu Đồ 12 Người chơi(Player) 12 Kẻ địch thông thường 1(Enemy1) 12 Kẻ địch thông thường 2(Enemy2) 13 Kẻ địch thông thường 3(Enemy3) 14 Kẻ địch thông thường (Enemy4) 15 Kẻ địch thông thường (Enemy5_Missle Variant) 16 Quái vật(Boss) 17 Boss Xúc Tu (Tentacle Boss) 18 Quái vật (Boss2) 18 10 Thiên thạch cỡ lớn(Big Asteroid) 19 11 Thiên thạch cỡ vừa(Medium Asteroid) 20 12 Thiên thạch cỡ nhỏ(Small Asteroid) 20 II Danh Sách Actor 21 III Danh Sách Usecase 23 IV Đặc Tả Usecase 25 Mở hình chính(Main Menu) 25 Cài đặt 26 Mở hình tạm dừng(Pause Menu) 26 Bắt đầu game 27 Mở cửa hàng (Shop) 27 Thoát game 27 Tiếp tục chơi 28 Nâng cấp vũ khí 28 Hồi phục lượng 29 10 Điều khiển máy bay 30 11 Thu thập vật phẩm 30 12 Tấn công người chơi 31 13 Di chuyển 31 14 Nhận sát thương 32 15 Bị tiêu diệt 32 16 Phân chia 33 CHƯƠNG 3: THIẾT KẾ DỮ LIỆU 34 CHƯƠNG 4: THIẾT KẾ CẤU TRÚC 35 I Vòng Lặp Game 35 II Tiến Trình Game 35 CHƯƠNG 5: THIẾT KẾ GIAO DIỆN 36 I Danh Sách Giao Diện 36 II Chi Tiết Giao Diện 36 Màn hình chính(Main Menu) 36 Màn hình tạm dừng(Pause Menu) 37 Giao diện cửa hàng(Shop) 38 Thanh trạng thái vũ khí(Weapon State Bar) 39 Thanh trạng thái nhiên liệu(Fuel State Bar) 39 Thanh hiển thị điểm, tiền mạng(HUD) 40 Màn hình tùy chọn(Option) 40 Màn hình chíến thắng(Winning Scene) 41 Màn hình thua cuộc(Game Over Scene) 42 CHƯƠNG 6: CÀI ĐẶT 44 CHƯƠNG 7: KẾT LUẬN 45 I Kết Quả 45 II Một Số Hạn Chế 45 TÀI LIỆU THAM KHẢO 46 Tài liệu tiếng Anh: 46 Asset: 46 TÓM TẮT ĐỒ ÁN Đồ án tập trung vào việc phát triển trò chơi bắn máy bay Unity trình bày số kết đạt trình thực dự án Vấn đề nghiên cứu đồ án tạo trò chơi bắn máy bay hấp dẫn thú vị, sử dụng công nghệ Unity để xây dựng tảng tích hợp yếu tố trò chơi chuyển động, đồ họa âm Để giải vấn đề, tiến hành số hướng tiếp cận sau: − Thiết kế kỹ điều khiển cho người chơi để tạo trải nghiệm chơi game đa dạng thú vị − Thiết kế kẻ địch, quái vật làm cho người chơi có hứng thú đối đầu − Tạo hệ thống ghi điểm thăng cấp để khích lệ người chơi tiếp tục chơi cải thiện kỹ − Tối ưu hóa trị chơi để đảm bảo trải nghiệm mượt mà − Thiết kế hệ thống kỹ với hiệu ứng như: làm tê liệt, làm phương hướng, làm cho người chơi tăng tính tị mị Kết đạt sau thực dự án trò chơi bắn máy bay hấp dẫn thú vị, với đồ họa dễ nhìn, hiệu ứng âm sống động chế chơi game mượt mà Tóm lại, đồ án thành cơng việc phát triển trị chơi bắn máy bay sử dụng Unity, với yếu tố trò chơi hấp dẫn kết đạt chứng minh khả công nghệ Unity việc xây dựng trò chơi trực quan tương tác CHƯƠNG 1: GIỚI THIỆU I Thông Tin Chung Thông tin nhóm MSSV Họ tên Số điện thoại Email 20521952 Nguyễn Văn Thiên 0326 933 046 20521952@gm.uit.edu.vn 20520845 Nguyễn Duy Minh 20520845@gm.uit.edu.vn Tuấn Bảng 1.1: Thơng tin nhóm Thơng tin sơ lược đồ án − Tên đồ án: Tìm hiểu công nghệ Unity làm sản phẩm dựa cơng nghệ − Tên trị chơi: Spaceship Invaders − Công nghệ sử dụng: Unity Engine − Môi trường phát triển: Visual Studio / Visual Studio Code Sơ lược công nghệ sử dụng 3.1 Unity Engine Hình 1.1: Unity Unity Engine cross-platform game engine phát triển cơng ty Unity Technology, sử dụng nhằm mục đích phát triển video game 2D, 3D máy tính, điện thoại, console tảng thực tế ảo Được công bố phát hành lần vào tháng năm 2005 chạy hệ điều hành MacOS Nó sử dụng ngơn ngữ C# làm script Nó cịn sử dụng để làm phim, sử dụng ngành sản xuất ô tô Trong 2D games, Unity cho phép nhập sprites renderer giới 2D tiên tiến Đối với 3D games, Unity cho phép thiết lập đập điểm kỹ thuật kết cấu độ phân giải mà cơng cụ trị chơi hỗ trợ, cung cấp hỗ trợ cho bump mapping, reflection mapping, parallax mapping, cảnh không gian ambient occlusion (SSAO), hiệu ứng bóng đổ cách sử dụng shadow maps, render thiết lập toàn cảnh đến hiệu ứng Unity cung cấp 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, … 3.2 C Sharp Hình 1.2: C Sharp C#(C Sharp) ngơn ngữ lập trình hướng đối tượng đa năng, mạnh mẽ phát triển Microsoft Nó Microsoft phát triển dựa C++ Java C# thiết kế chủ yếu Anders Hejlsberg, kiến trúc sư phần mềm tiếng với 14 Nhận sát thương Tên Mô tả Nhận sát thương Khi người chơi bị công kẻ địch kẻ địch bị công người chơi nhận lượng sát thương Precondition Kẻ địch, thiên thạch lẫn người chơi sống chơi Postcondition Kẻ địch thiên thạch người chơi nhận sát thương Yêu cầu đặc biệt Kẻ địch lẫn người chơi không trạng thái - Kẻ địch thiên thạch va chạm với đạn kỹ Luồng người chơi bắn - Kẻ địch thiên thạch nhận sát thương - Người chơi va chạm với đạn kỹ kẻ địch bắn ra, Luồng thay thiên thạch - Người chơi nhận sát thương Bảng 2.16: Nhận sát thương 15 Bị tiêu diệt Tên Bị tiêu diệt Mô tả Khi kẻ địch thiên thạch nhỏ hết máu bị tiêu diệt Precondition Kẻ địch, thiên thạch nhỏ sống chơi Postcondition Kẻ địch thiên thạch nhỏ bị tiêu diệt Kẻ địch lẫn thiên thạch không trạng thái Yêu cầu đặc biệt lượng máu lại chúng thấp sát thương vũ khí người chơi - Kẻ địch thiên thạch va chạm với đạn kỹ Luồng người chơi bắn - Kẻ địch thiên thạch biến Luồng thay Không có Bảng 2.17: Bị tiêu diệt 32 16 Phân chia Tên Mô tả Phân chia Khi thiên thạch thiên thạch nhỏ hết máu, chúng phân chia thành thiên thạch nhỏ Precondition Thiên thạch sống chơi Postcondition Thiên thạch bị chia Yêu cầu đặc biệt Thiên thạch thiên thạch nhỏ - Thiên thạch va chạm với đạn kỹ người chơi bắn Luồng - Thiên thạch biến Hai thiên thạch nhỏ xuất vị trí bay theo hướng ngẫu nhiên khoảng 180 độ tính từ hướng thiên thạch gốc Luồng thay Khơng có Bảng 2.18: Phân chia 33 CHƯƠNG 3: THIẾT KẾ DỮ LIỆU Dữ liệu người chơi lưu trữ file có tên data.Game Nó lưu trữ cục máy Đầu tiên liệu lưu biến lớp GameData.cs, sau chuyển qua JSON lưu vào file Dưới số liệu lưu: Dữ liệu Mô tả Lưu trữ điểm số player kết thúc Score chơi người chơi thoát game Lưu trữ mạng player kết thúc Life chơi người chơi thoát game Lưu trữ tiền player kết thúc Coin chơi người chơi thoát game Lưu trữ cấp độ vũ khí LevelBullet player kết thúc chơi người chơi thoát game Lưu trữ lượng player Energy kết thúc chơi người chơi thoát game Level Lưu chơi player 34 CHƯƠNG 4: THIẾT KẾ CẤU TRÚC I Vòng Lặp Game Vịng lặp game theo quy trình sau: người chơi nhấn nút start bắt đầu tiến vào chơi 1, người chơi phải hoàn thành chơi muốn chiến thắng Khi người chơi tiêu diệt kẻ địch có tỉ lệ rơi vật phẩm Người chơi tạm dừng mua đồ shop II Tiến Trình Game Người chơi phải chiến đấu với kẻ địch, né tránh địn cơng, kỹ từ kẻ địch Thu thập tiền vàng để nâng cấp vũ khí, nạp lượng Người chơi ngày tiến vào chơi cam go, khó khăn 35 CHƯƠNG 5: THIẾT KẾ GIAO DIỆN I Danh Sách Giao Diện STT Tên giao diện Ghi Màn hình chính(Main Menu) Màn hình tạm dừng(Pause Menu) Giao diện cửa hàng(Shop) Thanh trạng thái vũ khí(Weapon State Bar) Thanh trạng thái nhiên liệu(Fuel State Bar) Thanh hiển thị điểm, tiền mạng (HUD) Màn hình tùy chọn (Option) Màn hình chiến thắng(Winning Scene) Màn hình thua cuộc(Game Over Scene) Bảng 5.1: Danh sách giao diện II Chi Tiết Giao Diện Màn hình chính(Main Menu) Đây hình người dùng tương tác khởi động trò chơi.Màn hình cho phép người dùng hiển thị hình tùy chọn(Option) để thay đổi số cài đặt như: tốc độ chuột, âm lượng Cho phép người chơi tiếp tục chơi chơi 36 Hình 5.1: Màn hình chính(Main Menu) Màn hình tạm dừng(Pause Menu) Màn hình cho phép người dùng mua đồ shop (như: tăng cấp vũ khí, hồi phục nhiên liệu), hiển thị hình tùy chọn(Option) quay hình chính(Main Menu) 37 Hình 5.2: Màn hình tạm dừng(Pause Menu) Giao diện cửa hàng(Shop) Cho phép người dùng nâng cấp vũ khí hồi phục nhiên liệu máy bay 38 Hình 5.3: Giao diện cửa hàng(Shop) Thanh trạng thái vũ khí(Weapon State Bar) Hiển thị vũ khí cấp độ vũ khí Hình 5.4: Thanh trạng thái vũ khí(Weapon State Bar) Thanh trạng thái nhiên liệu(Fuel State Bar) Hiển thị trạng thái nhiên liệu máy bay Khi nhiên liệu cịn tốc độ nhân vật bị giảm đáng kể 39 Hình 5.5: Thanh trạng thái nhiên liệu(Fuel State Bar) Thanh hiển thị điểm, tiền mạng(HUD) Hiển thị điểm, mạng tiền người chơi Hình 5.6: HUD Màn hình tùy chọn(Option) Cho phép người dùng thay đổi tốc độ chuột thay đổi âm lượng nhạc nền, đạn, … 40 Hình 5.7: Màn hình tùy chọn(Option) Màn hình chíến thắng(Winning Scene) Hiển thị sau người chơi hoàn thành chơi Người chơi chơi tiếp chơi hình chính(Main Menu) 41 Hình 5.8: Màn hình chiến thắng Màn hình thua cuộc(Game Over Scene) Hiển thị người dùng thua cuộc, người dùng chơi lại chơi quay hình chính(Main Menu) 42 Hình 5.9: Màn hình thua 43 CHƯƠNG 6: CÀI ĐẶT Tải file zip SpaceshipInvaders.rar về, giải nén bật Spaceship_Invaders.exe để thưởng thức trò chơi Link file zip: https://drive.google.com/file/d/1C6kyj1mKo9OiqYeDtHOn0tX7HGwDX2JD/view? usp=sharing 44 CHƯƠNG 7: KẾT LUẬN I Kết Quả − Hồn thành gần 100% tính lên kế hoạch − Tích hợp âm làm cho game sống động − Hệ thống kỹ năng, hiệu ứng làm cho game thú vị − Thêm số tính − Người chơi dễ dàng nắm bắt trạng thái vũ khí, lượng cịn lại phi thuyền II Một Số Hạn Chế − Không có nhiều độ khó khác − Game chơi Windows 10 − Không hỗ trợ đa ngôn ngữ − Game chưa hỗ trợ nhiều người chơi chung 45 TÀI LIỆU THAM KHẢO Tài liệu tiếng Anh: − https://awesometuts.com/blog/unity-2d-game-tutorial-5/ − https://bergstrand-niklas.medium.com/setting-up-a-simple-game-manager-inunity-24b080e9516c − https://catlikecoding.com/unity/tutorials/towerdefense/enemies/?fbclid=IwAR3j4bKiO3cRqN0yCnvL8nyMxW3SNv0GtA 2jNColZJlChAYyW0TiBePKaQs − https://docs.unity.com/ − https://online.visual-paradigm.com/diagrams/tutorials/use-case-diagramtutorial/ − https://www.loekvandenouweland.com/content/calculate-random-point-oncircle-edge-in-unity3d.html − https://www.youtube.com/watch?v=hkaysu1Z-N8 − https://www.youtube.com/watch?v=sZp8746MR1Y Asset: − https://bdragon1727.itch.io/free-effect-bullet-impact-explosion-32x32 − https://dribbble.com/shots/20600854-Free-Spaceship-Pixel-Art-Sprite-Sheets − https://free-game-assets.itch.io/free-enemy-spaceship-2d-sprites-pixel-art − https://sungraphica.itch.io/sci-fi-game-ui-collection-free-version − https://www.freepik.com/search?format=search&last_filter=selection&last_v alue=1&query=game%20hud&selection=1 − https://www.freepik.com/free-vector/cartoon-crystal-uicollection_18841266.htm#query=game%20ui%20assets&position=0&from_ view=search&track=ais 46

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

Xem thêm:

w