Status: working draft hardened from the March 11, 2026 design notes. This document describes the intended shape of the game and the current technical direction. Use First Slice for the prototype defaults that should drive implementation first.
- Working title: TBD
- Core pitch: a simulation-first machine-building systems game on a true 3D grid
- Player fantasy: construct dense, layered industrial machineworks inside constrained space where volume, ports, facing, altitude, and network topology directly matter
- Primary design priority: readable, sliceable, inspectable 3D machine architecture
- Simulation-first. The game is about interacting systems, not avatar action or spectacle.
- True volumetric logic. The authoritative world model genuinely exists in 3D space.
- Readable complexity. Every increase in spatial richness must be matched by better inspection tools.
- Constraint over sprawl. Placement rules should generate depth without turning the space into noise.
- Code-first development. The simulation model should stay easy to test, save, replay, and refactor.
- Deterministic-friendly architecture. Commands, saves, and replays should behave consistently from identical input.
The current direction is an arcane-industrial factory game with a bio-industrial secondary layer. Magic is treated as engineering, not as a separate genre layer. The player acts primarily as planner/architect rather than embodied avatar.
The game loop is:
- Place and rotate machines on the 3D grid.
- Connect machine faces through valid adjacent routing and power links.
- Feed inputs into compact structures with limited space and support.
- Observe throughput, bottlenecks, power strain, and contamination risk.
- Reconfigure layouts to improve compactness, efficiency, and stability.
Progression should combine a tech tree, fabrication of unlocked machines, blueprint discovery, and scenario-specific rewards. One of those must eventually become the dominant unlock channel; for now, the slice only needs enough progression to stage a short scenario.
- Space: discrete 3D grid of uniform cubic cells
- Cell state: occupancy, support/terrain state, per-face adjacency, and lightweight environmental values such as contamination exposure
- Placement rules: machines occupy one or more cells, expose typed face-specific interfaces, and obey support and occupancy constraints
- Rotation: 90-degree steps around the vertical axis in the first implementation
- Map structure: bounded scenario maps with fixed terrain volumes and curated resource nodes
Functional occlusion should stay minimal early. Visual occlusion is handled through slicing, hide-above/hide-below, translucency, and overlays.
Machine categories in the broader design space:
- extraction/intake
- intermediate processing
- transport/routing
- power/energy
- storage/buffering
- control/automation
- bio-industrial processing
- magic/field systems
Ports are face-specific and typed. Connections are derived from valid placed adjacency, not hand-authored scene wiring. Compatibility rules determine whether two adjacent faces can exchange items, power, or other state.
The first implementation should prefer a small resource vocabulary:
- discrete solids/items for materials
- one explicit power network
- volumetric contamination as a field-like environmental value
Fluids, gases, and richer chemistry are later concerns unless the prototype proves they are required to make the slice interesting.
Inspection tooling is a core requirement, not polish. The baseline feature set is:
- slice up/down through the build volume
- hide-above or hide-below the active plane
- constrained camera rotation
- placement ghost and blocked-placement feedback
- machine and port highlighting
- connectivity overlay
- throughput/bottleneck overlay
The default camera should be a constrained orbit camera with step rotation, bounded zoom, and slice controls as first-class input.
Interaction should be mouse-first with keyboard support for precise grid navigation, slice control, and rotation.
- Visual target: readable stylized 3D with low asset cost
- Art direction: low-poly arcane-industrial machinery with strong silhouettes and high-contrast state overlays
- UI style: analytical, legible, systems-oriented
- Animation philosophy: functional clarity over spectacle
- Audio philosophy: restrained machine ambience and state cues that clarify system health
The first milestone is a narrow vertical slice that proves dense volumetric machine logic is both understandable and worth scaling.
The slice should include:
- a small bounded 3D map
- basic camera rotation
- slice up/down
- face-specific IO
- a small set of machines and routing pieces
- one power family
- one simple production chain
- at least one overlay that exposes connectivity or throughput
The slice explicitly does not need broad content, combat, procedural world generation, modding, multiplayer, or narrative depth.
- Engine/runtime: Bevy
- Authoritative state: plain Rust domain model, independent of Bevy ECS entities
- Rendering/input/UI: Bevy
- Asset flow: Blender to glTF/GLB to Bevy
- Save/load: versioned JSON first, with binary snapshots as a later optimization
- Content definitions: human-editable structured data such as RON, TOML, or JSON
The main architectural rule is that simulation state stays authoritative and engine-facing state is derived from it.
Player actions should become explicit commands applied to the simulation model. Rendering and input should remain decoupled from fixed-step simulation ticks.
The command model should support:
- building actions such as place, remove, and rotate
- machine configuration changes such as recipe or mode selection
- deterministic save/load
- deterministic replay from initial state plus command stream
- golden scenario tests and round-trip serialization tests
- first-person embodiment as a baseline requirement
- freeform voxel terrain as the core world model
- physics-driven contraption simulation in the first milestone
- realism-focused presentation
- broad combat or enemy systems in the first playable
- whether the long-term identity stays mostly industrial or leans harder into bio-industrial/arcane systems
- how broad the eventual transport roster should become after the slice
- how contamination evolves beyond the prototype field model
- whether later scenarios need enemy pressure at all
- how progression channels should be prioritized once a campaign structure exists