Interactive dramas
Compose scenes, choices, Agent dialogue, media, localization, and endings.
Open-source game runtime
Design gameplay state, Agent orchestration, and interactive story flows in Canvas or Short Drama. Preview, publish, and run the same backend through one stable project endpoint.
POST /my-project/v1/game/rungame.start / choiceauthorize + load releaseadvance state graphresolve requested effectstate + eventssession persistedVisual source, headless runtime
Canvas and Short Drama write one project source. Publishing compiles it into an immutable runtime that web and native games drive through stateful commands.
Canvas and Short Drama edit the same executable project design.
Bind provider-backed Agents to versioned personas and capabilities.
Choices, Agent effects, host actions, and endings advance one durable state.
Publish a pinned runtime while the next project draft keeps evolving.
POST http://localhost:6790/my-project/v1/game/run
Authorization: Bearer vifu_pk_example
Content-Type: application/json
{
"host": {
"engine": "my-game",
"capabilities": []
},
"input": {}
}Built with Vifu
Last Train to the Moon combines four character Agents, branching state, free-text interactions, host actions, localization, media, and three endings. This playthrough runs against its published Game Runtime endpoint.
One backend, many presentations
Compose scenes, choices, Agent dialogue, media, localization, and endings.
Manage character behavior and versions behind one project runtime.
Connect player state, conditions, tools, and Agent decisions as a graph.
Drive the same release from a web game or native engine through its endpoint.
Local and self-hosted
Run the Apache-2.0 stack, build a project in the Dashboard, test a real session, and publish the runtime your game will call.
Copy .env.example to .env in the open-source Vifu checkout.
Run docker compose up -d to launch PostgreSQL, Vifu, and the Dashboard.
Open localhost:6791, create a project, configure a provider, and add its Agents.
Build in Canvas or Short Drama, run Preview, then publish the project Game endpoint.