MushRog

Now you can dodge

October 12, 2026 mecanicabastidores

The first version of the prototype was a number simulation with keys. You pressed 1, the damage showed up in a log, and the boss hit back with no warning. Today it became a game: there’s a floor, there’s a body, there’s a red circle growing where the hit will land, and you run out of it.

Why

The phase 0 question is whether swapping characters to react is fun. Without position, the swap has no cost and no tension: you swap whenever you want, from wherever you want. With position, the swap happens while the Ember is coming, and the Warrior comes in with an area strike that only connects if you’re close. That’s when the swap becomes a decision.

How it works

Movement is WASD or clicking the ground, Ragnarok style. The click got in by accident, while we were testing over remote access where a held key doesn’t register, and it stayed because it’s the same gesture that touch on a phone will use. There’s one body per team, and what changes on a swap is the character inside it.

Every skill has a range. Heavy Strike requires touching the boss, and Fireball goes from far away. Out of range, “far” shows up and nothing happens.

The boss walks up to you, picks an attack that reaches and telegraphs it: a circle on the ground that fills in 0.8 to 1.1 seconds. Tail Sweep is around it, and Ember lands where you were when it started. Leaving the circle is the dodge, with no roll button.

Damage becomes a floating number in the element’s color. A reaction becomes a big number, the name in capitals and an expanding ring. Taking a hit shakes the screen.

The simulation stays pure: the client only sends “move there”, “use skill 2”, “swap”, and draws what it sends back. We have twenty-six tests, including one where the player leaves the circle in time and takes no damage.

First playtest

The same day, with no assets, rectangles against a rectangle, the fight got interesting. We lost every time. The Salamander has 1500 health, Ember takes 16 and Tail Sweep 24 off a Mage with about 100, and the new player stands still inside the circle watching the cooldown. That was exactly what phase 0 wanted to find out: you want to try again, and the feeling is “I need to learn”, not “this is unfair”. We’ll keep the difficulty and learn before touching the numbers.

Next step

Play for real and tune numbers: speed, windup, circle size. Then layered sprites in place of the rectangles.

Changes

  • feat(core,client): positions, range, telegraphed boss attacks, playable feel

    Teams carry position and movement; skills check range and auto-target the nearest mob; mobs walk, telegraph circle attacks with windup and resolve on whoever is still inside. Client gets WASD, interpolated rendering, telegraph discs, floating damage numbers, reaction rings, hit flash, screen shake and a HUD. Screenshot tool for smoke checks.

  • feat(client): click-to-move

    Left click walks to the point (Ragnarok style). Works over remote desktop, where held keys do not register, and maps to touch later.

← Back to the devlog