· Midnight Outpost Team · Devlog · 4 min read
Devlog #3 — Equipment, Stats, and Making Combat Feel Right
Swords, shields, floating damage numbers, and a stat system that actually matters. This devlog covers everything we built to make combat in Midnight Outpost feel meaningful.

Combat in an early prototype usually feels bad. Enemies move toward you, you click, numbers go down, they die. It works mechanically but it does not feel like anything. This devlog covers the work we did to fix that — building the equipment system, stat sheet, visual feedback, and enemy AI that make fights in Midnight Outpost feel like they have stakes.
The Equipment System
Players now have two equipment slots that map to their hands:
- Back hand — tools and melee weapons (axes, swords)
- Front hand — ranged weapons and shields
This distinction is not just cosmetic. Equipping a sword puts it in the back hand and enables melee attack animations. Equipping a shield in the front hand blocks that slot from weapons but adds passive defense. You can carry a sword and a shield at the same time — the front hand sprite is hidden when the shield is up, and your defense stat reflects the equipped shield’s value.
The Character Panel shows both slots side by side, with your current ATT, DEF, and SPD values calculated from your equipped gear. Opening it mid-fight to swap loadouts is a deliberate decision — there is no pause.
The Stat Sheet
Under the hood, every player now has a StatSheet — a node that tracks base stats and recalculates totals whenever equipment changes. Damage output, damage reduction, and movement speed all flow through this system.
This matters for a few reasons. First, it means stat changes are immediate and visible: equip a stone sword and your ATT goes up instantly. Second, it opens the door for temporary buffs — a consumable that boosts speed for 30 seconds, a campfire that increases defense while you are near it. The infrastructure is there; we will use it.
Third, it means the zombie waves can scale in a way that responds to player power. The system does not just track numbers — it makes those numbers mean something.
Floating Damage Numbers
Small change, large impact. Every hit now spawns a floating number above the target that fades out over 0.75 seconds. White numbers appear over enemies. Red numbers appear over the player (after shield damage reduction).
Zero-damage hits show nothing. This was a deliberate choice — if a hit does no damage, we do not want to communicate that with a “0”. We want the player to feel the block, not read it.
This single addition made playtesting dramatically more legible. You can immediately see whether your weapon is making a dent, whether your shield is absorbing anything, and whether the zombie you just hit is about to die.
Enemy AI and Animations
The zombie state machine was rebuilt from scratch this session. Each enemy now runs through five states: Idle, Chase, Attack, Hurt, and Death. Each state has its own animation and behavior logic.
The result is enemies that feel alive in a way the old version did not. They react to being hit. They track you with intention. When they die, they play a death animation before disappearing — a moment that gives the player a beat of satisfaction they did not get before.
We also randomized pitch and volume on zombie sounds per instance, so a crowd of enemies does not sound like a single audio loop repeated thirty times. That was a one-line fix that made a disproportionate difference.
Building Repair
One final system landed in this stretch: building repair. When a structure takes damage during a night attack, it can now be repaired during the day using a proportional cost based on how much HP is missing. Badly damaged walls cost more to fix than lightly damaged ones.
A building that reaches zero HP enters a ruined state — still visible, but inoperable and not worth defending. Repair is prioritized over upgrades: you cannot upgrade a structure that is not at full health. This creates a natural rhythm — survive the night, assess the damage, repair before you expand.
Where We Are
The game now has a working combat loop that feels like it has weight. Gathering feeds crafting, crafting feeds equipment, equipment feeds survival, and survival depends on everything working together. The Outpost is starting to feel like something worth protecting.
Next up: perimeter walls and a defense tower. The nights are only getting harder.
Join the conversation on Discord — we post progress updates there too.


