Sauna Master
README.md
saunaSim
Pure simulation core for Sauna Master: the room state (temperature, humidity/löyly, stove intensity + fuel, vent, water bucket), the five patron archetypes with their comfort bands and satisfaction dynamics, and the shift definitions (spawn schedules, quotas, upgrades).
No entities, no UI — every function takes and returns plain tables, so the whole game balance is testable from the REPL in edit mode:
local Sim = require("@root::sauna.saunaSim")
local s = Sim.newState()
Sim.setStove(s, 3)
for i = 1, 600 do Sim.step(s, 0.1) end
print(s.temp, s.hum)