NFT游戏开发-元宇宙游戏开发-教程

NFT游戏开发-元宇宙游戏开发-教程

您是否已经听说过成功的 NFT 游戏,并且想知道它们是如何构建的?

我们将指导您完成构建 NFT 游戏的步骤。

这篇文章是写给谁的?

对于那些拥有或正在开发创建 NFT 游戏的想法并希望对所需的流程和工具有一个大致了解的人。 我们不会详细介绍每种编程语言,但会链接重要资源并提供更大的图景。

对于那些具有中等编码经验但还不是区块链专家的人。

任何有兴趣学习的人。

你能从这篇文章中得到什么?

将提供指导以塑造您的第一个 NFT 游戏的想法,最后我们为您提供有关可用于设置和连接整个 NFT 应用程序的技术的概述。 享受。

NFT 及其标准

如果您在这篇文章中降落,并且不 t从过去的纠缠,可能你可能已经听说过的NFT的。 到 2021 年,NFT 似乎很快就会出现在您的谷物中。 然而,如果这是您第一次遇到这个首字母缩略词,请保持冷静,我们将尽力向您解释。

NFT 代表 Non-Fungible Tokens,根据定义,它是不可替代的,这意味着它们不会通过使用被消耗,是独一无二的,不能交易为相同类型和价值的其他东西。 这与货币的运作方式完全相反,1 美元可以换成另一个 1 美元。

NFT 是一种数字资产,一种通证,具有独特的属性。 他们持有有关所有者是谁的信息,这些信息是公共记录,可以随时验证。 它们代表独特的项目并存储在区块链中。

以太坊 是第一个创建和探索 NFT 空间的区块链,然而,它不再是这个游戏中的唯一参与者。

在每个区块链上都存在多个标准,您可以将它们想象为您将在 SmartContract 中使用的功能的模板。 每个标准都提供了在创建 NFT 期间需要填充的特定功能和属性。

第一个也是最著名的 NFT 标准是 ERC721 。 该标准允许每项资产都是独一无二的,不会被破坏或复制,并提供跟踪和转移资产的基本功能。 它还为资产提供了定义其独特性和稀有性的某些属性或特征。

以太坊区块链上不太常见的其他标准是 ERC 998 和 ERC 1155 。 它们与 ERC721 具有相似的特征,但它们可以同时持有不可替代和可替代的代币,因此拥有一组独特的数字资产。 此功能对于游戏用例非常有趣,游戏的货币(可替代)和收藏品(不可替代)可以存储在一起。

正如我们之前评论的那样,以太坊并不是唯一提供 NFT 功能的区块链。 该区块链最近遇到的问题之一是高交易费用价格(“gas”)和可扩展性问题。 在著名的 Cryptokitties 游戏获得如此大的人气之后,同时汽油价格急剧上涨,其背后的公司创建了 Flow Blockchain , 专门为游戏和加密收藏品而设计。

该 Tezos Blockchain 也具有不可替代的标准时, FA2 它提供了极大的灵活性来处理不同的游戏项目。

Blockchain 等其他区块 Palm 链专注于为文化和创造力构建 NFT 生态系统。 而 索拉纳Blockchain 是游戏最新视频播放沉重的重点艺术和解决可扩展性问题,其中基于复仇的面孔复仇等blockchains的承诺。

由于 NFT 的空间仍在探索和测试中,因此不断提出新标准。 出于这个原因,建议在决定之前检查标准列表。

2021 年 NFT 和 NFT 游戏的兴起

尽管 NFT 已经存在五年多了( 有史以来第一个铸造的 NFT 诞生于 2014 年),但似乎 2021 年是 NFT 兴起的一年。

到 2021 年,流行艺术家将 价格出售 他们的艺术 以数百万美元的 作为 NFT ,而今年, 这样的 老式 NFT 项目 像 Cryptopunks 正在获得巨大的价值,并将 NFT 带入主流讨论中。

随着 NFT 的普及,我们正在试验 NFT 游戏的普及。 一些非常早期的 NFT 游戏,如 Cryptokitties 或 Mooncatrescue 于 2017 年发布,但直到 2021 年,它们才引起了更广泛的公众的关注,并在主流中引起了轰动。

像 这样的游戏 Axie Infinity 在今年大受欢迎,并成为 最昂贵的 NFT 收藏,2021 年 6 月销售额超过 4000 万美元。

那么,您已经听说过成功的 NFT 游戏并且很想了解它们是如何构建的? 或者,也许您有一个想法并想构建一个 NFT 游戏? 开始吧。

构建 NFT 游戏的完整指南

