全部功能
游戏生态

真实游戏。开放目录。你的品牌在最上层。

挑战层是一个访客只玩几秒钟的小游戏。浏览目录,基于一个极小的 SDK 自己编写,再把整体装扮成你网站的一部分,而不是我们网站的一部分。

Marketplace
所有方案

一个开放的游戏目录。

浏览已有的,添上你自己的。任何带清单(manifest)的公开仓库都能发布到目录。

官方游戏
浏览目录
由 Caputchin 发布的第一方游戏。完整的应用市场还收录社区从任意公开仓库发布的游戏。
Game SDK
所有方案

自己写一个。就那么几行。

这个 SDK 就是一个辅助函数和一份小小的契约。你往容器里渲染任何想要的东西,访客通过时把结果推上去。凡是你能用 HTML 和 JavaScript 搭出来的,都可以成为一个挑战。

my-game.js
@caputchin/game-sdk
import { register } from '@caputchin/game-sdk';

register((container, bridge) => {
  // render whatever you want into the container
  container.append(/* your game ui */);

  // when the visitor wins, push the result
  bridge.pass({ score: 847, durationMs: 4200 });
});
自定义游戏皮肤
Alpha tier

看起来像你的品牌,而不是我们的。

按站点密钥定制配色、字体和素材。当连我们的标识都会显得格格不入时,在 Apex 上把小组件整个做成白标。

正在启动 leaf 游戏…

默认游戏自带的皮肤。

正在启动 leaf 游戏…

Persimmon一套暖色品牌配色,内联传入。

正在启动 leaf 游戏…

Midnight一套深色品牌配色,内联传入。

三个实时运行的 leaf-memory 游戏,以仅游戏模式跑在你的浏览器里,无账户、无追踪。其中两个带着内联传入的自定义皮肤,这与生产环境里站点密钥驱动皮肤的方式如出一辙。

构建与分发

基于稳定的 SDK 编写游戏,用三种方式分发,发布到一个对任何拥有公开仓库的人都开放的目录。

所有方案

Game SDK

一次 register() 调用。往容器里渲染任何想要的东西,访客成功时推上 pass()。包很小,契约带版本,而我们自家的游戏用的也是和你一样的公开 API。

适用场景

游戏写一次,永远可发。SDK 契约稳定;我们不会破坏作者的成果。

所有方案

三条分发路径

经 CDN 从我们的 marketplace 安装游戏、把打包产物自托管在你自己的基础设施上,或者直接打包进你的应用。同一个 SDK,三种部署形态。

适用场景

挑一个贴合你技术栈和信任模型的。要快用 marketplace,要掌控用自托管,要离线用打包。

所有方案

Marketplace

由社区发布、从公开仓库索引而来的游戏。可按支持标签、语言、移动端适配浏览。发布对任何带清单的公开仓库都开放。

适用场景

发现别的团队做出来的游戏。想分享时就发布你自己的。因为人人都能贡献,目录才会不断生长。

品牌与定制

在 Solo 上调校游戏专属的运行时参数,用访客的语言触达更多人,把挑战做成你品牌的模样,在 Apex 上把小组件整个做成白标。

所有方案

自定义游戏配置

从你的站点密钥传入每个游戏专属的运行时选项(难度、素材槽、游戏专属参数)。游戏在启动时读取它们,无需 fork 即可适配。

适用场景

同一个游戏,在公开注册和内部管理表单上调成不同的样子,全都从一个站点密钥出发。

Alpha tier

扩展游戏语言

我们自家的游戏在 Solo 上只带一小套核心语言。Alpha 及以上会解锁完整语言包,让访客用母语来玩,而不只是用你的语言。

适用场景

注册表单或联系流程里,非英语访客本会卡在一个读不懂的 CAPTCHA 前转身离开。

Alpha tier

自定义游戏皮肤

按站点密钥覆盖配色、字体和素材槽。小组件和游戏画布会接住你的品牌,无需 fork 游戏。

适用场景

当默认挑战在你的网站上显得视觉违和时。按站点密钥上一次皮肤,游戏便会继承。

Apex tier

白标

把每一处 Caputchin 标识从小组件中移除。Apex 客户把挑战当作自家的界面来交付,访客看不到任何第三方品牌。

适用场景

对品牌敏感的界面,任何第三方徽标都会稀释体验。挑战于无形中成了你的。

把目录交付出去。或者,交付你自己的游戏。

注册、从目录里挑一个游戏、把小组件放到一个表单上。日后想要一个与你品牌严丝合缝的游戏时,再自己编写。

免费开始