• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Game Mechanics Melee Combat - RNG or no RNG

Rob

Member
Hello everybody!

I've started to work on one of my passion projects and I know one of the most important parts of the game will be the combat system.

Just to give you an idea about the game itself: the working title is "Fantasy Ludus" and you'll be buying/hiring contenders from fantasy races to take part in gladiatorial combat.

The combat itself will be 1v1 and weapon length, distance from each other, which body part is being struck, amount of armour on each part will all play a part in the combat. The player will have little to no control after the combat starts.

I don't want to just have a pool of HP that goes down with each blow. There'll be limb loss, broken bones and all sorts of shenanigans.

On the topic title itself - I'd like some advice on creating a combat system that isn't too reliant on RNG but isn't completely predictable. A skilled contender should have the upper hand most of the time against a weaker opponent but lucky/unlucky blows can/do happen and that can be the start of a promising gladiator career.

I'd like it to feel fulfilling to the player and not feel like a load of die rolls.

My usual formula for working out combat starts out like this:
Code:
roll = irandom(100);
roll2 = irandom(100);
//Example 1
(attSkill/roll) / (defSkill/roll2)

//Example 2
(attSkill/roll) - (defSkill/roll2).

//Example 3
attSkill/defSkill vs roll
In a previous game I had all kinds of resistances and other raisable stats that made it easier or harder to hit/be hit but at the end of the day, the 1-100 roll was still there.

I know in games like XCOM there is RNG, and that it can also create tension (and save scumming). Bethesda moved away from those kind of rolls and you can see the difference between Morrowind melee and Skyrim Melee. You can take a high elf with a 2h blade in Morrowind and swing a dozen times before you actually land a hit due to your low skill but in Skyrim, you'll hit every time because your "skill" isn't affecting your hit rate.

I loved Morrowind a lot and spent hundreds of hours playing it but I definitely prefer Skyrim's combat.

I guess the question is "How do I want gladiator skill to affect the combat" and the answer is that I want those with higher skill to be better at blocking/attacking but for those with lower skill to still have some sort of fighting chance so I think I'll definitely need some kind of RNG there.

I don't really like any idea I have so far and it really makes me wish I'd learned game design in school because game mechanics are the hardest thing for me to get right.

Any thoughts/advice would be greatly appreciated! Do you like RNG in combat?
 
Last edited:
I usually try to avoid including RNG in combat mechanics where possible. It can add in excitement for the player for example maybe they score a critical hit or something, but it can also feel frustrating on the receiving end. Since you are having different races being able to fight each other, maybe you could look at weak points on each character and when playing against them trying to exploit that and the player having their own weak points that they are trying to defend in turn. Depending on how much you want to go into this, it could also relate to other things as well. Say for example; Elves weak point could be their shoulders. To make up for that some may be wearing some sort of protective shoulder armour, but that armour will eventually break and expose that weak point. The armour themselves could also have some sort of weakness for the player to find that makes them fail faster.

Since the player may not have direct control after combat starts, you could look at making it so that you can either -
* Organise a bunch of things your gladiator should concentrate on during the next battle - (eg. go for shoulders first, try to deflect attacks aimed direct on, etc...).
* Being able to send them orders during combat (eg. Defend upper body, Attack left arm, etc...).

Hopefully you find something helpful here. =)
 

Rob

Member
I usually try to avoid including RNG in combat mechanics where possible. It can add in excitement for the player for example maybe they score a critical hit or something, but it can also feel frustrating on the receiving end. Since you are having different races being able to fight each other, maybe you could look at weak points on each character and when playing against them trying to exploit that and the player having their own weak points that they are trying to defend in turn. Depending on how much you want to go into this, it could also relate to other things as well. Say for example; Elves weak point could be their shoulders. To make up for that some may be wearing some sort of protective shoulder armour, but that armour will eventually break and expose that weak point. The armour themselves could also have some sort of weakness for the player to find that makes them fail faster.

Since the player may not have direct control after combat starts, you could look at making it so that you can either -
* Organise a bunch of things your gladiator should concentrate on during the next battle - (eg. go for shoulders first, try to deflect attacks aimed direct on, etc...).
* Being able to send them orders during combat (eg. Defend upper body, Attack left arm, etc...).

