Skip to content

VIMP SDK documentation ​

VIMP is a P2P engine for real-time multiplayer 2D games: a browser host runs the authoritative simulation, PixiJS clients connect over WebRTC, and a game is a plugin package the engine loads at runtime. These pages describe the contract a game plugin implements and the tools around it.

Sections ​

PageCovers
overview.mdThe model: what you provide, version numbers, what a room does with your game, thread constraints, latency hiding, key invariants
scaffolding.mdThe npm create vimp-game scaffolder: flags, what the minimal game contains, the check loop (check:contract → core:test → sim → dev)
standalone.mdStandalone SDK (vimp-engine/standalone): a playable match in one tab without sign-in or lobby — options, container, assets, how solo differs from play
plugin-api.mdEngine ↔ game plugin contracts: GameManifest, HostPlugin, ClientPlugin, Wasm ABI, versioning
game-config.mdGame configuration: engine host defaults, the game half of the host config, the client config, the auth form, sounds, ports and opcodes, system messages
snapshot.mdPorts, the binary snapshot frame and its schema, the input format, the meta-data formats (auth, panel, stats, chat, vote), RTT and kicks
core.mdThe Rust engine core (vimp-engine-core): generic traits and macros, snapshot framing, the Wasm glue a game crate fills in
host-meta.mdThe meta layer of the host: calls into the game core, the participant registry, the engine-owned gameplay rules, managers and modules
client-api.mdThe client for game authors: the shared PixiJS instance, dispatcher and render loop, game-facing components, ClientCore, parts and providers, sound, input
maps-and-assets.mdMap JSON format (levels, ramps, scaling, respawns), images, sound pipeline, baked assets
packaging.mdPackaging and build of a game plugin: layout, package.json, manifest generation, the two Vite builds, wasm-pack, asset scripts, dist/, plugin docs
debugging.mdThe debugging loop: vimp-contract, the headless runner (npm run sim), scenarios, invariant checks, core dumps, prediction divergence, the recorder
pitfalls.mdThe silent-contract checklist and the table of vimp-contract rules
submitting.mdPublishing a game to npm and submitting it to the platform: requirements, moderation, updates, removal

Writing a game plugin with an LLM? The AI meta-layer is a thin reading order, an authoring workflow and an interview questionnaire over the pages above — not a second copy of the contract.

Where to start ​

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