第 1 步:设计

定义想法和工作模型

首先,您应该考虑要构建的游戏类型。 它是关于策略或战斗,还是更像一个谜题,也许你更喜欢冒险或角色扮演游戏,或者你更喜欢运动类游戏?

一旦你知道你的游戏风格,你应该对区块链内外已经存在的类似游戏进行一些研究。 不要试图发明轮子,首先从过去的成功经验中学习并获得启发。

非线性问题解决方法模型(如 设计思维) 可以帮助您快速构思和实验。 设计思维以人为本,旨在确保开发的解决方案满足用户的真实需求。 这是一种协作的工作方式,允许多学科开发团队做出更好的决策并与用户一起快速测试想法,包括作为解决方案过程的基本部分的反馈。

在探索问题空间的过程中,与您的团队一起进行一些创意工作坊、访谈、头脑风暴或角色扮演会议可能会有所帮助。

在过去的十年中,工程师们开始集中强调 需求工程中创造性思维的重要性, 因为它是构建具有竞争力和创新性产品的决定性因素。

此外,它可以很有趣。 您将与您的团队聚在一起,每个人都可以表达自己的想法。 最后,您很可能会拥有许多令人惊叹的方法,但也会意识到您想要朝哪个方向前进。 从那里你必须把这个想法变成一个实际的产品。 尝试定义游戏的最基本规则,但同时要注意,不要深入细节。 你的角色有能力升级吗? 您可以与其他用户互动吗? 不要太分心于细节,专注于主要思想。 尝试使游戏尽可能简单。 想想您希望 MVP(最小可行产品)具有的最重要的功能。 您可以将所有其他想法写在某种待办事项的其他地方,但如果这是您的第一个应用程序,您不想太疯狂。

将具有创造性技能的人带入董事会团队

大多数首批成功的 NFT 游戏 有什么共同点?

他们有可爱的生物。

是的,这有点通用,但是,除非您想要一个简单的像素艺术图形,否则您的团队中需要一些创造性思维、设计师、2D 或 3D 图形艺术家或经验丰富的程序员。

即使是简单的像素猫,也可能具有挑战性。 不要低估创造性的工作。

举个例子,我们尝试了 的 像素编辑器 用于 Mooncatrescue 游戏 。 在下面的左侧图像中,是一只 Mooncatrescue 猫的示例,右侧是使用像素编辑器绘制猫的第一次灾难性尝试。

步骤 2. 开发

在这一步中,我们将讨论您在创建 NFT 游戏时需要考虑的主要主题,例如使用什么平台,移动还是网络? 以及如何选择你的 techStack。 我们将展示最受欢迎的选择。 基于区块链技术构建的应用程序称为 DApps ,它代表去中心化应用程序。 在接下来的部分中,我们将使用术语 DApp,当我们所谈论的技术可以一般用于任何 DApp 而不是专门为 NFT 游戏选择时。

可以在 找到有关 DApp 的更多信息 此处 。

网络应用程序还是移动应用程序?

在构建 DApp 时,可能会出现的第一个问题是您希望最终用户如何与其交互。 通过他们的网络浏览器(Web 应用程序),还是使用移动应用程序?

Web 应用程序 具有高可用性,可以从世界各地的任何浏览器访问,并且具有决定性:台式机、手机或平板电脑,这使更广泛的受众更容易访问它们。 尽管如此,移动应用程序可以提供更强大的功能,并且可以比网络应用程序更快,但开发成本可能更高。

在构建 移动应用程序时 ,您可以在原生应用程序和非原生应用程序之间进行选择。 本机应用程序是为特定的操作系统 (OS) 构建的,将能够访问功能,如通知、相机访问等。但由于每个操作系统都不同,您必须为每个操作系统构建不同的版本。 iOS 和 Android 可能是当今最常用的操作系统,但列表要大得多:Windows OS、Blackberry OS、Bada、Symbian OS,更不用说开源替代品,如 Ubuntu、PureOS、Mobian OS 等。

非本机应用程序 不会为您提供相同的功能访问权限,但它们的构建更容易且成本更低,因为您可能只需要一个适用于所有操作系统的版本。

因此,在决定构建本机移动应用程序之前,您应该非常确定您确实需要这些功能,然后再决定朝那个方向发展。 您不仅需要针对不同的设备和操作系统开发不同的版本,而且还需要经过审核流程才能被 AppStore 接受。