Hopefully you find something helpful here. =)
I've been toying with the idea of different fighting techniques that the gladiators could study and they could focus on certain offensive and defensive capabilities which could help or hinder the different races, as you say. What if two gladiators from the same race are fighting though and I'd want to make raceX vs raceY fights at least a little unpredictable, where a certain combination of gear and fighting style cant be outdone by another.

I guess I should start messing around with different mechanics and see how it goes.
 
Just messing around and seeing what seems to feels right is a good start.

Depending on how in depth you want to go. You could also make it so that you can equip your gladiator with special/combo moves prior to the fight. That way you could add some unpredictability in different opponents instead of just concentrating on the same strategy for specific races each time.

Some of those special moves may trigger when certain body parts are damaged or broken. Others that are used as counter attacks when the opponent attacks a certain way, etc.
 
  • Like
Reactions: Rob

Rob

Member
Just messing around and seeing what seems to feels right is a good start.

Depending on how in depth you want to go. You could also make it so that you can equip your gladiator with special/combo moves prior to the fight. That way you could add some unpredictability in different opponents instead of just concentrating on the same strategy for specific races each time.

Some of those special moves may trigger when certain body parts are damaged or broken. Others that are used as counter attacks when the opponent attacks a certain way, etc.
If there's little to no RNG. how will I simulate misses etc? That's what's stumping me atm lol
 
I think RNG is fine, as long as it's done well. Nobody wants to see "miss!!!" fifteen times in a row in an ARPG, but having a 30% spread in damage and maybe up to a half chance to miss in the most extreme cases is fine, I think. The key is to make is possible to win through skill while still spicing up the combat with RNG a bit. That's the direction I'm going in my game, anyway.
 

Rob

Member
I think RNG is fine, as long as it's done well. Nobody wants to see "miss!!!" fifteen times in a row in an ARPG, but having a 30% spread in damage and maybe up to a half chance to miss in the most extreme cases is fine, I think. The key is to make is possible to win through skill while still spicing up the combat with RNG a bit. That's the direction I'm going in my game, anyway.
It's a hard thing to get right and it's something I've struggled with for months I think. In my game, failure would be more than just "miss miss miss". I'd like players to see old slaves fight really badly, with wild swings and unskilled combat with possible limb loss and decapitations. That's why I'm thinking about having both the combatants roll at the same time and base the outcome on that. Like if A swings but scores poorly and B tries to dodge but also scores poorly, it still might end up with A connecting the blow because B slipped into it. The more I type the more complicated it sounds but I don't see another way to relay the reality of combat to the player. He should see what happens when a scared, unskilled fighter is sent into the ring, as well as a well trained and highly skilled fighter.

Definitely have more thinking to do and I'm curious to see how your games combat is faring too ;)
 
Oh, sorry. Your game is turn based? I was talking about real time RPGs, since you mentioned Elder Scrolls. For turn based RPGs, I think constant misses are fine to show skill gaps between two units. Players just don't like seeing "miss" constantly in realtime games when they're obviously connecting on screen, haha. =)
 
  • Like
Reactions: Rob
G

Guest User

Guest
If there's little to no RNG. how will I simulate misses etc? That's what's stumping me atm lol
are we seeing these fights or is it a text readout?

my guess is that with no or limited RNG misses would be determined mostly by distance between the contenders, weapon reach, helmet visibility, head injuries, and balance in conjunction with the other contender's bodily injuries, helmet visibility, armor weight, and anything else affecting reaction time.

if everything checks out in whatever convoluted algorithm you make up, they hit. if not, they don't.
 
  • Like
Reactions: Rob
If there's little to no RNG. how will I simulate misses etc? That's what's stumping me atm lol
RNG is fine if done well (As RichHopelessComposer said). It really just depends on how much you are comfortable with including and to what extent. There could still be RNG in how the gladiators choose the order for their attacks (even if you set a priority on attacking a certain way, there could be variations on this to use race specific moves or some such). They could have priorities on when to react to certain attacks with an opportunity for dodges/misses/deflects (depending on how you decide to set up the actual stage for the game). This can also come back to races again and how agile some of them are. Some could be better at dodging slow attacks, while others might just not care and take attacks head on instead.
 
Last edited:
  • Like
Reactions: Rob

Rob

