Выпусти игру в маркетплейс
Игра для маркетплейса это игра, которую ты строишь один раз, и кто угодно может её встроить: ты публикуешь публичный репозиторий GitHub, платформа его индексирует, а пользователи достают его по id игры без участия с твоей стороны. Это противоположный конец от пользовательской игры, которую можешь использовать только ты и которую ты размещаешь сам. Этот раздел это подробное руководство «построй-и-опубликуй» по пути маркетплейса.
Если ты хочешь игру только для своих собственных ключей сайта, тебе нужна разработка пользовательской игры вместо этого. Приходи сюда, когда хочешь распространить игру каждому пользователю Caputchin.
Весь конвейер
Каждый блок отображается на страницу в этом разделе:
| Часть | Что это | Страница |
|---|---|---|
| Игра | Самодостаточный JS-бандл, построенный против игрового SDK, который работает в iframe виджета в песочнице. | Построй игру для маркетплейса, Справочник SDK |
| Манифест | caputchin.json в корне репозитория, описывающий игру, её пресеты и её бандл. | Манифест caputchin.json |
| Контракт реплея | Детерминированный run(seed, trace) -> verdict, который сервер перезапускает, чтобы прийти к авторитетному решению. | Контракт реплея |
| Движковый кит | Опциональный кит авторствования, который производит соответствующий run из обычного редьюсера. | engine-kit |
| Публикация | Пометь репозиторий тегом, индексатор обнаруживает и закрепляет его, опционально автоматизируй через CI. | Опубликуй в маркетплейс |
Воспроизводима против не воспроизводима
Самая важная идея на этом пути: игра для маркетплейса может ставить ворота проверки, только если она воспроизводима на сервере. Когда индексатор поглощает твою игру, он запускает самопроверку реплея: загружает твой headless-артефакт run в запечатанный изолят и подтверждает, что он производит валидный вердикт.
- Самопроверка проходит → игра воспроизводима: раунд реального игрока перезапускается на сервере, чтобы прийти к решению, так что игра может ставить ворота на ключе сайта.
- Самопроверка сбоит → игра показывается как Не воспроизводима. Она всё ещё залистена и всё ещё встраиваема, но только как UX (не ворота безопасности), пока ты не опубликуешь версию, которая проходит. Сайты, уже на более ранней воспроизводимой версии, продолжают запускать ровно тот снимок.
Вот почему детерминизм это не опциональный лоск: это черта между игрой, которая может охранять ключ сайта, и той, что лишь декоративна.
Чем игра для маркетплейса отличается от пользовательской игры
| Игра для маркетплейса | Пользовательская игра | |
|---|---|---|
| Кто может её встроить | Кто угодно, по id игры | Только ты |
| Размещение | Закреплено платформой из твоего GitHub / npm | Ты размещаешь бандл (game-src) |
| Схема настройки | Объявлена в caputchin.json | Объявлена в панели |
| Артефакт реплея | Индексируется из run манифеста | Загружается в панели |
| Обнаружение | Просматриваемый маркетплейс | Нет |
С чего начать
Если ты никогда не строил игру Caputchin, прочитай Построй игру для маркетплейса сверху донизу, затем Контракт реплея. Когда будешь готов выпускать, следуй Опубликуй в маркетплейс. Движковый кит опционален и его можно полностью пропустить.
См. также
- Построй игру для маркетплейса: руководство по построению.
- Контракт реплея: что делает игру воспроизводимой.
- Опубликуй в маркетплейс: тег, индексация, автоматизация.
- Разработка пользовательской игры: самостоятельно размещаемая альтернатива только-для-твоих-ключей.