Dev Blog3 min read

No Combat in a Roguelike: How We Made Cold and Dark the Only Enemies

Stick Picker Simulator is a no-combat roguelike — no swords, no monsters. The cold, the dark, and a dying fire turned out to be more oppressive than any enemy, and here is how the design holds together.

For Roguelike players and game designers

  • no-combat-roguelike
  • roguelike-design
  • game-design
  • stick-picker-simulator
  • godot

Stick Picker Simulator is a no-combat roguelike. There are no swords, no monsters, and no health bar to chip away. The only enemies are the cold, the dark, and a fire that will not stop dying — and once we cut combat out entirely, every other system got sharper because of it.

This is the design decision people ask about most. A roguelike with relic drafts, deep runs, and a meta tree, but nothing to fight? Here is why that works, and why we think the absence of combat is the most interesting thing about the game.

The threat is environmental, and it never stops

In most roguelikes the pressure is intermittent. You clear a room, you breathe, you fight again. Combat is a series of spikes with valleys between them.

A dying fire has no valleys. The drain is always running. Step away to grab a far stick and the clock keeps ticking; deposit a haul and it keeps ticking; sit perfectly still and do nothing and it ticks faster, because doing nothing means the fire is starving. There is no safe room. The threat is the passage of time itself, and you cannot kill time.

That constant, low background dread is something combat can't easily produce. An enemy that's always attacking you at full strength stops being scary and starts being noise. A resource that's always draining never stops being scary, because the consequence is delayed and total.

Night is the boss fight

We didn't remove escalation — we moved it into the world. The single biggest difficulty lever in the game is simply nightfall.

# The drain rate, roughly. One float that everything else bends around.
var drain := (BASE_DRAIN + DAILY_INCREMENT * (day - 1)) \
    * area.drain_mult \
    * (1.6 if is_night else 1.0) \
    * shop_upgrade_mult \
    * coal_drain_mult

When the sun goes down, the fire burns 1.6× faster. Nothing announces a boss. The light just starts losing the argument with the dark, and a stockpile that felt comfortable at dusk is suddenly a countdown. The "fight" is the decision you made twenty seconds earlier about how far to wander.

Light is the only counterplay

Because there's nothing to hit, the entire skill expression lives in managing light against dark. Internally this is one abstraction — LightSource.covers() — and the hearth, your planted torches, and dungeon braziers all answer to it the same way. If a tile is covered, you're warm. If it isn't, the cold is spending your fire.

That single rule is the whole combat system, reframed:

  • Positioning matters, the way it does in an action roguelike — but it's about staying inside warmth, not out of attack range.
  • Resource trades matter — a torch planted in the dark is range you bought with fuel, exactly like spending mana for reach.
  • Routing matters — you commit to a path into the dark and have to make it back, the same gamble as diving one room deeper.

Take away the monsters and players still make all the tactical decisions a roguelike is built on. They just make them against the environment.

Distance is the difficulty curve

There are no harder enemies further out. There's just colder ground. The world is laid out in radial bands around your fire, and each band drains warmth faster than the last — the Frostwood pulls at 2.2×, the Ashlands at 3.0×.

That's the entire risk/reward economy in one number. The good loot is out where the cold is worst, so "should I push further?" is a real question with a real cost, and you answer it with prep — coal banked, torches in your pocket, a fire fat enough to survive your absence — instead of with a weapon loadout. The deeper you go, the more warmth the ground eats, and the more a single mistake costs you. That is the difficulty curve. It's spatial, not statistical.

What removing combat actually bought us

The honest version: cutting combat wasn't a constraint we worked around. It was the unlock.

Every system now points at one anxiety instead of two. We never have to balance "is the monster fun to fight" against "is the fire scary," because there's only the fire. The loot, the relics, the frost meta, the movement — all of it is in service of the same sentence: carry warmth out into the cold and bring it back before the clock kills you. One idea, expressed honestly in a dozen places, which is why a game about picking up sticks ends up feeling meticulously designed rather than thin.

It also self-selects an audience. Players who need a thing to kill bounce off, and that's fine. The ones who stay are the ones who find rationing wood at 2am more stressful than any health bar — and they're right to.

If you've only ever felt roguelike tension through combat, this is the pitch: we kept the runs, the loot, the builds, and the "one more try," and we threw out the violence. The cold does the job. (It's the same trick as the name — looks like nothing's there, then it isn't.)

Related posts

Genre3 min read

The Best Roguelikes With No Combat (2026)

Looking for a no-combat roguelike? Here are the best roguelikes with no fighting in 2026 — from poker and slot machines to a survival game where the only enemy is a dying fire.

  • no-combat-roguelike
  • roguelike-design
  • best-of
  • stick-picker-simulator
Read post
Dev Blog5 min read

Signal Bus Architecture in Godot 4: How We Decoupled Fire, Player, and UI

A practical guide to the signal bus (event bus) pattern in Godot 4 — how a single autoload of signals let us decouple the fire, the player, and the UI in Stick Picker Simulator, and what the pattern actually costs.

  • godot
  • godot-signal-bus
  • game-architecture
  • gamedev
Read post

← Back to all posts