如果您有兴趣构建一个 可用作 Web 应用程序又可用作移动应用程序的混合应用程序,那么 既 PWA (渐进式 Web 应用程序)可能就是您所需要的。 它们是移动开发中的最新事物,不需要通过 App Store 分发。 此外,它们甚至可以离线使用以及能够推送消息,这是迄今为止只有本机应用程序才能提供的功能,这是一个主要优势。 不幸的是,Apple 限制了对本机功能的访问,并且旧版本的 iOS 不兼容。

您可能已经意识到,在决定解决方案之前,有必要对您的目标群体(及其设备)进行彻底的研究。 最简单和最快的解决方案是使用 Web 应用程序,因此在本文中,这也将是我们要展示的内容。

有关本机和非本机移动应用程序之间区别的更多信息,哪种移动应用程序可能是适合您的解决方案,请查看 本文 。

有关移动和网络应用程序之间优缺点的进一步分析,请查看 这篇文章 。

为您选择合适的 TechStack

在规划 TechStack 时,您应该考虑您的团队已经熟悉的内容。 特别是如果你想要快速发展。

由于存在众多技术替代方案和组合,我们在本文中专注于某个架构,但会评论其他可用选项,以便您可以决定哪种技术最适合您的项目。

在 GitHub 上有很多很棒的游戏或模板可以构建 NFT 游戏,所以在开始之前,尝试查找一些可以分叉的游戏,这样您就不必从头开始。 它将为您节省大量时间,并且您将学到很多东西。 开源之美 。

在研究 NFT 游戏的架构时,您会发现很多视频,但很多视频都对某一部分进行了过多的详细介绍,而您将独自完成如何连接这些部分或如何实际部署 NFT 的任务游戏。

一个 教程 突出的 在 16 分钟内解释了如何设置整个 NFT 应用程序架构。 但是,设置整个项目不会花费您 16 分钟,因为此视频的创建者已事先准备好大部分代码。 他而是向您解释前端、后端、托管和智能合约是如何连接的。

该视频是由创作者 EatTheBlocks 制作的 ,一旦您深入构建 NFT 游戏,您就会遇到更多人,因为他提供了许多主题的非常有用的教程,您必须获得更多知识。

如果您不熟悉 GitHub, 我们建议您观看一些教程并习惯它,因为它是最流行的版本控制程序(如果您想在本地构建软件或克隆存储库,您将需要它)机器)。 在网上很容易找到教程和资源。 一个教程,你可以尝试是 这样一个 真正试图在最基础的情况下,你永远不会有一个命令行交互启动。

设置您的项目环境

为了设置连接到 的 NFT 应用程序 Ethereum 、 Corda 、 Hyperledger Fabric 区块 或其他 链 , Truffle Suite 为 SmartContracts 提供了一个开发环境,其中包含用于连接到前端、部署和测试的工具。 另一种选择是 Embark ,它不太受欢迎,因此提供的教程也较少。

前端

前端可以用 编写 JavaScript 或 TypeScript ,但使用 TypeScript 会迫使您对类型更加严格,这将有助于您保持井井有条,尤其是在更大的团队中。 作为框架,您可以在 之间进行选择 React 和 Vue 。 Angular 也是一个前端框架,但对于一个简单的 Web 应用程序来说,它太复杂和繁重了。

React 是最流行的构建 DApp 的框架,但如前所述,根据您团队的经验,Vue 也可能是一种选择。 Truffle Suite 最初是为了与 React 连接而构建的,但自 2019 年以来,他们提供了一个 Vue 插件。 EatTheBlocks 还提供了一个 的 三个视频教程 关于如何创建 Truffle + Vue 应用程序 。

最后,前端的托管可以在 上完成, Netlify 这是您的第一个网站的免费选项。

选择钱包

对于登录和身份验证,您可以使用加密钱包。 加密货币钱包就像一个物理钱包,但是是数字的。 您可以在这些钱包中存储不同的货币和代币。 不同的钱包提供不同的服务,因此人们出于不同的目的使用不同的钱包,要获取有关选项的更多信息,请查看 本文。

我们遇到的大多数基于 链的应用程序,包括 区块 CryptoKitties ,都使用 MetaMask 钱包,因为它非常流行并带来了某些优势:它是一个非托管钱包(这意味着您对自己的密钥负责,而不是第三方)和可以持有 NFT,这一功能并非所有钱包都提供。 此外,它非常易于使用,并且可以通过插件轻松添加到您的浏览器中。 正如您将在本 EatTheBlock 教程( Web3 教程:将 Web3 与 Metamask 集成 )中了解如何使用 MetaMask 通过 Web3.js 签署交易的内容,如果您的 DApp 不使用 MetaMask,则没有人会使用您的 DApp。

智能合约

