Build the runtime behind your AI-native game
Vifu is an open-source game runtime and visual creator Dashboard. Use it to connect Agents, build game rules, test real sessions, and publish one stable API for a web game, native app, or game engine.
Choose where to start
| Your goal | Start here |
|---|---|
| Run Vifu for the first time | Run with Docker |
| Work on Vifu source code | Run Vifu locally |
| Build a complete example game | Build an interactive short drama |
| Connect an Agent or model | Agent Providers |
| Understand the public runtime API | Core runtime design |
| See what the project is building next | Roadmap |
Your first project
The shortest path from an empty deployment to a callable game is:
- Create a project. The project keeps the game source, Agents, resources, releases, keys, logs, and analytics together.
- Connect a provider. Add an Agent runtime or model from Providers, then add the Agents your game will use.
- Build and test. Use Canvas for game flow or Short Drama for a timeline-first story, then run the draft in Preview & QA.
- Publish and integrate. Publish the Game release, create a project key, and call the stable project endpoint from your game.
Canvas and Short Drama edit the same project source. You can move between them without exporting, converting, or keeping two versions of the game.
Start the Docker deployment
From a Vifu checkout:
cp .env.example .env
docker compose up -dOpen http://localhost:6791, create the first local administrator, and confirm
the runtime is ready:
curl --fail --silent http://127.0.0.1:6790/healthThe Dashboard guides the remaining project setup. Read Self-hosting before exposing the deployment on a network.
Two views of one game
| Editor | Best for |
|---|---|
| Canvas | Connecting choices, state, Agents, tools, conditions, host actions, and endings as an executable graph. |
| Short Drama | Arranging scenes, cast, dialogue, choices, media, timing, and languages in a portrait timeline. |
Use Preview & QA to run the compiled draft before publishing. The preview uses the same runtime as the final Game release.
One stable runtime
A published project exposes its complete game through:
http://127.0.0.1:6790/{project-slug}/v1/gameIt also exposes an OpenAI-compatible API for direct Agent calls:
http://127.0.0.1:6790/{project-slug}/v1/chat/completionsThe endpoint stays stable while you publish new releases or change the providers behind your Agents. Provider credentials remain inside the Vifu deployment.
Move a project or ship a release
- Use a
.vfproject file when another creator needs the editable source and managed media. - Use a
.vifu-game.jsonruntime bundle when a host needs one immutable published behavior.
For the current implementation, read Core runtime design and Authoring and releases. Unfinished work is kept separate in Technical direction and the Roadmap.
