Worlds that simulate, characters that remember, stories that grow on their own.
Not a chat client. Not a character-card wrapper. DreamEngine is a small RPG-style simulation engine that drives an LLM to keep an internal world state alive — items stay where you left them, characters evolve their own bonds, and the world has rules it actually obeys.
Most LLM roleplay tools are thin wrappers. DreamEngine is built around the idea that a believable world needs persistence, perspective, and consequence.
Drop an item on a table; come back ten thousand messages later and it is still right where you left it — unless somebody moved it.
A complex bond system lets characters build relationships over time, not only with you, but with each other.
The user is not the main character. The world does not bend around you, and characters do not owe you anything.
If the world says no magic, there is no magic. If you are not strong enough to lift the chest, you do not lift it.
Each character experiences the world from their own perspective. Things that happen out of sight are simply unknown to them.
A dynamic exponential context resizer keeps stories fresh and limits repetition, automatically.
Characters, worlds and items are sandboxed JavaScript. Behaviour can be arbitrarily rich without consuming attention tokens.
Works with Llama, Mistral, GLM and other compatible models — local or remote, your hardware, your call.
Items have weight and volume. Characters have strength and carrying capacity. The world behaves accordingly.
Screenshots from the current development build.
DreamEngine is a community project by a solo developer. Timelines are intent, not promise.
Core simulation loop, scripting sandbox, bond system, and dynamic context resizing under iteration. Public source on GitHub.
An initial alpha aimed at developers and curious tinkerers, with prebuilt Electron app and DreamServer for local inference.
Larger script library, broader model compatibility, community-built worlds, and tooling to make verse authoring approachable.