Документация VIMP SDK
VIMP — P2P-движок для 2D-мультиплеера в реальном времени: браузерный хост считает авторитетную симуляцию, PixiJS-клиенты подключаются по WebRTC, а игра — пакет-плагин, который движок загружает в рантайме. Эти страницы описывают контракт, который реализует плагин игры, и инструменты вокруг него.
Разделы
| Страница | О чём |
|---|---|
| overview.md | Модель: что вы поставляете, номера версий, что комната делает с вашей игрой, ограничения потоков, маскировка задержки, ключевые инварианты |
| scaffolding.md | Скаффолдер npm create vimp-game: флаги, что содержит минимальная игра, цикл проверки (check:contract → core:test → sim → dev) |
| standalone.md | Standalone SDK (vimp-engine/standalone): играбельный матч в одной вкладке без входа и лобби — опции, контейнер, ассеты, чем соло отличается от игры |
| plugin-api.md | Контракты движок ↔ плагин игры: GameManifest, HostPlugin, ClientPlugin, Wasm ABI, версионирование |
| game-config.md | Конфигурация игры: дефолты хоста движка, игровая половина конфига хоста, клиентский конфиг, форма авторизации, звуки, порты и опкоды, системные сообщения |
| snapshot.md | Порты, бинарный snapshot-кадр и его схема, формат ввода, форматы мета-данных (авторизация, панель, статистика, чат, голосование), RTT и кики |
| core.md | Rust-ядро движка (vimp-engine-core): обобщённые трейты и макросы, фрейминг снапшота, Wasm-обвязка, которую заполняет crate игры |
| host-meta.md | Мета-слой хоста: вызовы ядра игры, реестр участников, игровые правила движка, менеджеры и модули |
| client-api.md | Клиент для авторов игр: общий PixiJS, диспетчер и рендер-цикл, компоненты игры, ClientCore, parts и провайдеры, звук, ввод |
| maps-and-assets.md | Формат JSON карты (уровни, рампы, масштабирование, респауны), картинки, звуковой пайплайн, запечённые ассеты |
| packaging.md | Упаковка и сборка плагина игры: раскладка, package.json, генерация манифеста, две сборки Vite, wasm-pack, скрипты ассетов, dist/, документация плагина |
| debugging.md | Контур отладки: vimp-contract, headless-раннер (npm run sim), сценарии, проверки инвариантов, дампы ядра, рассинхрон предикта, рекордер |
| pitfalls.md | Чек-лист тихих контрактов и таблица правил vimp-contract |
| submitting.md | Публикация игры в npm и подача на платформу: требования, модерация, обновления, удаление |
Пишете плагин игры с LLM? Мета-слой для ИИ — тонкий порядок чтения, процесс разработки и анкета для интервью поверх страниц выше, а не вторая копия контракта.
С чего начать
- Хочу начать новый плагин игры → scaffolding.md
- Хочу понять, как это работает → overview.md, затем plugin-api.md
- Хочу запустить игру без сервера → standalone.md
- Хочу настроить игру → game-config.md, snapshot.md
- Хочу написать клиентскую часть → client-api.md, затем maps-and-assets.md
- Хочу собрать и упаковать плагин → packaging.md
- В матче что-то молча сломано → debugging.md, pitfalls.md
- Хочу опубликовать игру → submitting.md