Devlog · 016

Two Hands on the Hilt

Until this week, every weapon in Dreadmark swung like a one-handed sword, because under the hood every weapon was a one-handed sword with a different mesh. The two-handed bases existed in the loot tables — a Pilgrim's Greatsword drops, occupies both hands, blocks your shield slot — but pick one up and the Penitent would wave it around one-handed like a kitchen knife. This round gave the big weapons their own body.

The core decision was architectural: a one-handed swing plays on the upper body only, so you can slash while running — that's the fast, mobile baseline the combat was tuned around. A greatsword swing is a whole-body motion; play it on the torso alone over running legs and it looks like two characters stapled together. So two-handers now plant and swing: the full body commits to the strike, the feet step with it, and for that half-second you are rooted. In exchange, the blade reaches further and hits like a verdict. Walking and running got their own two-handed carriage too — shoulders set, blade heavy — and the whole set moves at the weapon's own deliberate pace instead of a sped-up one-hander's.

The Penitent mid-swing with a two-handed weapon, fully committed to the strike amid a pack of skeletons
Plant and swing — the two-handed game, finally in the frame.

Getting there surfaced an entertaining rogue's gallery of animation bugs: swings that zigzagged (the source clips were multi-hit combo takes, not single strikes — carved apart, problem gone), legs that moonwalked (the walk cycle's foot cadence was slower than the character's actual travel speed — playback now scales to match), and a sword trail that once flew off across the arena because it was measuring its own ribbon instead of the blade.

The trail matters more than decoration now, because reach became a real stat. Every weapon base carries an authored reach in metres — seeded by measuring every single weapon mesh in the game, hilt to farthest point — and the swing's hit zone, the aim preview, and the trail all read the same number. A dagger reaches like a dagger; a greatsword's extra half-metre of steel is an extra half-metre of threat, and the tooltip says so: Reach: 2.8 m sits right under the damage line. When you're comparing two drops, range is finally part of the argument, and what the tooltip promises is exactly what the swing delivers — the trail's edge sits on the true reach, so you can see the stat.

Small print for a big round: basic swings now always finish their arc instead of being interrupted by their own next press, so combat reads as strikes rather than flailing. The one-handed game is untouched — same speed, same mobility, byte-for-byte the same animations. The two-handed game finally exists.

← All entries