所以基本上,前端然后会将它从 MetaMask 获得的用户地址发送到 SmartContract,这将从区块链中获取属于该地址的 NFT 的 URL。 要与 SmartContract 通信,您可以使用 Web3js 库 。 它将帮助您监听事件、设置 gas 参数、调用 SmartContract 中的函数并自定义您的交易。 您可以将其与可用于与后端通信的 restAPI 进行比较。 SmartContract 将通过 通信, Infura 进行 Infura 区块 是一种与 链通信的流行 API。

在 SmartContract 中,您定义了所有规则和功能,如果您要构建一个中心化的游戏,这些规则和功能将由公司负责。 SmartContract 不能被重写(有一些例外,例如,当超过 50% 或 100% 的网络/区块链/硬币持有人决定需要更新某些内容时)。 您的应用程序的安全性和质量取决于您的 SmartContract。 如前所述,您为 NFT 选择的标准还将决定哪些功能必须包含在您的智能合约中。

要大致了解 SmartContracts 的外观,您可以从一些编码挑战开始,例如 Crypto Zombie Challenge 。 您还可以关注 这些 这些 实时编码课程 课程内容 Hui Huang 的 Crypto Zombie Challenge 的 , 丰富,并且会向您解释基本知识,这对您完成本课程非常有帮助。

流行的语言为NFT游戏写SmartContracts所部署的复仇网络是例如 密实度 , Vyper的 ,和 尤伯 。 最受欢迎和使用最广泛的语言是 Solidity ,这也是您将在加密僵尸挑战中学习的语言。 它也与 JavaScript 非常相似,但如果您更熟悉 Python,也许 Vyper 可能是您的选择。

您始终可以遵循的一般规则:如果您没有太多经验,请始终选择最受欢迎的选择,因为您可以通过 GitHub 上的视频、教程和相关项目找到最多的帮助。 而 , Yul 对于更有经验的开发人员来说 。 在这里 你可以找到一些关于智能合约语言的额外信息。

为了编写 SmartContract, openzeppelin 库将为您提供构建安全应用程序的支持。

后端

SmartContract 只请求 NFT 的 URL,因为整个 NFT 在区块链上太大而无法安全。 使用此 URL,前端将向 发出 axios 后端 请求,并将向此 NFT 请求元数据。 在这个非常简单的设置中,元数据和 NFT 存储在 上托管的后端中 Heroku 。

对于现实生活中的应用程序,您不应该这样做,因为您是在集中式空间中存储和创建数据。 使用去中心化的应用程序,然后使用来自中心化空间的数据将抵消区块链带来的许多优势。 这称为 Oracle 问题 。 为了解决这个问题,我们需要使用像 这样的技术 Chainlink 。 这有助于将链下数据添加到链上区块链,而不会影响其去中心化。

对于后端, node.js 可以用作一种语言,这是一种流行的 Web 开发语言,因为它非常具有可扩展性。 如果您熟悉 JavaScript,它将非常容易使用。 尤其是在使用 KOA 框架旨在为 Web 应用程序和 API 提供更小、更具表现力和更健壮的基础时。

后端将向前端发送元数据,其中包括 NFT 的名称、Id 和图像的 URL。 有了这些信息,前端可以向后端发送另一个请求,其中包含 NFT 图像的 URL。 然后前端可以显示可用数据,用户可以看到其 NFT 的名称和图像。

第 3 步:测试

为了测试您的 NFT 游戏,您可以使用 Rinkeby 或 Ropsten 测试网 币的测试网 或任何其他您可能已经拥有以太 。 如果您还没有使用过任何您需要通过水龙头获得一些以太,例如对于 Ropsten,您可以使用此 链接 。 在开发阶段,Truffle 提供了一个名为 的工具 Ganache ,可以让您非常轻松地创建模拟区块链。

步骤 4. 部署和传播信息

您已经测试了您的应用程序并准备好发布了吗? 然后是准备主网的时候了。 请不要急着来这里。 投入足够的时间来测试和检查安全威胁。 请参阅以下 OpenZeppelin 的完整指南,为主网做准备。 另一个关于以太坊区块链的好指南可以在 找到 这里

准备主网 – OpenZeppelin Docs

在测试网上运行你的项目一段时间后没有问题,你会想要将它部署到主以太坊……

docs.openzeppelin.com

还没准备好发布? 别担心,在部署您的 NFT 游戏之前还有很多工作要做。 您应该考虑开始参与和建立社区。 创建一些内容(文章、视频……),打开一个 Discord 频道, 分享 ,传播。 声明文章转载于;nft观察网-nft中国.nft是什么,nft艺术,nft交易

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注