Skip to content

Repository files navigation

🕯️ Thysalion

An isometric voxel RPG in the lineage of Ultima VII: a chunky little world that simulates first and asks questions later.

Thysalion renders dense voxel dioramas — market towns at late afternoon, harbours at blue hour, swamps at twilight — and fills them with NPCs who know things, fires that spread, rain that wets the cobbles, and light that behaves. Under the hood it is a Rust engine with an unusual spine: game rules run as incrementally maintained dataflow views, and world knowledge lives in a queryable graph.


Why Thysalion?

  • Simulation-first. Perception, fire spread, rumour, and light level are derived facts, not scripted events. Rules are expressed once, as incremental views over the world, and stay correct as the world changes.
  • Deterministic by construction. The DBSP circuit that computes all derived game state is reproducible tick for tick — replays and honest saves come with the architecture.
  • NPCs with beliefs, not flags. Each character holds a named RDF graph of what they think is true. It can be wrong. Gossip, lies, and stale news are first-class citizens of an oxigraph store.
  • The good kind of lighting. Three tiers — clustered forward direct light, a flood-fill voxel light field, and diffuse global illumination probes ray-marched through the voxel grid itself — with no ray-tracing hardware required.
  • Bounded dioramas, not infinite noise. Scenes are authored, loaded whole, and meshed at load on Bevy 0.19.

Quick start

Thysalion is at the design stage; the engine is under construction. The build and test scaffolding works today:

Build and test

git clone git@github.com:leynos/thysalion.git
cd thysalion
make test    # prefers cargo nextest run, falls back to cargo test
make lint    # clippy, warnings denied

Read the design

The fastest way into the project is the design document:

$EDITOR docs/thysalion-design.md

It defines the four-plane architecture — state (Bevy ECS), logic (DBSP circuit), knowledge (oxigraph), and presentation — and the contracts between them.


Features (designed, in build order)

  • Bounded voxel scenes with palette-driven materials, per-face passability, and prototype-inherited entities
  • A single DBSP circuit as the authority for all derived game state, with seven named verification invariants
  • Per-NPC belief graphs, storylet dialogue gated by SPARQL preconditions, and TriG as the designer-facing authoring format
  • Tiered lighting: day/night, weather, wet-surface response, and leak-resistant probe GI on mid-range GPUs
  • Material simulation as stencil-updated scalar fields (heat, moisture, fuel) co-located with the voxel grid

Learn more


Licence

ISC — see LICENSE for details.


Contributing

Contributions welcome! Please read AGENTS.md and the developers' guide before diving in.

About

An isometric voxel RPG in the lineage of Ultima VII: a chunky little world that simulates first and asks questions later.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages