Caputchin
应用市场游戏开发

向应用市场交付一个游戏

一个应用市场游戏是一个你构建一次、而 任何人 都能嵌入的游戏:你发布一个公开的 GitHub 仓库,平台索引它,而用户按它的游戏 id 触及它、无需你参与。这是和一个 自定义游戏 相反的那一端,后者只有你能用、而且你自己托管它。这一节是那条应用市场路径的详细、自己动手构建并发布的指南。

如果你只想要一个给你自己站点密钥用的游戏,那你要的是 自定义游戏开发。当你想把一个游戏分发给每一个 Caputchin 用户时,来这里。

整条流水线

每个方框对应这一节里的一个页面:

部件它是什么页面
游戏一个对着游戏 SDK 构建、跑在组件沙箱化 iframe 里的自包含 JS 包。构建一个应用市场游戏SDK 参考
清单仓库根部一个描述游戏、它的预设和它的包的 caputchin.jsoncaputchin.json 清单
回放契约一个服务器重跑以得出权威决定的确定性 run(seed, trace) -> verdict回放契约
引擎套件一个 可选 的撰写套件,它从一个普通的 reducer 产出一个合规的 runengine-kit
发布给仓库打标签,索引器发现并固定它,可选地用 CI 自动化。发布到应用市场

可回放对不可回放

这条路径上最重要的那一个点子:一个应用市场游戏只有当它在服务端 可回放 时才能给验证设关卡。当索引器摄入你的游戏时,它跑一次 回放自检:它把你的 headless run 工件加载进一个密封隔离体,并确认它产出一个有效的 裁定

  • 自检通过 → 这个游戏 可回放:一个真实玩家的回合在服务器上被重跑以得出决定,所以这个游戏能给一个站点密钥设关卡。
  • 自检失败 → 这个游戏显示 不可回放。它仍被列出且仍可嵌入,但只作为 UX(不是一个安全关卡),直到你发布一个通过的版本。已经在一个更早的可回放版本上的站点保持跑那个确切的快照。

这就是为什么确定性不是可选的打磨:它是一个能守护一个站点密钥的游戏和一个仅仅是装饰的游戏之间的那条线。

一个应用市场游戏和一个自定义游戏有何不同

应用市场游戏自定义游戏
谁能嵌入它任何人,按游戏 id只有你
托管从你的 GitHub / npm 平台固定你托管这个包(game-src
自定义模式caputchin.json 里声明在仪表盘上声明
回放工件从清单的 run 索引在仪表盘上上传
发现可浏览的应用市场

从哪里开始

如果你从没构建过一个 Caputchin 游戏,就从头到尾读 构建一个应用市场游戏,然后是 回放契约。当你准备好交付时,照 发布到应用市场 做。那个 引擎套件 是可选的,可以完全跳过。

另见

本页内容