Member
Oh, sorry. Your game is turn based? I was talking about real time RPGs, since you mentioned Elder Scrolls. For turn based RPGs, I think constant misses are fine to show skill gaps between two units. Players just don't like seeing "miss" constantly in realtime games when they're obviously connecting on screen, haha. =)
It is more turn based than real time. You'll see 2 fighters battling it out. Fighter A might get to attack more than Fighter B if they are faster/have a higher initiative or something like that.

are we seeing these fights or is it a text readout?

my guess is that with no or limited RNG misses would be determined mostly by distance between the contenders, weapon reach, helmet visibility, head injuries, and balance in conjunction with the other contender's bodily injuries, helmet visibility, armor weight, and anything else affecting reaction time.

if everything checks out in whatever convoluted algorithm you make up, they hit. if not, they don't.
Unless I find an artist who's willing to do a LOT of art work then it will be mostly text read out with some basic sprite animations. Better than Age of Gladiators but worse than Domina (both on steam).

RNG is fine if done well (As RichHopelessComposer said). It really just depends on how much you are comfortable with including and to what extent. There could still RNG in how the gladiators choose the order for their attacks (even if you set a priority on attacking a certain way, there could be variations on this to use race specific moves or some such). They could have priorities on when to react to certain attacks with an opportunity for dodges/misses/deflects (depending on how you decide to set up the actual stage for the game). This can also come back to races again and how agile some of them are. Some could be better at dodging slow attacks, while others might just not care and take attacks head on instead.
Right now I'm thinking RNG with more tangible effects than miss/hit/miss/hit/critical could work the best. My head hurts from thinking about it lol!
 
Unless I find an artist who's willing to do a LOT of art work then it will be mostly text read out with some basic sprite animations. Better than Age of Gladiators but worse than Domina (both on steam).
Check out Spriter (I've found it easier to work with than Spine personally - though GM does have support for Spine's format). I normally use this when I need a number of different animations from the same character.

Right now I'm thinking RNG with more tangible effects than miss/hit/miss/hit/critical could work the best. My head hurts from thinking about it lol!
That's fair, hopefully you're able to come up with something that suits =) (feel free to drop me a DM if you want to ask or chat about any other aspects).
 
W

Widget

Guest
RNG is basically a fancy term for luck. The more your game relies on luck, the more the skill gap is narrowed. As in, beginner players can get lucky and expert players can get unlucky, whereas without luck being involved, expert players will always have an easier time compared to beginners. It depends on how casual you want to make your game/how important you want skill to be required.

Less skill needed? Increase RNG. Mostly skill needed? Much less RNG.
 
G

Gerald Tyler

Guest
So as Widget touched on, the amount of RNG will affect how "Skill based" the game is. So if your game is extremely hardcore, you'll get only a very small (But possibly very loyal) audience playing it. If you want it to appeal to the masses you'll need to "Make it more accessible" (Aka dumbing it down if you want a more inflammatory term)

Luck generally increases the casual enjoyment though. It lets players have those edge of the seat moments where it comes down to the enemy missing you, and you getting that critical that you needed to win. Some savvy designers will even include background code to secretly cause these moments to happen more often.

