{Need Ideas} Add shields without making them OP

Yesterday I released the open alpha of my first person melee combat game.

I noticed that the game lacks enough classes. Currently there is only infantry (one handed, two handed swords) and archer, but archer is only available by buying a gamepass.

I want to add another free class called Spartan, that will have a spear and a shield.

Here’s the issue:
Currently to block with a sword, players press RMB. A blocking animation plays for only 0.5 seconds. If something hits player from the front during that 0.5 seconds, it will be blocked, all other attacks will hit.
It won’t make much sense to make the shields work the same way, because it’s a shield, why not hold it as long as you want, instead of 0.5 seconds.

But if I make blocking with shields as long as button is pressed, instead of only 0.5 seconds, it will make shields objectively a lot better for defense.

The game is fast paced, so I don’t want to add a stamina system, which would bring the pace down a lot. But without a stamina system I don’t know how to nerf the shields down.

Any and all ideas are appreciated!

P.S. You might think that I’m advertising the game, and partially I of course am, but still the 95% purpose of this post is to really get ideas about shields. And to get the idea of how the combat system works, I’d appreciate if you joined the game.

How about making it so the shield can take only a few hits (maybe 3?) and when the shield is at 0 hits left you can make them put away their shield or break the shield for a short period of time so it is unusable


You could make it so the sheild can block one attack, and you’ll have to wait a certain amount of time to use that sheild again (inspired by minecraft)


@uhSkittle , @lV0rd
Thanks for the ideas!

Based on what you said, I decided to do this - A shield will have its own invisible stamina. Every time the shield is hit, stamina will reduce. When stamina is gone, player will get stunned for 2 seconds, unable to do anything, which will open him up for easy hits. The stamina will be enough for blocking 3 hits.

Also I’ll make it so that if the shield is not hit for 10 seconds, stamina restores to full.
The stamina won’t affect anything else in the game, players will still be able to attack as much as they want.

I very much like this idea so far, but the post is still open for suggestions.


All combat games have kick, punch or bash that can parry a player holding a shield :slight_smile:

1 Like

Try and do it the Infinity Blade way.

The way they solved this is by adding HP to the shield (as seen in the bottom)

Once the shield HP goes to 0, the shield is broken and cannot be re-used while in combat.

1 Like

Yeah mine has kick too. It already stuns the player for 0.5 seconds and does damage at the same time, ignoring the shield.

1 Like

The problem I see with this is that I need to either give the shield a lot hp, which again makes it OP, or give it low-mid hp, which makes it practically useless, compared to the ordinary sword block that can be used infinitely, even tho for 0.5 seconds only.
So I think the 2 second stun when shield is hit 3 times is enough, instead of breaking it.

You can try out Mordhaul (If you’re man with enough money) or simply try out Roblox Bulwark that have the best melee combat system on Roblox.
If it’s mainly fighting with NPCs then I’d suggest certain combat actions to be slow-mo.

How about the shield takes 0.75s to put up and to put away , during which time the character can be attacked- and while blocking with a shield, their attack is much slower and weaker, and they can walk but not run. Also maybe each attack vs a shield still has some small random chance of doing full damage.