关于区块链技术在游戏道具设计的应用
3.5 分析道具系统结构
第一,从道具系统的区块链部分分析,基于区块链的道具系统与基于传统服务器的道具系统从交互结构上并没有太大的不同,区块链替代了传统游戏的服务器层。
本例中使用了,RemixIDE自带的本地自带的java scriptVM,所有交易都将在浏览器的沙盒区块链中执行。重新加载页面时,合约将被保存,但是区块数据将不会持。当我们需要更加灵活和可自定义的测试链时,也可以使用trufflesuite提供的ganache,定义初始账户数量,出块时间,设制无大小限制的合约等等。
区块链部分在该道具系统中承担了服务端数据存储,数据计算的工作,其不可篡改特性,使服务端中的所有数据都被完整的保存了下来,公开的服务端数据信息,使游戏道具的交易更有利监管和追溯。代替了传统服务器的另一个好处就是,区块链的服务器即所有节点,数据的安全性也得到保障的同时,合约接口也被公开化了,通过合约接口可以很方便的读取、查询和写入道具数据。
图7. 道具系统结构
第二,从道具系统的合约部分分析,合约是整个区块链系统的重点,也是以太坊提出区块链2.0的核心内容,由于道具合约本身实现了ERC721通证协议的,
从 ERC721 标准草案中可以看到,ERC721包含以下方法:
balanceOf 根据用户地址,返回该地址所包含的道具总量。
ownerOf 根据_tokenId 返回该道具持有者地址。
safeTransferFrom 将给定的道具转移给另一个地址。
transferFrom 将给定的道具转移给另一个地址,不推荐使用。
approve 授权道具给某个地址,该地址可以转移道具。
setApprovalForAll 打开或者关闭指定被授权人对道具的控制权。
getApproved 查询道具的授权人。
isApprovedForAll查询某地址是否为另一个地址的授权地址。
以及3个事件,Transfer,Approval,ApprovalForAll,用来分别记录,转移所有权,转移授权,授权的启用和关闭。
图8. ERC721
故玩家与玩家的道具交易,如图9,可以直接通过ERC721中提供的safeTransferFrom 方法可以很方便的发送当前道具至另一位玩家,也可以通过approve把道具授权给第三方,让第三方来交易道具。ERC721提供的标准性,不仅可以很方便的实现夸游戏间交易,也使得第三方为道具交易提供服务提供便利。
第三,从系统中客户端部分分析,基于区块链的客户端需要维护合约地址、合约编译后的接口。客户端对于满足ERC通证标准的道具合约,可以快速的构建代码,在合约不改变通证标准的情况下,即使想替换成其他逻辑的道具合约,也只需要更改合约地址,便能快速完成替换。
第四,从合约部署部分分析,部署初始道具数据,这是和传统游戏有很大的不同。由于区块链的去中心化的特点,在区块链中写入并记录的数据必须由所有的节点去进行维护,这使得记录数据的操作变得非常昂贵,而以太坊每一次交易限制大小为780kB,因此游戏中大量的初始数据,比如地图坐标、NPC初始属性,就无法一次性的被初始写入到合约中去。系统需要单独为初始化合约设计专门的分批处理系统。
图9. 玩家直接通过智能合约交易道具
第四章 分析区块链在游戏设计中的应用
4.1传统的游戏道具设计弊端以及措施以及措施
道具交易安全风险道具交易安全风险。传统游戏道具交易的流程是,在中介网站上,卖家登记待售物品,买家申请交易,双方核实各自的道具之后,买方用现金或信用卡支付给卖方。但是在这个过程中,交易所已经报道出了非常多的诈骗行为。区块链游戏道具合约作为一种合同代码,整个交易过程是自动执行的,业务逻辑是写在智能合约之内,并由区块链技术进行信任背书的,从源头上解决了诈骗行为。
无法追踪道具交易。传统游戏中,玩家无法确认交易者是否在交易违反规定的商品,比如依靠作弊软件获得的道具。区块链所有的事务,全都记录在账本内,分布式的存储这些交易数据,并且无法删除这些记录,能很好的解决这个问题。
新游戏用户引流成本高。传统游戏公司会同时运营两三款游戏,那么如果其中的A游戏积攒了大量忠实玩家,该公司是希望把A游戏的玩家引流到B游戏,但是玩家在新游戏中将失去A游戏中获得的资源道具,这个导入的过程中,该公司将会失去大量用户。基于区块链的道具系统将使原先A游戏的道具可以同时在B游戏中使用,这种互操作性最有趣的例子(弗格森,2019年)是最近的CryptoKitties 和 Gods Unchain 两款游戏之间的合作,两款游戏的玩家可以拿出各自独特的道具,并添加到他们的NFT集合中,从而作为资产在两个游戏中共享[5]。新系统使玩家在游戏中的道具更具有价值,玩家更容易被引流到新的游戏。
道具的所有权并不完全属于玩家。暴雪游戏的2018年用户许可证条款写明了,否认玩家对游戏道具的所有权,这一做法很大程度的剥夺了玩家的权利,那么在我们的道具系统里,利用区块链分布式记账,以及区块链的不可篡改性,使道具的所有权完全交给了用户,这也是为什么区块链游戏能改变传统游戏设计模式的原因之一,用户能自由支配游戏道具的使用,交易,赠送,甚至租借游戏道具也不会有任何问题。
4.2游戏道具在区块链租借的可行性分析
游戏道具作为游戏中重要的数字资产,能提升玩家的对抗能力,加速游戏进程,增加游戏乐趣。其中稀有的道具,高属性的道具更是被大部分玩家所向往,在游戏“梦幻西游”中名叫“天龙破城”的一个武器道具,这个道具就被某位玩家以百万人民币的购买了,但是事后这一玩家却感觉十分后悔。首先,如此价值数百万的数字资产的交易,是高风险的,一旦交易的过程出现任何意外,都有可能使玩家损失惨重;其次,数字资产的价值波动性很大,如果游戏开发者发布出更稀有更高属性的道具,或者因为平衡性考虑将这一道具的能力削弱了,那么这一道具就会严重贬值,使玩家感觉上当受骗,因此流失了部分玩家。
设想如果游戏道具的系统是由区块链来进行维护,在道具系统的安全性有保障的前提下,道具系统的代码也是公开透明的,玩家之间或许可以制定一份道具租借的智能合约,将道具的使用权设定期限,所有权权并不改变,那么稀有道具的所有者同样可以获得好处,而借用了该道具的玩家也感受了道具所带来的快感,并且降低了道具价值波动的风险。
4.3 游戏道具系统区块链化的弊端
道具交易需要支付费用。在以太坊中写入数据会被永久存在所有的节点,这是非常昂贵的操作,因此玩家在进行道具交易的时候必须额外支付一笔区块链记账费用。当然也有部分区块链例如EOS,采取了不需要交易费的做法,但就目前来看这一做法容易产生虚假的数据。其中关于EOS的一篇报道[6],指出了EOS的DAPP包含51%虚假的账户和75%的虚假交易。那么区块链道具系统需要玩家支付交易费用,大大提高了玩家的门槛。
去中心化的程度难以把握。狭义区块链是完全去中心化的,但是游戏开发很难完美无缺,往往在智能合约已经发布之后仍然需要做一部分的修改,依然需要在保证公开性的前提下,使合约的一部分能被合约所有者拥有修改权利。
第五章 总结分析
本文利用区块链技术实现了将游戏道具系统的部署使用,同时完成了两个游戏间共享游戏道具,并展示了玩家在游戏之外独立完成道具交易,实现了玩家在游戏外获得持续的价值,增加了游戏的社交性和参与度。比较了传统游戏道具系统和区块链道具系统的优缺点,分析了游戏道具在租借领域的可行性,为区块链可以怎样塑造全新的游戏设计方式提供了思路。本文只是展示区块链其中的一部分,相信未来区块链对游戏设计还有更多的可能性。
参考文献
[1] Serada, Alesja; Sihvonen, Tanja; Harviainen, J. Tuomas.
“CryptoKitties and the new ludic economy : how blockchain introduces value, ownership, and scarcity in digital gaming”2020.
[2] Vitalik Buterin. “Ethereum White Paper A NEXT GENERATION SMART CONTRACT & DECENTRALIZED APPLICATION PLATFORM”
[5] Serada, Alesja; Sihvonen, Tanja; Harviainen, J. Tuomas
[6]“CryptoKitties and the new ludic economy : how blockchain introduces value, ownership, and scarcity in digital gaming”2020.
[7]AnChain.AI“Our AI Detects Your AI — Revealing the Secret Blockchain DApp World of Bots”2019
[8]徐十珍,李伟 “基于区块链的游戏资产交易平台研究” 2019
[9] 贺海武、延安、陈泽华,“基于区块链的智能合约技术与应用综述” 2018
[10]Openzeppelin “erc721”https://docs.openzeppelin.com/contracts/2.x/api/token/erc721#IERC721