Are you trying to incorporate any counter play into the game? Or is it really just a slug fest where the higher stats are going to generally win?
For example, let's say I'm playing Halo 3 (Which you may not even be familiar with)
I generally use a BR : Battle Rifle. It's a medium range utility weapon.
Now let's say I run into a player using an AR : Assault Rifle. The AR is a shorter range weapon with bullet spread. So my opponent's goal would be to close the distance with me (To reduce the effect of their weapon's spread), so my "Counter" play is to simply move straight backwards (Not diagonally backwards because that lets them close the gap easier)
Or I might run into a player using a Brute Shot. Again a bit of a closer range weapon but the projectile is much slower. Again my opponent's goal will be to close the distance to make it harder for me to dodge the grenade being launched. My "Counter" for this weapon now is to sort of do a retreating strafe left to right as I'm dodging the projectiles, while also making sure that I'm not next to any walls that the grenade would impact and deal splash damage to me.

Now you could also put that into a turn based game as well, but it's much harder. So if I'm facing a slow heavily armored opponent you might use a skill/ability geared towards that, as opposed to a weaker skill which has a higher expected value (Basically the average) against a quick lightly armored opponent who is likely to dodge.

Build moves into the weapons themselves, so an Axe has completely different moves than a Spear. Build traits into the races, so maybe an Orc is immune to poison, but an Elf is immune to bleeding. So a Bow wielding Elf may have a huge advantage over a Battle Axe wielding Orc, but that's luck of the draw, not the game Deciding that you fail based on RNG.

You may even have players pick their moves simultaneously, with Rock-Paper-Scissors themed abilities. Again luck will play some part of it, but it feels different when you lose. I lost because I myself picked Rock, rather than the game arbitrarily deciding that my ability doesn't hit. And this also lets players feel clever. It may be complete chance that my opponent picked Scissors when I pick Rock, but I'll sit there and tell myself how good of a job I did *Out thinking* my opponent. Such is human nature. Losing always sucks, but the game should never Assign the player a loss which is what RNG does. RNG lets an inferior opponent get those critical hits while dodging my attacks. It completely removes the agency and skill from my hands. Simultaneous move choice may appear to have a similar affect on paper, but psychologically it is very different.

Best of luck to you.
 
A

Ampersand

Guest
I always liked "decks" for "random" damage numbers. Make a list based on your odds for damage outputs, add crits and misses, shuffle and pull damage from the list. Refresh list when it's empty. That way if you want there to be a 1/25 chance of missing, you will miss once in every 25 attacks guaranteed and you'll never end up with pockets of no misses or the statistic probability of hitting chains of misses. If a crit should land 1/10 times, you'll land a crit 1/10 times but it will be shuffled.
 
A

ajan-ko

Guest
You want no RNG? Then put some action combat, or rock paper scissor mechanics.

and by action, I don't mean dark souls or skyrim.

The example I know is Undertale, which is using evasion mechanic combined with attack defend ect.
The next example I know is Blue Omen.

Make it turn based action oriented RPG with reaction minigames for attack.
Well yes, this more hit and miss mechanics, some people will love the mechanics, some people will hate it.

More suggestions:
For example you build attack or parry mechanics with up down left right arrow.
But the parry doesn't save you from damage. For example if you don't parry you get 6 damage, if you parry you get 3 damage.

Then you have stats like:

STR: Give more power to each blow. Increase parry damage reduction.
AGI: Determines first action each turn. Increase attack count.
DEX: Increase critical hit chance. Increase parry time. Decrease opponent parry time.
VIT: Determines HP, Increase limbs HP, increase limit break meter gain/damage.

There's also focus mechanics, for example if you choose focus, your character goes to boost his willpower, skip the current turn, and increase his attack count next turn. (Same like legend of legaia spirit mechanics).

If your left limbs broke, you cant use left attack, etc.
Then you have limit break, for example, if you're parry good amount and survive, you have limit break which is un-parriable (which can break arms).

So, you have 4 type of fighter:

- Offensive quick fighter with 8-12 attack count, which is hard to parry, low damage (if parried) and squishy as hell.
- Beserker fighter with pure damage (doesn't matter if you parry my left attack, I'm gonna crush your left arms first), but squishy (not as quick fighter, because he has STR).
- Balanced fighter with good amount of survival and damage.
- Defensive fighter who parry alot and abuse limit break burst damage.

Then You have base limbs HP. For example there's character with weak left arms, but strong right arms
Also you can add some special stats effect like:
- Damaged Left Eye: Have problem parry left attack.
- Beserker: Increase limit break gain. More damage taken.
- Stiff legs: Have problem parry low attack, increase legs HP.
- Trickster: Increase first action time.

Makes the each fighter feel unique.

RNG is not bad. It helps the weaker player win, that's what RNG about. Some player have more weaker skill. That's what RNG good at: accesibility.

Also your description reminds me like Monster Rancher 2 combat.
 
Last edited:
T

Thunder Lion

Guest
I feel some RNG could help "save" an otherwise weaker fighter, I mean the human body is complex, we have some blood vessels that if cut basically is == to being shot in the heart or brain, but this isn't always the case if you get injured.

So as for the gladiators I feel you should just make layered parts that fit together, have each with their own hit boxes and various RNG variables with their various effects on that character's health and abilities. This would then be also effected with weapons that stop swinging on contact with a body part to prevent cutting into places that would not realistically happen e.g. shoulder to shoulder (this could also be controlled with either a "range var" which would stop the swing after the set range which is modded by armor and the weapon and character stats, would stop as it reaches 0, or use that idea with or without this next one, using a can_hit variable)
 
Top