How to design weapons that each feel different
How we designed Mytheria's nine weapons around one verb each, from a harpoon that pulls to runes you set off later. See every weapon in play.
On this page
It's easy to fill a game with weapons that are really one weapon with different numbers, like a fast sword and a slow sword. Players notice, and stop caring about the next one. Mytheria, our pixel-art co-op game, has nine weapons, and we designed each one around something only it can do.
Every clip below is from the game, filmed for this post.
What makes weapons feel different in a game?
A weapon feels like its own thing when it changes what you do in a fight, such as where you stand or when you press. Damage, speed and range only change how well you do the same thing.
The short answer
How we design weapons in Mytheria:
- Each weapon has one action no other weapon has, like pulling, trapping or deflecting. If two weapons share one, we drop the weaker.
- Each weapon is tied to something from the world, such as the moon for the bow or the tide for the harpoon.
- The left button is the weapon's basic move, and the right button is what makes it special.
- Every weapon grows through the same five tiers, so learning one teaches you how all of them grow.
- No weapon is built to counter a region or a kind of creature, so each one has to be good everywhere.
Nine weapons, nine actions
Pick a weapon to see it in play. Each clip shows its left button and its right button, at real speed or at half speed.
Choose a weapon to see how it plays
Wayfarer's Blade, the duellist: a quick three-hit combo, and a parry on the right button that turns blows and bullets aside and makes your next cut a riposte.
Start with the action, then the world
We start every weapon by asking what you can do with it that you can't do with anything else. The harpoon pulls. The runeslate plants traps and sets them off later, the bell deletes bullets, and the familiar fights at a distance on its own.
Once the action is clear, we give it a home in the world: a lantern for a weapon that lights up the ground, or the moon for a bow that rewards timing. That keeps the weapons from feeling like a list of game mechanics. If two ideas share an action, we keep the stronger one.
Use the two buttons differently
Every weapon uses the left button, the right button and holding them down. The left button is the weapon's basic move, the thing you do most of the time. The right button carries its identity, like the blade's parry or the harpoon's rope. If a weapon's right button is only a stronger left button, we keep working on it.
Because the controls are the same, a player who has learned one weapon already knows how to hold every other one, and only has to learn what the new one does.
Grow every weapon the same way
Every weapon grows through the same five tiers:
- Tier 1 has the left button only.
- Tier 2 adds the right button, and with it the weapon's identity.
- At tiers 3 and 4 you pick one of two upgrades, each changing how the weapon plays. The bow can split into three arrows or pierce through foes, and the harpoon's rope can carry lightning or reel in several foes at once.
- Tier 5, the Awakening, lets you hold either button until it glows, then let go for the weapon's biggest move.
You forge a weapon at the anvil in the meadow, then raise it a tier at a time at the workshops of the island's settlements, part of the game's core loop. Because the shape is the same for all nine, players can switch weapons without relearning how progress works.
Make every weapon good everywhere
It's tempting to design a weapon for a job, like one for fliers and one for armour. We decided against it. If a region needs a particular weapon, players who love a different one are punished for their taste. So no weapon is built to beat a region or a kind of creature. Each one has things it's naturally good at, like the bell against dense bullet patterns, but all nine have to work everywhere.
Heavy weapons do carry more weight against big creatures, but that only changes how a hit feels, and every weapon still works against them. It also means the weapons have to be balanced against each other, and we keep every weapon inside the same damage budget for its tier. The feel of each hit comes from the same toolkit we use everywhere, described in how to make combat feel good.
Building nine weapons in Godot
In our Godot code, each weapon's rules live in their own file, and one small dispatcher sends input to the right one, so adding a weapon doesn't touch the others. Damage, timing, ranges and tier upgrades live in one data file, so balancing never means editing code.
Every weapon reports hits, marks and bursts as the same kind of events, so hit effects, sounds and co-op work for all nine without special cases. Each weapon still adds its own contact sound; see game sound effects.
A development arena lets us pick any weapon at any tier, spawn dummies, creatures and bullet patterns, and try it at once. The clips in this post were filmed there.
A checklist for designing weapons
- Give each weapon one action no other weapon has.
- Tie each weapon to something from your world.
- Keep the controls the same everywhere and put the difference in what the buttons do.
- Grow every weapon in the same shape.
- Make every weapon work everywhere instead of building weapons to counter content.
- Keep the numbers in data and test every weapon in an arena.
Further reading
- How to make combat feel goodHow we made combat feel good in our indie game Mytheria: hitstop, hit flash, knockback and screen shake, with real frame data you can try yourself.
- How to make a dash feel good: charges, cooldowns and animationHow the dash in Mytheria works: speed, distance, cooldown, charges, invincibility frames and the animation. Try the charges yourself, with real numbers.
- MytheriaThe game these weapons belong to: a pixel-art co-op adventure for one to four players.
Wishlist Mytheria
Mytheria is a pixel-art co-op adventure for one to four players, coming to Steam for Windows, macOS and Steam Deck. A wishlist is the best way to follow it and to help us.