Caputchin
Разработка игры для маркетплейса

Выпусти игру в Marketplace

Открыть как Markdown

Игра для Marketplace представляет собой игру, которую ты строишь один раз, и кто угодно может её встроить: ты публикуешь публичный репозиторий GitHub, платформа его индексирует, а пользователи достают его по id игры без участия с твоей стороны. Это противоположный конец от пользовательской игры, которую можешь использовать только ты и которую ты размещаешь сам. Этот раздел является подробным руководством «построй-и-опубликуй» по пути Marketplace.

Если ты хочешь игру только для своих собственных ключей сайта, тебе нужна разработка пользовательской игры вместо этого. Приходи сюда, когда хочешь распространить игру каждому пользователю Caputchin.

Весь конвейер

Каждый блок отображается на страницу в этом разделе:

ЧастьЧто этоСтраница
ИграСамодостаточный JS-бандл, построенный против игрового SDK, который работает в iframe виджета в песочнице.Построй игру для Marketplace, Справочник SDK
Манифестcaputchin.json в корне репозитория, описывающий игру, её пресеты и её бандл.Манифест caputchin.json
Контракт реплеяДетерминированный run(seed, trace) -> verdict, который сервер перезапускает, чтобы прийти к авторитетному решению.Контракт реплея
Движковый наборОпциональный набор авторствования, который производит соответствующий run из обычного редьюсера.engine-kit
ПубликацияПометь репозиторий тегом, индексатор обнаруживает и закрепляет его, опционально автоматизируй через CI.Опубликуй в Marketplace

Воспроизводима против не воспроизводима

Самая важная идея на этом пути: игра для Marketplace может ставить ворота проверки, только если она воспроизводима на сервере. Когда индексатор поглощает твою игру, он запускает самопроверку реплея: загружает твой headless-артефакт run в запечатанный изолят и подтверждает, что он производит валидный вердикт.

  • Самопроверка проходит → игра воспроизводима: раунд реального игрока перезапускается на сервере, чтобы прийти к решению, так что игра может ставить ворота на ключе сайта.
  • Самопроверка сбоит → игра показывается как Не воспроизводима. Она всё ещё залистена и всё ещё встраиваема, но только как UX (не ворота безопасности), пока ты не опубликуешь версию, которая проходит. Сайты, уже на более ранней воспроизводимой версии, продолжают запускать ровно тот снимок.

Вот почему детерминизм не является опциональным лоском: это черта между игрой, которая может охранять ключ сайта, и той, что лишь декоративна.

Чем игра для Marketplace отличается от пользовательской игры

Игра для MarketplaceПользовательская игра
Кто может её встроитьКто угодно, по id игрыТолько ты
РазмещениеЗакреплено платформой из твоего GitHub / npmТы размещаешь бандл (game-src)
Схема настройкиОбъявлена в caputchin.jsonОбъявлена в панели
Артефакт реплеяИндексируется из run манифестаЗагружается в панели
ОбнаружениеПросматриваемый MarketplaceНет

С чего начать

Если ты никогда не строил игру Caputchin, прочитай Построй игру для Marketplace сверху донизу, затем Контракт реплея. Когда будешь готов выпускать, следуй Опубликуй в Marketplace. Движковый набор опционален и его можно полностью пропустить.

См. также

На этой странице