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

Xây dựng game nuôi thú ảo ứng dụng công nghệ blockchain

141 7 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 KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN Đề tài: Xây dựng game nuôi thú ảo ứng dụng công nghệ Blockchain GVHD: ThS Nguyễn Thị Thanh Trúc Nhóm sinh viên thực hiện: Lâm Sơn Hải MSSV: 18520699 Phan Hồng Quân MSSV: 18520239 □□ Tp Hồ Chí Minh, 10/2021 □□ NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……., ngày…… tháng……năm 2021 Người nhận xét (Ký ghi rõ họ tên) BẢNG PHÂN CÔNG, ĐÁNH GIÁ THÀNH VIÊN: Bảng 1: Bảng phân công, đánh giá thành viên Họ tên MSSV Phân công Đánh giá - Nghiên cứu tổng quan Blockchain, Ethereum, Smart Contracts, Unity, thư viện Web3, MetaMask Lâm Sơn Hải 18520699 - Viết Game Design Document - Thiết kế sơ đồ Use-case, sơ đồ 90% hoạt động - Triển khai Smart Contracts - Thiết kế layout, lập trình kiểm thử - Nghiên cứu Solidity, NFT, NFT games, Truffle, giải thuật di truyền Phan Hồng Quân 18520239 - Viết tổng quan đồ án - Thiết kế sơ đồ lớp, trạng thái - Thiết kế hình figma - Thiết kế layout, lập trình kiểm thử 90% LỜI CẢM ƠN Nhóm thực đồ án xin chân thành cảm ơn giúp đỡ nhiệt tình giảng viên hướng dẫn, cô Nguyễn Thị Thanh Trúc, suốt trình lên ý tưởng, nghiên cứu thực Nhờ có góp ý cơ, nhóm có thêm nhiều động lực, ý tưởng để thực hóa ý tưởng, cải thiện chất lượng đồ án Bên cạnh đó, nhóm dành lời cảm ơn cho thầy khoa Cơng nghệ Phần mềm nói riêng, tất thầy cô trường Đại học Công nghệ Thơng tin - Đại học Quốc gia TP.HCM nói chung giảng dạy, hỗ trợ truyền đạt cho nhóm kiến thức có giá trị để ứng dụng vào đồ án, báo cáo, sản phẩm sau Tuy vậy, việc thực đồ án chưa thể hồn thành với kỳ vọng mà nhóm đề ra, cịn nhiều điểm hạn chế, thiếu sót mà nhóm chưa thể tránh khỏi Nhóm chúng em hi vọng nhận lời khuyên, góp ý chân thành từ thầy để nhóm chúng em ngày hồn thiện tương lai Thành phố Hồ Chí Minh, ngày 24 tháng 12 năm 2021 Nhóm thực đồ án: Phan Hồng Quân - Lâm Sơn Hải DANH MỤC CÁC BẢNG, HÌNH ẢNH Danh mục bảng Bảng Bảng thuộc tính khối 38 Bảng Bảng thuộc tính phần tiêu đề khối 38 Bảng Bảng so sánh NFT tài nguyên Internet .56 Bảng Bảng so sánh Solidity Vyper 65 Bảng Bảng so sánh Unity Unreal Engine 79 Bảng Bảng danh sách Actor .93 Bảng Bảng danh sách Use-case 94 Bảng Bảng đặc tả use-case đăng nhập 95 Bảng Bảng đặc tả use-case mua 97 Bảng 10 Bảng đặc tả use-case bán .99 Bảng 11 Bảng đặc tả use-case giao phối 101 Bảng 12 Bảng đặc tả use-case tạo puppy .103 Bảng 13 Bảng đặc tả use-case nhượng quyền puppy 104 Bảng 14 Bảng danh sách đối tượng 117 Bảng 15 Bảng mô tả chi tiết lớp Ownable .118 Bảng 16 Bảng mô tả chi tiết lớp Puppy 119 Bảng 17 Bảng mô tả chi tiết lớp Cooldown 119 Bảng 18 Bảng mô tả chi tiết lớp PuppyBase 120 Bảng 19 Bảng mô tả chi tiết lớp ERC721 .121 Bảng 20 Bảng mô tả chi tiết lớp PuppyOwnership 122 Bảng 21 Bảng mô tả chi tiết lớp GeneScience 123 Bảng 22 Bảng mô tả chi tiết lớp PuppyBreeding 123 Bảng 23 Bảng mô tả chi tiết lớp PuppyMinting 124 Bảng 24 Bảng mô tả chi tiết lớp PuppyCore 125 Danh mục hình ảnh Hình Các contract CryptoKitties 27 Hình Hình ảnh minh họa cho game Elemon 31 Hình Hình ảnh minh họa cho game Happy Land 33 Hình Hình ảnh cấu trúc khối .39 Hình Hình ảnh minh họa cho SHA-256 39 Hình Hình ảnh minh họa cho Merkle Root 40 Hình Hình ảnh minh họa cho Difficult Targer .41 Hình Hình ảnh minh họa cho Nonce 42 Hình Hình ảnh minh họa cho Chain (chuỗi) 42 Hình 10 Hình ảnh minh họa cho sổ phân tán .43 Hình 11 Hình ảnh minh họa cho chế đồng thuận 45 Hình 12 Hình ảnh minh họa cho máy ảo Ethereum (EVM) 51 Hình 13 Hình ảnh minh họa cho ERC20 Token 52 Hình 14 Hình ảnh minh họa cho Smart Contract 53 Hình 15 Hình ảnh minh họa chế hoạt động Blockchain 54 Hình 16 Hình ảnh minh họa Solidity 63 Hình 17 Hình ảnh minh họa cho giao diện Unity 67 Hình 18 Hình ảnh minh họa asset Unity 69 Hình 19 Hình ảnh minh họa scene Unity 70 Hình 20 Hình ảnh minh họa Game object Unity .71 Hình 21 Hình ảnh minh họa cho Component Unity 71 Hình 22 Hình ảnh minh họa Scripting Unity 72 Hình 23 Hình ảnh minh họa Prefab Unity .73 Hình 24 Hình ảnh minh họa Graphic Unity .74 Hình 25 Hình ảnh minh họa Animation Unity 75 Hình 26 Hình ảnh minh họa Physic Unity .76 Hình 27 Hình ảnh minh họa Path Unity 77 Hình 28 Hình ảnh minh họa Audio Unity 77 Hình 29 Hình ảnh minh họa cho chức swap metamask 80 Hình 30 Hình ảnh minh họa cho khơng gian tìm kiếm (search space) .90 Hình 31 Hình ảnh minh họa cho toán tử giao 91 Hình 32 Hình ảnh minh họa cho tốn tử đột biến .91 Hình 33 Sơ đồ Use-case 92 Hình 34 Sơ đồ hoạt động chức đăng nhập 105 Hình 35 Sơ đồ hoạt động chức mua puppy .106 Hình 36 Sơ đồ hoạt động chức bán puppy 107 Hình 37 Sơ đồ hoạt động chức giao phối puppy 108 Hình 38 Sơ đồ hoạt động chức tạo puppy .109 Hình 39 Sơ đồ hoạt động chức nhượng quyền puppy 110 Hình 40 Sơ đồ trạng thái chức đăng nhập .111 Hình 41 Sơ đồ trạng thái chức xem puppy .112 Hình 42 Sơ đồ trạng thái chức phối giống puppy 113 Hình 43 Sơ đồ trạng thái chức chuyển nhượng puppy 114 Hình 44 Sơ đồ lớp My puppy 115 Hình 45 Hình ảnh UI Flow 126 Hình 46 Giao diện phác thảo Marketplace 127 Hình 47 Giao diện phác thảo My Puppy 128 Hình 48 Giao diện phác thảo Puppy Detail .129 Hình 49 Giao diện phác thảo Puppy Breeding 130 Hình 50 Màn hình giao diện home 131 Hình 51 Màn hình giao diện My Puppies 131 Hình 52 Màn hình giao diện Marketplace .132 Hình 53 Màn hình giao diện chi tiết Puppy .132 Hình 54 Màn hình giao diện Breeding 133 MỤC LỤC CHƯƠNG TỔNG QUAN ĐỀ TÀI 14 1.1 Đặt vấn đề: .14 1.2 Giải pháp: .15 1.3 Mục tiêu đề tài: 15 1.4 Phạm vi đề tài: .16 1.5 Công cụ sử dụng: 16 CHƯƠNG KHẢO SÁT HIỆN TRẠNG 18 2.1 Tổng quan NFT games: 18 2.2 Một số NFT games điển hình: .19 2.2.1 CryptoKitties: 19 2.2.2 Elemon: 30 2.2.3 Happy Land: 32 CHƯƠNG CƠ SỞ LÝ THUYẾT 36 3.1 Blockchain: 36 3.1.1 Lược sử Blockchain: 36 3.1.2 Cấu trúc liệu Blockchain 37 3.1.3 Cấu trúc mạng Blockchain: .43 3.1.4 Phân loại hệ thống Blockchain: .46 3.2 Ethereum: .48 3.2.1 Tổng quan Ethereum: 48 3.2.2 Smart Contract: 52 3.2.3 Cơ chế hoạt động: 53 3.3 NFT 55 3.3.1 Định nghĩa: 55 3.3.2 NFTs hoạt động nào? 57 3.3.3 Các tiêu chuẩn phổ biến NFTs (NFT Standards): 58 3.4 Solidity: 60 3.4.1 Giới thiệu Solidity: .60 3.4.2 Solidity Smart Contracts: .61 3.4.3 So sánh Solidity Vyper: 63 3.5 Unity: .65 3.5.1 Tổng quan Unity: 65 3.5.2 Giao diện Unity: 67 3.5.3 Các thành phần Unity: 68 3.5.4 Các tính Unity: 73 3.5.5 Unity & Unreal Engine: 78 3.6 MetaMask: .79 3.6.1 MetaMask gì? 79 3.6.2 Tính MetaMask: .79 3.7 Truffle: 82 3.7.1 Tổng quan: .82 3.7.2 Các thành phần Truffle: 84 3.8 Thư viện web3.js: 85 5.2.1 Màn hình Marketplace: Hình 46 Giao diện phác thảo Marketplace 5.2.2 Màn hình My Puppy: Hình 47 Giao diện phác thảo My Puppy 5.2.3 Màn hình Puppy Detail: Hình 48 Giao diện phác thảo Puppy Detail 5.2.4 Màn hình Breeding: Hình 49 Giao diện phác thảo Puppy Breeding 5.3 Giao diện hồn chỉnh: 5.3.1 Màn hình trang chủ: Hình 50 Màn hình giao diện home 5.3.2 Màn hình My Puppies Hình 51 Màn hình giao diện My Puppies 5.3.3 Màn hình Marketplace: Hình 52 Màn hình giao diện Marketplace 5.3.4 Màn hình chi tiết Puppy: Hình 53 Màn hình giao diện chi tiết Puppy 5.3.5 Màn hình Breeding: Hình 54 Màn hình giao diện Breeding CHƯƠNG KẾT LUẬN 7.1 Kết đạt được: Nhìn chung, qua trình thực đồ án, nhóm có hội học hỏi thêm nhiều kiến thức bổ ích blockchain công nghệ liên quan Ethereum, NFT Ngồi ra, nhóm tìm hiểu ứng dụng cơng nghệ, thư viện có liên quan để phát triển trị chơi MyPuppies Bên cạnh đó, nhóm ứng dụng quy trình phát triển, xây dựng phần mềm học từ môn học trước; thiết kế thành phần, xây dựng nghiên cứu hoàn chỉnh Dù cịn nhiều thiếu sót sản phẩm cuối chưa đáp ứng đầy đủ yêu cầu đề từ ban đầu, nhiên, nhóm thực xem học đáng giá để thực sản phẩm sau tốt hơn, kỹ lưỡng hồn thiện 7.2 Phân tích ưu - nhược điểm: 7.2.1 Ưu điểm: - Nhóm biết cách tìm hiểu, nghiên cứu để thực đề tài; - Trị chơi MyPuppies mang tính xu hướng, có khả tiếp tục phát triển triển khai cộng đồng; - Dù khơng có q nhiều thời gian thực hiện, nhóm cố gắng làm hồn thiện báo cáo 7.2.2 Nhược điểm: - Phân bổ thời gian, sức lực xếp công việc chưa hợp lý; - Chưa thực đầy đủ yêu cầu đề từ ban đầu 7.3 Hướng phát triển: Trong tương lai, nhóm có mong muốn tiếp tục phát triển game để tiến tới thực khóa luận tốt nghiệp, mang sản phẩm thị trường Tuy nhiên, để đạt mục tiêu đó, nhóm cần phải tiếp tục phát triển sản phẩm theo hướng sau: - Theo hướng trị chơi: - Hồn chỉnh trị chơi mặt đồ hoạ, gameplay bản; - Xây dựng cửa hàng vật phẩm game, cho phép người chơi mua động vật vật phẩm trang trí (nếu có); - Cải thiện đồ hoạ game, thiết kế nhân vật kỹ lưỡng hoàn thiện theo hướng game 2.5D 3D; - Đưa thuật toán giải mã mã gen lên server để nâng cao tính bảo mật cho trị chơi; - Tiếp tục đảm bảo bảo mật cách thực thi phương pháp xác thực (mật cấp 2, nhận diện vân tay, khuôn mặt, v.v) giao dịch nhạy cảm liên quan đến tài sản người chơi; - Có thể xây dựng khu vườn (hoặc đảo, phòng, v.v) vật phẩm mà người chơi sở hữu; cho phép ghé thăm để cơng tặng q; - Phát triển tính mượn cho mượn vật phẩm; - Áp dụng nhiều phương thức tốn q trình mua vật phẩm cửa hàng; - … - Theo hướng blockchain: - Cải thiện, tối ưu smart contracts để giảm tải chi phí thực thi hàm mạng Ethereum; - Nghiên cứu, triển khai tiền mã hoá riêng cho game, giúp người chơi thuận tiện việc mua bán vật phẩm; - Triển khai sản phẩm mainnet để người chơi đầu tư, mua bán quy đổi sang tiền thật; - … - Mở rộng: - Nghiên cứu ứng dụng cơng nghệ AR, VR vào trị chơi để đưa vật phẩm “ra giới thực”, nâng cao tính tương tác tính xã hội cho trò chơi; - Đưa vật phẩm quà tặng ngẫu nhiên vào khu vực định, thời điểm ngẫu nhiên để thu hút người chơi dành nhiều thời gian cho game; - … TÀI LIỆU THAM KHẢO A - Tổng quan đề tài: Taylor Locke (2021) Jack Dorsey sells his first tweet ever as an NFT for over $2.9 million Published by CNBC G Agrawal (2019) Examples of Blockchain Games (and how they work) R Craddock (2021) Sega Will Start Selling NFTs Based on Its IPs This Summer Published by Nintendo Life J Mirsch (2021) NFT or Bust? - Impact on The Video Game World CoinGecko (n.d.) Axie Infinity price, AXS chart, market cap and info CryptoKitties (n.d.-a) CryptoKitties tutorials Cryptopedia (2021) CryptoKitties: A Pioneer in Ethereum Gaming and NFTs CryptoKitties (n.d.-b) Technical Details V Mallawarachchi (2017) Introduction to Genetic Algorithms - Including Example Code Published on Towards Data Science 10.Springworks Blog (2017) CryptoKitties: The Tech Behind The Craze 11.CryptoKitties (n.d.-c) Purrstige Trails - CryptoKitties B - Blockchain: Nathan Reiff (2021) Blockchain Technology’s Three Generations IBM (2021) Blockchain Overview Berkeley University of California (2015) Sutardja Center for Entrepreneurship & Technology Technical Report Xi'an Shiyou University (2019) Research and Analysis of Blockchain Data Sana Sabah, Nada Mahdi, Israa Majeed (2019) The road to the blockchain technology: Concept and types D Puthal et al (2018) Everything You Wanted to Know About the Blockchain: Its Promise, Components, Processes, and Problems S Troy (2021) Distributed ledger technology (DLT) Blockchain (n.d.) Network Difficult Binance Academy (n.d.) Nonce 10.IJRASET (2018) Proof-of-Work Vs Proof-of-Stake: A Comparative Analysis and an Approach to Blockchain Consensus Mechanism 11.Cong T Nguyen et al (2019), Proof-of-Stake Consensus Mechanisms for Future Blockchain Networks: Fundamentals, Applications and Opportunities C - Ethereum: D Vujicic, S Randic, D Jagodic (2018) Blockchain Technology, Bitcoin, and Ethereum: A Brief Overview Ethereum (2021a) Intro to Ether Ethereum (2021b) Gas Ethereum (2021c) Consensus Mechanisms Ethereum (2021d) Nodes and Clients Ethereum (2021e) Ethereum Virtual Machine Ethereum (2021f) Dapps Ethereum (2021g) Web2 vs Web3 Ethereum (2021h) Ethereum Whitepaper 10.M N O Sadiku, K Eze, S M Musa (2018) Smart Contract: A Primer 11.Microsoft (2021) What is Smart Contract 12.Shailak Jani (2018) An Overview of Ethereum & Its Comparison with Bitcoin D - NFT: S Dean (2021) $69 million for digital art? The NFT craze explained Published by Los Angeles Times Ethereum (2021a) Non-fungible tokens (NFT) F Regner, A Schweizer, N Urbach (2019) NFT in Practice - Non-Fungible Tokens as Core Component of a Blockchain-based Event Ticketing Application The Nonfungible Team (2021) Non-Fungible Tokens Yearly Report 2020 L DeNicola (2021) What to know about non-fungible tokens (NFTs) - unique digital assets built on blockchain technology Published by Business Insider Ethereum (2021b) ERC-721 Non-fungible token standard Ethereum Improvement Proposals (2018) EIP-1155: Multi Token Standard E - Solidity: Etherium (2021a) Solidity – Solidity 0.8.9 documentation Revision e5eed63a Solidity (2021) Contributors to Ethereum/Solidity Raheel Zubairy (2018) Create a blockchain app for loyalty points with Hyperledger Fabric Etherium Virtual Machine Etherium (2021b) Installing the Solidity Compiler Revision e5eed63a Narayan Prusty (2017) Building Blockchain Projects Publisher: Packt M Alharby; A Aldweesh; A Moorsel (2018) Blockchain-based Smart Contracts: A Systematic Mapping Study of Academic Research, doi: 10.1109/ICCBB.2018.8756390 NIELIT (n.d.) Data Types, Functions, Operators and Exception handling (Module 3-Basics of Solidity Programming) Microsoft (n.d.) What is a smart contract? P Wackerow (2021) Smart Contract Languages F - Unity: Hadeed Khan (2019) Unity Research Report Pa Megha, L Nachammai,T M Senthil Ganesan (2018) 3D Game Development using Unity game engine Unity3d (2021a) Unity’s Interface Unity3d (2021b) Assets workflow Unity3d (2021c) Scenes Unity3d (2021d) GameObjects Unity3d (2021e) Prefabs Unity3d (2021f) Scripting Unity3d (2021g) Components 10 Unity3d (2021h) Animation G - MetaMask: MetaMask (2021a), MetaMask MetaMask (2021b), Swaps MetaMask (2021c), EIP - 1559 H - Truffle: S J Lyons (2021) What is Truffle Published on Data Driven Investor Truffle Suite (n.d.-a) Truffle Overview Truffle Suite (n.d.-b) Ganache Overview I - web3.js: Web3.js (2021a), Web3.js Web3.js (2021b), Web3.ssh Web3.js (2021c), Web3.eth Web3.js (2021d), Web3.utils Web3.js (2021e), Web3.bzz Web3.js (2021f), Web3.*.net J - Giải thuật di truyền: Geeks for Geeks (2021) Genetic Algorithm V Mallawarachchi (2017) Introduction to Genetic Algorithms - Including Example Code Published on Towards Data Science Springworks Blog (2017) CryptoKitties: The Tech Behind The Craze CryptoKitties (n.d.-c) Purrstige Trails - CryptoKitties ... chơi Cụ thể, đề tài ? ?Xây dựng game nuôi thú ảo ứng dụng công nghệ blockchain? ?? thực để đáp ứng mục tiêu đây: ● Nghiên cứu blockchain, cách hoạt động, cơng nghệ đằng sau tính ứng dụng ● Nghiên cứu... chuộng Nhận thấy tiềm công nghệ blockchain (đặc biệt NFT) phát triển ngành cơng nghiệp trị chơi điện tử, nhóm định phát triển đề tài ? ?Xây dựng game nuôi thú ảo ứng dụng công nghệ blockchain? ?? với trò... nhiều kiến thức công nghệ blockchain ứng dụng liên quan, phạm vi đề tài giới hạn khuôn khổ tìm hiểu, nghiên cứu so sánh công nghệ để ứng dụng vào xây dựng chức trị chơi ni thú ảo Bên cạnh đó, thời

Ngày đăng: 08/03/2022, 21:38

Xem thêm:

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w