作者:MetaCat
排版:MetaCat
00. PopCraft 简介
一款永久运行在区块链上、类似“消灭星星”的游戏,以可组合性为理念,基于 MUD PixeLAW、TCM(thiscursedmachine.fun)、Redswap 构建,网址:https://popcraft.pixelaw.xyz/ 。
具体来说,基于 PixeLAW 的数字原子“Pixel”构建了 PopCraft 游戏棋盘,同时将 TCM 的原料 $BUGS 作为游戏奖励、将 TCM 生产出的“物质”作为游戏道具,并将 Redswap 作为游戏道具交易市场,从而实现了完全公平透明的游戏道具发行、定价、交易机制。
01. 以可组合性为核心构建理念
得益于智能合约的可组合性 ,运行在同一区块链上的应用程序,比运行在同一计算机上的应用程序拥有更好的可组合性潜力。DeFi 领域已经充分展现了这一特性的威力,DeFi 之外,全链游戏和自治世界领域也在不断探索可组合性带来的全新可能性。MUD 作为全链游戏领域广泛使用的开发框架,降低开发门槛的同时,也使全链游戏具备了充分的可组合性潜力。PixeLAW 在 MUD 的基础上更进一步,通过构建一个兼具原语性和可编程性的全链游戏开发平台,为在 PixeLAW 之上构建的全链游戏间可组合性和互操作性奠定了良好的基础。
PopCraft 在 PixeLAW 之上构建,但要探索与 PixeLAW 不一样的方向:PopCraft 与 PixeLAW 之外的全链游戏间的可组合性。
PopCraft 通过整合 TCM(thiscursedmachine.fun)、Redswap 构建了一款类似“消灭星星”的全链游戏,也通过可组合性获得了完全开放、透明、免信任的游戏道具市场,以及独特的道具发行、定价机制。具体来说,我们基于 PixeLAW 的数字原子“Pixel”构建了 PopCraft 游戏棋盘,最大程度地保证了 PopCraft 与 PixeLAW 上其他 DApp 间的可组合性潜力。同时将 TCM 的原料 $BUGS (一种 ERC-20 代币)作为游戏奖励、将 TCM 生产出的“物质”(一系列 ERC-20 代币)作为游戏道具,并采用 Redswap 作为游戏道具交易市场,从而实现了完全公平、透明的游戏道具发行、定价、交易机制。PixeLAW:最初由@0xshora、@OwnerOfJK 和@thiscaspar 共同构建的最具原语性和可编程性的自治世界。通过提供数字原子(Pixel)和数字物理法则来构建一个自治世界。TCM:由 Moving Castles 工作室开发的科幻恐怖题材的全链游戏。游戏背景设定是“血汗工厂”,玩家通过付出自己的“血”和“汗”来为工厂完成订单,从而获得赏金。Redswap:@Komorebi8888 团队在Redstone 链(一条基于 OP Stack 构建的以太坊 L2) 上基于 UniSwap V3 构建的 DEX。02. 可组合性带来的多方博弈
通过在游戏道具生产、定价、交易环节直接复用现有项目,大大减少了 PopCraft 的开发量以及开发方对游戏的影响。同时,由于多方共同参与使 PopCraft 游戏道具市场实现了真正的多方博弈。从 PopCraft 的角度看,一方面,玩家使用游戏道具进行消除,游戏道具价格会因为玩家的购买而上涨;另一方面,玩家也可以在 TCM 生产“物质”,通过增加供给使道具价格下降。从 TCM 的角度看,价格的上涨会促使 TCM 玩家生产相应的“物质”,并出售给 PopCraft 道具市场(Redswap)以赚取利润。比如,在 TCM 中 1 $CORN(玉米)的生产成本为 2 $BUGS,销售给 PopCraft 道具市场的价格如果为 3 $BUGS,则有 50% 的利润。进而,由于 PopCraft 道具市场(Redswap)的供给增加,自然导致道具价格回落,从而形成一种完全市场化的价格调整机制。从玩家角度看,PopCraft 和 TCM 的玩家可以是独立的也可以是重合的。PopCraft 玩家可以只玩 PopCraft、TCM 玩家可以只是生产“物质”并销售给 PopCraft 道具市场(Redswap)。 但因为两方的玩家都与 Redswap 交互,使得两方的玩家会间接相互影响。当然,PopCraft 玩家也可以同时是 TCM 的玩家。由此可见,PopCraft 的道具市场由多方共同参与、相互影响,但没有任何一方可以独立控制它。
03. PopCraft 的工程挑战
虽然 PopCraft 最大程度的复用了 TCM 和 Redswap 的功能,但构建过程中依旧有不少挑战,让我们列举一些例子:(1) 如何在确保道具资产安全的前提下,提供流畅的道具使用体验?理想情况是:PopCraft 游戏道具(ERC-20 代币)始终在玩家主钱包中,使用道具时,不会每次都弹出交易确认界面。
TCM 实现这样的体验,当玩家给 TNAK 充入 $BUGS 时,玩家钱包中的 $BUGS 代币会被直接被转走,而没有在钱包中弹出交易确认界面。如果只涉及一种游戏道具(ERC-20 代币),我们可以采用和 TCM 相同的方案。但由于 PopCraft 涉及数十种游戏道具(ERC-20 代币),我们无法采用与 TCM 相同的方案,因为每种游戏道具都需要玩家授权会使游戏体验变得很差。最终,我们采用了一个折衷方案:在 PopCraft 合约中为每个玩家记录其拥有的游戏道具种类、数量;玩家使用游戏道具时,直接通过该合约扣减(无需弹出钱包确认界面)。通过这种方式既提供好的用户体验,又使玩家资产安全性得到了保证。
(2)如何将 Redswap 集成到 PopCraft 中?
为了更公平、透明的游戏道具定价、交易机制,我们决定使用 Redswap 作为游戏道具交易市场。这意味着我们需要将 Redswap 集成到 PopCraft 中,以保证流畅的用户体验。由于合约计算量太大及工程实现的复杂度,无法直接在合约中获取每次资产交易的最优路径,从而获取最优报价 ( 纯合约计算量过大,可能导致完成询价和交易消耗的 Gas 高于交易本身的金额),这也就意味着 PopCraft 无法在合约端,直接基于 redswap.io 的询价和交易功能来完成游戏道具的购买。我们考虑过在 PopCraft 页面中直接嵌入 redswap.io 的方案,但因为存在需要玩家登录两次、两个产品之间数据同步及产品交互等一系列问题,只能放弃该方案。最终采用的方案是:在 Redstone 链上部署了由 Uniswap 官方开发的 onchain-router(https://github.com/Uniswap/onchain-router )合约,作为 Redswap 的询价服务。玩家在 PopCraft 中选择要购买的道具种类和数量时,会调用 onchain-router 合约实时计算并呈现所需支付的金额(如下图)。玩家点确认购买时,PopCraft 合约端会再次调用 onchain-router 合约,再次比对交易金额后完成购买。
PopCraft 游戏界面,来源:https://popcraft.pixelaw.xyz/
04. 写在最后
区块链领域 Infura 的创新层出不穷,但应用层创新则有所缺位。全链游戏和自治世界作为应用层创新的一种思潮,正在通过不断迸发的创意探索新的区块链新的应用场景,PopCraft 从区块链可组合性出发,正在探索全新的区块链应用范式。
玩家交流
问题反馈:https://forms.gle/tAY8EEfxP9eFgpA18
Telegram: https://t.me/+R8NfZkneQYZkYWE1
微信群:PopCraft Playtest 👇
媒体链接:
游戏网址:https://muddev.pixelaw.xyz/PopCraft
PopCraft 合约:https://github.com/themetacat/pixelaw_examples_mud/tree/main/PopCraft
X(Twitter): https://x.com/metacat007
Telegram: https://t.me/+R8NfZkneQYZkYWE1
Discord: https://discord.com/invite/aeYzsHxAZb