1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án se121 game nft turnbased – colossal

44 14 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 44
Dung lượng 2,32 MB

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO MÔN HỌC ĐỒ ÁN – SE121 Game NFT Turnbased – Colossal Giảng viên hướng dẫn: Ths Lê Thanh Trọng Sinh viên thực hiện: Trần Nguyên Tiến Nam 19521871 Phạm Hồi Bảo 19520406 TP Hồ Chí Minh, tháng 03 năm 2022 LỜI CẢM ƠN Nhóm em trân trọng cảm ơn thầy Lê Thanh Trọng tạo điều kiện hướng dẫn chúng em để chúng em có hội thử thách thân mơn học Trải qua 14 tuần tìm tịi, nghiên cứu phát triển cho chúng em nhìn chi tiết thách thức vừa hấp dẫn vừa chông gai nhà phát triển game Chúng em tin kiến thức kinh nghiệm hỗ trợ chúng em nhiều đường nghiệp tới Một lần nữa, cảm ơn thầy đồng hành hỗ trợ nhóm chúng em mơn học NHẬN XÉT CỦA GIẢNG VIÊN LỜI CẢM ƠN NHẬN XÉT CỦA GIẢNG VIÊN DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU BẢNG PHÂN CÔNG, ĐÁNH GIÁ THÀNH VIÊN Chương TỔNG QUAN 10 1.1 Tổng quan đề tài 10 1.2 Lý chọn đề tài 10 1.3 Mục tiêu 11 1.4 Phạm vi 12 Chương TỔNG QUAN CÔNG NGHỆ 13 2.1 Unity 13 2.2 NFT 14 2.3 ChainSafe 17 2.4 Mirror Networking 18 Chương THIẾT KẾ GAME 20 3.1 Tổng quan 20 3.1.1 Tên game 20 3.1.2 Thể loại 20 3.2 Gameplay 20 3.2.1 Mục tiêu 20 3.2.2 Tiến trình 20 3.3 Cơ chế game 20 3.3.1 Cơ chế tác động số 20 3.3.2 Cơ chế tính sát thương 21 3.3.3 Cơ chế hồi chiêu 21 3.3.4 Cơ chế thảy xúc xắc 21 Chương USE CASE 22 4.1 Use case diagram 22 4.2 Danh sách actor 22 4.3 Danh sách use case 23 4.4 Đặc tả use case 24 4.4.1 Use case “Đăng nhập” 24 4.4.2 Use case “Thoát game” 24 4.4.3 Use case “Vào phòng chờ trận” 24 4.4.4 Use case “Tạo phòng chờ trận” 25 4.4.5 Use case “Chọn nhân vật” 25 4.4.6 Use case “Sẵn sàng vào trận” 26 4.4.7 Use case “Bắt đầu trận” 26 4.4.8 Use case “Thốt phịng chờ trận” 26 4.4.9 Use case “Xem danh sách nhân vật có” 27 4.4.10 Use case “Xem danh sách tất nhân vật game” 27 4.4.11 Use case “Sử dụng kỹ năng” 28 4.4.12 Use case “Xem thông tin chi tiết nhân vật trận đấu” 28 4.4.13 Use case “Kết thúc lượt” 28 4.4.14 Use case “Thoát trận” 29 4.4.15 Use case “Xem kết trận đấu” 29 Chương THIẾT KẾ CLASS 30 5.1 Class diagram 30 5.2 Danh sách class 30 5.2.1 Danh sách class Server quản lý 30 5.2.2 Danh sách class Client quản lý 31 5.2.3 Danh sách class cục 31 Chương THIẾT KẾ GIAO DIỆN 32 6.1 Giao diện “Đăng nhập” 32 6.2 Giao diện “Bảng chọn chính” 32 6.3 Giao diện “Tìm trận” 33 6.4 Giao diện “Sảnh chờ” 34 6.5 Giao diện “Chọn nhân vật” 36 6.6 Giao diện “Đấu trường” 37 6.7 Giao diện “Thông tin nhân vật” 38 6.8 Giao diện “Xác nhận thoát trận” 39 6.9 Giao diện “Thông báo kết trận đấu” 40 Chương MARKETPLACE VÀ VÍ BLOCKCHAIN 41 7.1 Marketplace 41 7.2 Collection 41 7.3 Vật phẩm NFT 41 7.4 Ví BlockChain 42 Chương TỔNG KẾT 43 8.1 Kết 43 8.2 Hạn chế 43 8.3 Source Code 43 8.4 Cài đặt 43 8.5 Hướng phát triển 43 8.5.1 Tái cấu trúc hệ thống 43 8.5.2 Cải thiện trải nghiệm đồ họa 43 8.5.3 Cải thiện trải nghiệm gameplay 44 8.5.4 Cải thiện trải nghiệm âm 44 DANH MỤC HÌNH ẢNH Figure 1: Game NTF Axie Infinity 10 Figure 2: Gameplay Axie Infinity 11 Figure 3: Game Engine Unity 13 Figure 4: Giao diện Unity 14 Figure 5: Nền tảng blockchain Ethereum 15 Figure 6: Ví tiền điện tử MetaMask 15 Figure 7: NFT Marketplace OpenSea 16 Figure 8: Giao diện sưu tập NFT marketplace OpenSea 16 Figure 9: Thông tin chi tiết NFT (1) 17 Figure 10: Thông tin chi tiết NFT (2) 17 Figure 11: ChainSafe SDK 18 Figure 12: Mirror Netwworking 18 Figure 13: Use case diagram 22 Figure 14: Class diagram 30 Figure 15: Giao diện "Đăng nhập" 32 Figure 16: Giao diện "Bảng chọn chính" 33 Figure 17: Giao diện "Tìm trận" 34 Figure 18: Giao diện "Sảnh chờ" 35 Figure 19: Giao diện "Chọn nhân vật" 36 Figure 20: Giao diện "Đấu trường" 37 Figure 21: Giao diện "Thông tin nhân vật" 39 Figure 22: Giao diện "Xác nhận thoát trận" 40 Figure 23: Giao diện "Thông báo kết trận đấu" 40 Figure 24: Thông tin chi tiết NFT A Piece of Holly See (1) 42 Figure 25: Thông tin chi tiết NFT A Piece of Holly See (2) 42 DANH MỤC BẢNG BIỂU Table 1: Danh sách actor 23 Table 2: Danh sách use case 23 Table 3: Đặc tả use case "Đăng nhập" 24 Table 4: Đặc tả use case "Thoát game" 24 Table 5: Đặc tả use case "Vào phòng chờ trận" 24 Table 6: Đặc tả use case "Tạo phòng chờ trận" 25 Table 7: Đặc tả use case "Chọn nhân vật" 25 Table 8: Đặc tả use case "Sẵn sàng vào trận" 26 Table 9: Đặc tả use case "Bắt đầu trận" 26 Table 10: Đặc tả use case "Thốt phịng chờ trận" 26 Table 11: Đặc tả use case " Xem danh sách nhân vật có" 27 Table 12: Đặc tả use case "Xem danh sách tất nhân vật game" 27 Table 13: Đặc tả use case "Sử dụng kỹ năng" 28 Table 14: Đặc tả use case “Xem thông tin chi tiết nhân vật trận đấu” 28 Table 15: Đặc tả use case "Kết thúc lượt" 28 Table 16: Đặc tả use case "Thoát trận" 29 Table 17: Đặc tả use case "Xem kết trận đấu" 29 Table 18: Danh sách class Server quản lý 30 Table 19: Danh sách class Client quản lý 31 Table 20: Danh sách class cục 31 Table 21: Mô tả giao diện “Đăng nhập" 32 Table 22: Bảng mơ tả giao diện "Bảng chọn chính" 33 Table 23: Bảng mô tả giao diện "Tìm trận" 34 Table 24: Bảng mô tả giao diện "Sảnh chờ" 35 Table 25: Mô tả giao diện "Chọn nhân vật" 36 Table 26: Bảng mô tả giao diện "Đấu trường" 38 Table 27: Bảng mô tả giao diện "Thông tin nhân vật" 39 Table 28: Bảng mơ tả giao diện "Xác nhận trận" 40 BẢNG PHÂN CÔNG, ĐÁNH GIÁ THÀNH VIÊN Họ tên MSSV Trần Nguyên Tiến Nam 19521871 Phân công - Chuẩn bị asset (Môi trường, UI, audio) - Thiết kế đồ họa, kỹ năng, cốt truyện nhân vật - Thiết kế giao diện Phạm Hoài Bảo 19520406 - Thiết kế lối chơi - Phát triển logic giao diện, gameplay Đánh giá Chương TỔNG QUAN 1.1 Tổng quan đề tài • Tên ứng dụng: Colossal • Chủ đề chính: Multiplayer Game sử dụng Vật phẩm NFT từ BlockChain Wallet • Nền tảng phát triển: cross-platfrom PC standalone (Windows, Linux) + Android • Kiến trúc phát triển: Host-Client • Cơng nghệ: Unity game engine, Mirror Netwoking, ChainSafe system 1.2 Lý chọn đề tài Hiện nay, game NFT lên xu hướng toàn cầu không giới game thủ truyền thống mà cịn với người dùng bình thường, hay người muốn chơi để kiếm tiền Đa phần công ty game khơng muốn nằm ngồi chơi béo bở Ngay ông lớn ngành công nghiệp game Ubisoft, Nintendo hay EA thể mối quan tâm rõ ràng Kết hợp với thị trường game di động giàu tiềm năng, thể loại game NFT lôi kéo số lượng lớn người chơi ngày Figure 1: Game NTF Axie Infinity 10 Chương THIẾT KẾ CLASS 5.1 Class diagram Figure 14: Class diagram 5.2 Danh sách class 5.2.1 Danh sách class Server quản lý Table 18: Danh sách class Server quản lý Mô tả Lớp PlayerHub Hiển thị thông tin số nhân vật game, xử lí Server sau gửi Data cho Client Character Selection Lớp Static lưu giữ thông tin nhân vật chọn từ trước Nhằm Load Character bắt đầu Server, đồng thời nguồn để Server tìm kiếm thông tin Character để xác nhận yêu cầu từ LocalPlayer BattleHandler Lưu giữ trạng thái trận đấu, thông tin Client Xử lí logic game 30 Nhận u cầu từ LocalPLayer Trả thơng tin xử lí RPC cho Client cập nhật 5.2.2 Danh sách class Client quản lý Table 19: Danh sách class Client quản lý Lớp Mô tả Quản lý thông tin connection người dùng Player Cập nhật thay đổi số để thay đổi UI CharacterMoveSet Quản lý kỹ nhân vật để gửi thơng tin đến server Quản lý số nhân vật Unit 5.2.3 Danh sách class cục Table 20: Danh sách class cục Lớp PlayerUI Mô tả Cập nhật thông tin lên UI cho người dùng từ data gửi từ Server 31 Chương THIẾT KẾ GIAO DIỆN 6.1 Giao diện “Đăng nhập” - Giao diện Figure 15: Giao diện "Đăng nhập" - Mô tả đối tượng giao diện Table 21: Mô tả giao diện “Đăng nhập" STT Tên Tên game Tên người chơi Chơi Thốt Hình Kiểu Text Textbox Button Button Image 6.2 Giao diện “Bảng chọn chính” - 32 Giao diện Ý nghĩa Tên game Điền tên người chơi Bắt đầu game Thốt game Trang trí Ghi Figure 16: Giao diện "Bảng chọn chính" - Mơ tả đối tượng giao diện Table 22: Bảng mô tả giao diện "Bảng chọn chính" STT Tên Tên game Đấu trường Text Button Hành trang Button Quay lại Button Hình Image 6.3 Giao diện “Tìm trận” - 33 Giao diện Kiểu Ý nghĩa Tên game Mở giao diện “Tìm trận” Mở giao diện “Hành trang” Quay lại hình trước Trang trí Ghi Figure 17: Giao diện "Tìm trận" - Mơ tả đối tượng giao diện Table 23: Bảng mô tả giao diện "Tìm trận" STT Tên Tên game Tìm trận Tạo trận Quay lại Kiểu Text Button Button Button Hình Image 6.4 Giao diện “Sảnh chờ” - 34 Giao diện Ý nghĩa Tên game Tìm trận đấu Tạo trận đấu Quay lại hình trước Trang trí Ghi Figure 18: Giao diện "Sảnh chờ" - Mô tả đối tượng giao diện Table 24: Bảng mô tả giao diện "Sảnh chờ" STT Quay lại Kiểu Button Tên người chơi Text Sẵn sàng Checkbox Nhân vật trước Image Nhân vật chọn Image Nhân vật sau Image Nhân vật trước Button Nhân vật sau Button Tên nhân vật Text 35 Tên Ý nghĩa Ghi Quay lại hình “Tìm trận” Hiển thị tên người chơi Hiển thị trạng thái sẵn sàng người chơi Nhân vật trước nhân vật chọn danh sách Nhân vật chọn Nhân vật sau nhân vật chọn danh sách Chọn nhân vật trước nhân vật chọn danh sách Chọn nhân vật sau nhân vật chọn danh sách Hiển thị tên nhân 10 Sẵn sàng Button 11 Bắt đầu Button vật chọn Xác nhận sẵn sàng vào trận Bắt đầu trận đấu người chơi sẵn sàng 6.5 Giao diện “Chọn nhân vật” - Giao diện Figure 19: Giao diện "Chọn nhân vật" - Mô tả đối tượng giao diện Table 25: Mô tả giao diện "Chọn nhân vật" STT 36 Kiểu Ý nghĩa Thông tin nhân vật Tên nhân vật Text Biểu thị tên nhân vật Chỉ số HP Text Biểu thị HP nhân vật Chỉ số ATK Text Biểu thị ATK nhân vật Chỉ số PRT Text Biểu thị PRT nhân vật Nhân vật chọn Image Biểu thị ngoại hình nhân vật Nhân vật trước Image Biểu thị ngoại hình nhân vật trước Tên Ghi Nhân vật Image Tên kỹ Text Chú thích kỹ Text 10 Thời gian hồi chiêu Text 11 Trước 12 Kế tiếp 13 Chọn nhân vật chọn danh sách Biểu thị ngoại hình nhân vật sau nhân vật chọn danh sách Biểu thị tên kỹ Mô tả công dụng kỹ Biểu thị thời gian hồi kỹ Bảng điều khiển Button Chọn nhân vật trước nhân vật chọn danh sách Button Chọn nhân vật sau nhân vật chọn danh sách Button Xác nhận chọn nhân vật cho trận đấu 6.6 Giao diện “Đấu trường” - Giao diện Figure 20: Giao diện "Đấu trường" 37 Mô tả đối tượng giao diện Table 26: Bảng mô tả giao diện "Đấu trường" STT 10 11 12 Kiểu Ý nghĩa Ghi Thông tin nhân vật Tên người chơi Text Hiển thị tên người chơi Hành động Text Hiển thị hành động thực nhân vật Chỉ số HP Slider Biểu thị HP nhân vật Nhân vật GameObject Biểu thị ngoại hình nhân vật Chi tiết nhân vật Button Xem thông tin chi tiết nhân vật Thời gian hồi chiêu Text Hiển thị thời gian hồi kỹ Bảng điều khiển Lượt Text Hiển thị lượt theo tên người chơi Thời gian lại Slider Báo hiệu lượt chơi lại giây Kỹ Button Kích hoạt kỹ Kết thúc lượt Button Kết thúc lượt Thành phần khác Hình sàn đấu Image Trang trí Thốt trận Button Thốt trận Tên 6.7 Giao diện “Thông tin nhân vật” - 38 Giao diện Figure 21: Giao diện "Thông tin nhân vật" - Mô tả đối tượng giao diện Table 27: Bảng mô tả giao diện "Thông tin nhân vật" STT Tên Tên nhân vật Chỉ số HP Text Text Kiểu Chỉ số ATK Text Chỉ số PRT Text Nhân vật Image Tên kỹ Text Chú thích kỹ Text Thời gian hồi chiêu Text Ẩn Button 6.8 Giao diện “Xác nhận thoát trận” - 39 Giao diện Ý nghĩa Biểu thị tên nhân vật Biểu thị HP nhân vật Biểu thị ATK nhân vật Biểu thị PRT nhân vật Biểu thị ngoại hình nhân vật Biểu thị tên kỹ Mô tả công dụng kỹ Biểu thị thời gian hồi kỹ Ẩn hình “Thơng tin nhân vật” Ghi Figure 22: Giao diện "Xác nhận trận" - Mơ tả đối tượng giao diện Table 28: Bảng mơ tả giao diện "Xác nhận trận" STT Tên Trở lại Thoát trận Kiểu Button Button Ý nghĩa Trở lại trận đấu Xác nhận thoát trận 6.9 Giao diện “Thông báo kết trận đấu” Figure 23: Giao diện "Thông báo kết trận đấu" 40 Ghi Chương MARKETPLACE VÀ VÍ BLOCKCHAIN 7.1 Marketplace Nhân vật game publish OpenSea - tảng cho phép người dùng tạo lập tài khoản để mua bán, trao đổi giao dịch vật phẩm sưu tầm (Collections), trò chơi game (Game NFT) sản phẩm Blockchain dựa hoạt động Smart Contract mà khơng bị kiểm sốt OpenSea xây dựng thiết kế gần phù hợp với xu hướng thị trường tại, tạo nguồn khoản lớn cho số lượng lớn NFTs thị trường Crypto Non-Crypto 7.2 Collection Colossal-The-Game - Collection | OpenSea BlockChain: Polygon tảng mở rộng quy mô Ethereum phi tập trung cho phép nhà phát triển xây dựng ứng dụng thân thiện với người dùng mở rộng với phí giao dịch thấp Standard: ERC-1155 interface tiêu chuẩn cho hợp đồng quản lý nhiều loại mã thông báo Một hợp đồng triển khai bao gồm kết hợp mã thơng báo thay thế, mã thông báo thay cấu hình khác Metadata: Centralized, Thiết kế tập trung, có nghĩa có sở liệu cho kho siêu liệu lưu trữ siêu liệu cho tất ứng dụng kinh doanh Kho siêu liệu tập trung có ưu điểm nhược điểm giống sở liệu tập trung Dễ quản lý tất liệu nằm sở liệu, nhược điểm xảy tắc nghẽn 7.3 Vật phẩm NFT Mỗi nhân Vật game thuộc Collection OpenSea, Mint với số lượng có hạn tức nhân vật người chơi sở hữu Đây nhân vật Colossal: thông tin công khai Marketplace, người chơi dễ dàng đặt mua trao đổi A Piece of Holly See - Colossal-The-Game | OpenSea 41 Figure 24: Thông tin chi tiết NFT A Piece of Holly See (1) Figure 25: Thông tin chi tiết NFT A Piece of Holly See (2) 7.4 Ví BlockChain ChainSafe Gaming SDK cho phép game Unity kết nối đến ví MetaMask thơng qua trình duyệt, từ kiểm tra nhân vật có ví người dùng hay khơng Nếu người dùng sở hữu nhân vật đăng nhập vào game dùng để chơi Một Pop-Up trình duyệt người dùng đăng nhập tự động kiểm tra ví người dùng 42 Chương TỔNG KẾT 8.1 Kết • Game có đầy đủ tính năng, chế game tối thiểu • Game hồn tồn khơng xảy tình trạng glitch, crash • Game chạy Windows/Linux, đồng thời có port sang Android 8.2 Hạn chế • Cấu trúc hệ thống khó mở rộng để cập nhật thêm kỹ • Phải can thiệp sâu source code để thêm nhân vật • Chưa tận dụng mạnh Unity, đặc biệt khả hỗ trợ game 2D 8.3 Source Code Colossal (github.com) 8.4 Cài đặt 8.5 Hướng phát triển 8.5.1 Tái cấu trúc hệ thống • Tái sử dụng tác dụng kỹ để kết hợp chúng với tạo kỹ 8.5.2 Cải thiện trải nghiệm đồ họa • Về nhân vật: o Chau chuốt hình ảnh o Bổ sung animation cho trạng thái (Idle, Attack, Hit, Dead) • Về UI: o Bổ sung animation cho hiệu ứng chuyển cảnh o Hiển thị tác động đến số nhân vật 43 o Cho phép người chơi sở hữu thay đổi hình sàn đấu từ sưu tập o Bổ sung hệ thống loading 8.5.3 Cải thiện trải nghiệm gameplay • Bổ sung chế game, chế độ • Bổ sung phần thưởng sau trận đấu • Bổ sung tính xem lịch sử đấu • Đầu tư khoản cân game 8.5.4 Cải thiện trải nghiệm âm • Bổ sung hiệu ứng âm thanh, lời thoại nhân vật 44 ... Trong giới game, NFT đại diện cho loại tài sản kỹ thuật số có khả sở hữu trao đổi với người chơi khác Điều kích thích nhu cầu sưu tầm kiếm tiền trình chơi game game thủ Trong đồ án này, NFT tồn... em định phát triển game NFT tảng blockchain Ethereum Các NFT truy xuất từ crypto wallet, mà người chơi khác xem số lượng NFT mà người chơi sở hũu giá trị NFT Người chơi bn bán NFT với quy đổi thành... ChainSafe SDK ChainSafe SDK miễn phí làm cầu nối dự án game với công nghệ blockchain, giúp tạo NFT game ChainSafe hỗ trợ tính bản, thiết yếu cho dự án game NFT nào: • Tương thích với Ethereum, Binance

Ngày đăng: 17/08/2022, 21:28

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

TÀI LIỆU LIÊN QUAN

w