原文标题:Introducing Keystone
原文链接:https://blog.curio.gg/introducing-keystone/
我们很荣幸地宣布 Keystone 的第一个稳定版本已经发布,这是一个为有志向的开发者打造的,可以构建高性能和可组合的全链游戏的优秀工具包。Keystone 是 Curio 团队基于两年的全链游戏开发经验而精心设计的。我们相信 Keystone 将让开发者能够创建真正具有商业价值的全链游戏。
在 2021 年末,我们开始痴迷于在链上发布实验性产品。我们首先构建了一个基于链上 ECS 的状态管理系统和高性能索引器。我们很快意识到,我们合约的每笔交易都要消耗数千万 gas,并且需要自己独立的区块空间才能满足扩展需求。因此在 2022 年夏天,我们在自己的专用应用程序链上推出了一个海战主题的 RTS 迷你游戏,这是最早的全链游戏之一,成千上万的玩家参与了我们的游戏互动。
2023 年初,我们推出了 Treaty,这是第一款允许玩家部署智能合约的游戏,该智能合约构成了他们彼此之间的政治和社会契约。我们被我们社区的创造力所震惊,他们提出了各种疯狂的条约的想法。
我们相信社交组合性(social composability)和开放数据(open data)是全链游戏的(能将某个领域效率或效果提升) 100 倍创新,特别是当它们与高风险或高回报相结合时。在我们梦想的未来中,社区部署了数百万个条约、智能合约和插件,催生了我们甚至无法想象的无限有趣的社交动态。复杂的国家在此形成,发展他们的经济,并在链上进行战斗,使用智能合约作为武器和工具。在 Curio,我们致力于构建这个未来。想要了解更多信息,可以参考这篇文章。
我们第一次尝试开发全链游戏时,就发现了一个问题:数据和计算密集的游戏世界,远远超出了普通区块链和智能合约的承载能力。因此,为了让全链游戏真正发展壮大,我们必须致力于提供与传统游戏相媲美的用户体验。全链游戏玩家应该能够享受如League 和 Starcraft同样的游戏体验。我们应该拥有更好的产品。
我们深入思考后,得出了这样几个结论:
1.全链游戏对系统性能要求很高。单个 EVM 区块链上的游戏无法支持大量用户同时在线,更别说达到百万级的规模。而且,如果在同一个区块链上运行多个大型应用,游戏之间会相互影响,性能会大打折扣。事实上,EVM 并没有针对游戏的特殊需求进行优化,无论是存储方式还是交易处理机制。
2.区块链缺乏游戏开发的关键功能。传统的游戏服务器是基于时间的,有一个高效的游戏循环,可以自动响应玩家的请求。但是,区块链的特点使得这些功能难以实现。开发者只能用延迟更新的方法来模拟,这给开发者带来了不便。
3.开发体验十分孤立。虽然 EVM 的工具已经很成熟,但智能合约语言却不能充分利用现有的游戏工具和生态,从丰富的库到第三方服务(排行榜、身份服务、 matchmaking)都十分匮乏。
Keystone 是一个全链游戏的创新平台。它把区块链和游戏服务器结合在一起,从零开始打造了一个高性能、数据驱动的游戏服务器,同时兼容 EVM 智能合约。
在入门套件中,用户可以直接体验教程游戏
Keystone 采用了 ECS 的思想,建立了一个表格化的状态管理系统(table-based state management system)。每个实体都对应一个完整类型支持的 Go 模式结构。客户端,无论是 JavaScript 还是 Unity,都可以订阅状态的自动同步,无需多余的代码。我们还消除了对索引器的依赖,大幅降低了延迟。可以直接从 Keystone 查询和订阅数据流。
游戏逻辑,也就是ESC中的系统,使用 Go 编写,而不是 Solidity,这让开发者可以充分利用现有的库和第三方服务,同时显著提高性能。Keystone 的核心是一个快速的游戏 tick。在每个 tick 中,系统会处理上一个 tick 提交的交易。交易像智能合约一样原子地执行,Keystone 可以每秒轻松处理数万笔交易,每秒数百次 tick。
此外,Keystone 还支持交易回放 — 通过确定性地回放用户交易,开发者可以随时将游戏状态回退到任何时间点 — 这是一个方便的用于调试、分析等工作的工具。
Keystone 支持多种插件,用于数据存储、数据可用性等。我们为 SQLite 和 MySQL 解决方案提供了现成的支持,可以在游戏世界需要保持一致的时候备份数据,方便创建数据管道、分析和日志记录服务。开发者也可以按照标准接口创建自定义插件。
Keystone EVM 和游戏服务器封装在一个实例中。为此,我们从 Geth 中提取了必要的组件并将其与 Keystone 服务器的其他部分集成在一起,使 EVM 具有超高性能,并专门针对游戏进行了定制。部署在 Keystone 上的智能合约可以通过预编译程序从表格化的表中读取和写入数据。我们将很快发布有关 Keystone EVM 的更多更新。
Keystone 将传统的游戏服务器架构和经过验证的 EVM 融合在一起,为开发者提供了一个高性能的系统,同时保留了智能合约的完整可组合性。我们非常高兴能够与世界分享这一点。
不久,Keystone 将包含一套额外的工具,例如允许游戏水平扩展的部署服务,这对于有大厅和会话(session)的游戏很有帮助。
Keystone 简化了构建全链游戏的复杂性,让开发者专注于优质的内容和游戏设计。我们一直在使用 Keystone 开发我们的首款游戏。我们的游戏工作室由来自 miHoYo(原神)、Lillith Games(万国崛起)、Funplus(阿瓦隆之王)等世界级团队领导。我们很期待能够尽快分享更多关于游戏的更新。
要开始使用 Keystone,最好的方法是我们的入门套件和文档。要获得直接支持,请加入我们的 Discord 或在 Telegram 上向我们发送私信。
我们的 Twitter:https://twitter.com/0xcurio