Sluice
Plan the water’s route. See how the day unfolds.
Screens
Project concept · work in progress
What it does
Make water scheduling understandable as a turn-based puzzle of supply, timing and consequence.
How it works
- Step 1Arrange the system
The player changes the allowed controls before resolving a day.
- Step 2Run the day
The core advances scheduled units of water through a defined tick order.
- Step 3Read the outcome
The simulator records deliveries, releases, flooding and unmet needs.
- Step 4Adjust & retry
The UI animates the recorded moves and exposes the resulting state for the next decision.
Your layoutGates · routes
Arrange a level’s supported control points.
Canal boardSwiftUI · Canvas
Show the layout and the unfolding daily outcome.
Tick simulationSwift · 12 ticks per day
Advance the game’s explicit water and production rules.
Event traceDayTrace
Record what happened before animating it.
Level dataJSON · LevelCodec
Load and validate authored maps and constraints.
Day playbackDayAnimator
Play the recorded outcome without recomputing the rules.
Stack
Swift · SluiceCoreSwiftUI CanvasDiscrete tick simulationEvent/trace recordsJSON level codecBounded solverLocal progress store
A deterministic game simulation, not a real-world fluid solver.