Skip to content

Подача игры ​

Игра доходит до игроков в три шага: вы публикуете пакет плагина в npm, подаёте его на платформу из лобби, и модератор его одобряет. После одобрения игра появляется в каталоге лобби, и на ней можно создавать комнаты.

Требования ​

  • Пакет публичен в npm. Платформа скачивает его из реестра без авторизации. Для scoped-имени (@you/my-game) первая публикация — npm publish --access public.
  • files: ["dist"]. Публикуется и читается только dist/; остальное содержимое репозитория до платформы не доходит. dist/manifest.json генерирует сборка (packaging.md).
  • Зелёный vimp-contract на собранном пакете (debugging.md).
  • Id игры — это manifest.id: строчные латинские буквы, цифры и дефис, начинается с буквы, 2–31 символ. Он уникален на платформе; mine, submit, manifest и lookup зарезервированы.
  • Версия — обычная semver-тройка (1.4.0, допустим суффикс пре-релиза), а manifest.version — непустая строка.
  • Один аккаунт может подать до 20 игр.

Платформа проверяет dist/ структурно и никогда не исполняет плагин: manifest.json на месте и является объектом; engineApi — целое число; title и version — непустые строки; assetsBase оканчивается на /; entries client, host и wasm объявлены, а файлы лежат внутри dist/ (так же wasmNode, если объявлен, — относительным путём); maps.list — непустой список, и каждый dist/maps/<name>.json существует; у каждого поля roomForm есть значение в roomDefaults (или значения берутся из карт). Игра, чей requires называет неизвестную движку возможность, принимается, но показывается недоступной, см. overview.md.

Публикация пакета ​

bash
npm run core:build        # Wasm-ядро (таргеты web и node)
npm run build             # оба бандла, dist/manifest.json, ассеты
npm run check:contract
npm publish --access public

Поднимайте версию в package.json для каждого релиза: npm не принимает одну версию дважды, а платформа опознаёт заявку по имени пакета и версии.

Подача ​

  1. Войдите в лобби, откройте бейдж пользователя и выберите My games.
  2. Введите имя npm-пакета и, по желанию, версию (пусто — последняя); нажмите Load. Форма покажет предпросмотр, прочитанный из пакета: id, название и ссылку на проект.
  3. Нажмите Submit for review.

Платформа скачивает пакет и выполняет описанную проверку до записи заявки. Сломанный пакет отклоняется с полным списком проблем и в очередь не попадает; исправьте, опубликуйте новую версию и подайте снова.

Модерация ​

Заявка остаётся pending, пока модератор не решит; решение — approved, rejected или, для уже работающей игры, disabled. Модератор может оставить замечание: оно показывается на карточке игры в My games. Перед одобрением модератор может открыть скрытую тестовую комнату на поданной версии. Одобренная игра попадает в каталог лобби примерно за минуту.

Обновление ​

Нажмите Update version на карточке игры и введите новую версию. Она проходит ту же проверку и ту же модерацию; пока она ожидает, игроки играют на одобренной версии. Подача новой версии снимает прежнее замечание и отменяет отказ.

Ссылка на проект ​

Лобби показывает ссылку на проект игры рядом с её версией. Это homepage пакета, и только если его нет — repository. Флаг скаффолдера --repository пишет оба поля (scaffolding.md).

Удаление игры ​

Автор удаляет игру из My games, если она не одобрена (одобренную сначала отключает модератор). Удаление мягкое: игра сразу пропадает из лобби, а данные профилей по ней (рейтинги, состояния) стираются окончательно через 30 дней; до этого модератор может её вернуть. Id и имя пакета остаются занятыми на эти 30 дней.


← Предыдущая: Ловушки и инварианты · К оглавлению SDK →

vimp-engine 0.38.1 · vimp-engine-core 0.23.2 · create-vimp-game 0.5.4