该文章回顾了一个名为 Isaac 的区块链游戏项目的开发过程,该项目旨在探索区块链编程环境的独特优势。文章讲述了Solve2Mint 2.0的成功以及Isaac Alpha测试中遇到的挑战,如缺乏用户界面、测试网TPS低和节点不稳定等问题,最终导致项目暂停。文章强调了快速迭代和与玩家互动的重要性,并总结了从Isaac项目中获得的经验教训,为未来的区块链游戏开发提供了参考。
2021年秋季,我们观察到区块链编程环境呈现出一些尚未被探索的独特机会。自公司成立以来,我们一直致力于探索围绕这些机会的新应用范式。
但是……哇!距离我们发布上一封信已经过去 30 周了。发生了什么事?让我们简要回顾一下发生了什么,以及最关键的发现。
Solve2Mint 2.0 (S2M2) 提出了 50 个链上谜题,作为获得 Isaac 公开 alpha 测试资格的挑战。所有 50 个谜题在发布后 48 小时内就被解决了。
Isaac alpha 测试版有 13 位独特的玩家积极参与了两个 alpha 轮。两轮测试都缺乏有意义的文明进展——都以 Ev 星球撞向三个太阳之一 Boyuk 而告终!——由于各种因素:缺乏协助协调的 UI/机制,缺乏更直观的图形,测试网上 TPS 低,节点健壮性不足导致前端-后端同步问题等。
在两个 alpha 轮之后 Isaac 项目已被搁置!我们仍然喜欢三体问题的叙事,但已经转向更小的项目,以便在核心游戏循环上进行快速迭代。
尽快接触到最初版本,并与真实玩家一起进行 试玩 /游戏测试,对核心游戏循环进行验证至关重要。
有效的迭代等于“迭代次数”乘以“迭代之间取得的进展”。Isaac 庞大而复杂的耦合代码库使得迭代变得困难。
在开始 Isaac Alpha 之前,我们启动了 Solve2Mint 2.0 (S2M2),这是一个链上谜题,其中每个解决方案的提交都会根据区块链上的每个谜题规则进行计算验证,以此来确定参与 Alpha 测试版的玩家资格——有关详细信息,请参见此 tweet。假设没有女巫攻击,这可能是一个过于乐观的假设,S2M2 为 Isaac 选拔了 50 位独特的玩家。所有 50 个不同的谜题都在公告推文发布后不到 48 小时内被解开——我们被你们的胃口震惊了!
^这显示了谜题 #4 的无效解决方案 😃。为了理解谜题的规则,玩家需要深入研究合约源代码,并在代码注释中阅读规则(不一定需要理解合约代码)。我们相信这有助于我们吸引链上爱好者参与 Isaac 的游戏测试。
然后是 Isaac Alpha。进行了两轮 Alpha 测试,共有约 13 位独特的玩家参与。以下是 Alpha 1 和 Alpha 2 期间 Isaac UI 的屏幕截图。
^Alpha 1 的 UI。绿色阴影用于可视化 Isaac 三体系统中主角行星 Ev 各个面的太阳照射值。海蓝宝石绿色路径是电线,将发电装置连接到耗电设备。灰色路径是传送带,将资源生成装置连接到资源消耗装置。大型奶油黄色方块是工厂,玩家可以通过电线存入能量,通过传送带存入资源,并制造各种设备。大型紫色方块是引擎,在发射时为 Ev 提供反向动量。
^Alpha 2 的 UI。我们进行了一次颜色调整,以提亮整个 UI - 主要依赖于 zink#4134 的艺术眼光!
^Isaac 的宇宙视图。Ev,这个微小的立方体行星,自旋并围绕三个巨大的太阳(Boyuk、Orta、Balaca)旋转,是主角。从 Ev 突出的虚线帮助玩家确定 Ev 的各个面(粗/细虚线分别是 face0/face2 的法向量)。面部方向对于瞄准和发射引擎以影响 Ev 远离毁灭的轨迹非常重要。
^空间站视图的 UI(玩家在游戏大厅排队并被派遣到游戏中)。空间站视图包括过去和现在的文明重播。由于缺乏及时的协调(因玩家来自不同时区以及完全缺乏 UI/机制辅助而加剧),Alpha1 和 Alpha2 中的所有文明都以相同的命运告终——Ev 在诞生后 574 区块高度撞向 Boyuk。请注意,我们关闭了 Alpha 的非确定性,因此,鉴于玩家引擎对轨迹的影响不足(更准确地说,所有引擎的发射只产生了微不足道的影响),Alpha 期间的所有轨迹看起来都相同。
很快,玩家报告了痛点。UI 没有足够响应性地显示跨玩家和跨浏览器选项卡重新加载的待处理构建的痛点;由于 StarkNet 完整节点不可靠和后端同步问题,已构建的设备未显示在地图上的痛点。等等。更重要的是,这两轮游戏都没有取得非常有意义的进展。完全缺乏 UI 来协助玩家协调,这 正是 游戏机制的核心——例如,缺乏决策委托,因此为了协调所有玩家构建的引擎的发射,他们的所有者都必须连接到游戏并启动他们各自的引擎;此外,还缺乏客户端内的消息传递工具,迫使玩家在 Discord 上讨论和协调,并在窗口之间切换。玩家是来自不同时区的匿名者,这加剧了问题。
也许最关键的是,我们意识到核心游戏机制 非常难以理解 - 例如,抽象的彩色形状并没有引起大多数人的共鸣!!- 并且根本 没有吸引力。Isaac 很幸运能够拥有相信它并克服痛苦的抽象概念来帮助测试水的链上游戏爱好者,但如果我们诚实地说,核心循环根本没有吸引力。它缺乏迭代。
在这里,我们提供一些关于为什么核心循环没有吸引力的观察:
线性是可预测的,可预测性没有吸引力。设备的进展过于线性 - 构建采集器,然后构建精炼厂,然后构建更多的发电机,然后构建更多的发动机。它太可预测,无法维持参与度。
对底层区块链的 TPS 的依赖会损害参与度。Starknet 测试网在其最佳状态下具有 2 分钟的区块时间(最近其区块时间经常超过 1 小时!)。这使得游戏的响应速度根本不够——“ 让我在地图上构建设备 A 和设备 B。嗯,我需要等待 3 分钟。我想通过电线 C 将它们连接起来。嗯,我需要再等待 3 分钟。但我已经有了一个涉及 A+B+C+D+E+F+G+H 的完整设计!我需要在屏幕前花费 20 分钟才能实现这一点。饶了我吧!" 诚然,交易购物车本可以缓解这个问题——将一系列操作排队并将它们作为一个捆绑的交易发送到 StarkNet 的能力。我们没有实现它,因为前端代码库太脆弱且未经重构,无法及时与其他地方发生的故障(例如后端不稳定)混合在一起。
这使我们从 Isaac 实验中获得了核心洞察力: 有效的迭代 是我们的关键因素。
有效的迭代
= 迭代次数 x 迭代之间取得的进展
特别是,我们需要 与玩家 一起最大化有效迭代。Isaac 在发现其核心循环中的致命弱点之前,仅通过了 2 次迭代!为什么停在那里?因为:
在 Alpha 开始之前,庞大的未重构代码库 - 尤其是后端和前端 - 这意味着代码库很脆弱。添加功能很困难。
大型耦合系统。对核心机制的每次更改都必须经过 Cairo 代码库的更改、Cairo 代码库的测试、后端中的更新以将来自 StarkNet 的新信息传递到前端,以及前端中的更新以反映新机制。这使得迭代缓慢而痛苦。
没有迭代,Isaac 缺乏吸引人的元素。简而言之,Isaac 于 2021 年 3 月构思,在大约 4 个月内从车库构建,经历了两个短暂的 Alpha 轮,并遇到了僵局。在我们失去太多士气之前,必须停止它。
我们想指出的是,痛苦正是推动我们前进的物质。当我们仔细聆听时,痛苦是指向正确方向的信号。痛苦是压力源 - gg 在 此处 撰写了更多关于此的内容。
尽管有痛苦,但这是一次疯狂的奔跑,对我们来说是鼓舞人心的,并且在我们获得开发和游戏测试方面的帮助时感到温暖!我们感谢 Ranyah Al-Gubani 为 Isaac 封面艺术和各种艺术资产提供的令人难忘的设计。我们要感谢 Zink(Discord Handle:zink#4134)在让 Isaac 的前端起步方面无与伦比的热情和奉献精神。我们要感谢委托我们并与我们一起忍受 Isaac 粗糙的 playtesters(按 Discord Handle的字母顺序排列):
broody#5590
dobeck#8048
dham#4523
Dreamback#2095
just-fred#9182
Lime#5577
neoTINS#5121
script-money#7183
sortoel#1259
sortw#3186
tonz#2988
wontonbeing#3386
zink#4134
- 原文链接: topology.substack.com/p/...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!