Is this a good way to fudge percentages of things happening?

Oddball

Veteran
Veteran
Joined
Sep 4, 2014
Messages
1,846
Reaction score
513
First Language
English
Primarily Uses
N/A
It can seem like when a player clicks on a skill and theres a shown percentage of something happening, and over time it doesn't feel like that cause they get unlucky too often, a player can get frustrated. So i was wondering how one can tweak the actuall percentages so it meets player expectation. Her is an example

Shown Actual%

5% 2%

10% 8%

15% 14%

20% 20%

25% 26%

30% 32%

35% 38%

40% 44%

45% 50%

50% 56%

55% 62%

60% 67%

65% 72%

70% 77%

75% 82%

80% 87%

85% 92%

90% 97%
 

Restart

Veteran
Veteran
Joined
Mar 15, 2019
Messages
523
Reaction score
410
First Language
English
Primarily Uses
RMMV
Fire emblem fudges their random number generator.

Basically, instead of picking a number 1-100 and using that as the percentage, it picks two numbers and then averages them. This makes unlikely things more unlikely, and likely things more likely.
 

Wavelength

Edge of Eternity
Global Mod
Joined
Jul 22, 2014
Messages
5,403
Reaction score
4,793
First Language
English
Primarily Uses
RMVXA
In my opinion, that's a terrible design.

First of all, it breaks the fundamental sense of honesty with your player. If you are specifically displaying a percentage to the player (instead of calculating it under the hood without showing a percentage to the player), that should represent the actual chance of the thing happening, so the player can make good decisions based on the information you're giving them. There are times where you can break this implicit trust to fudge things in the player's favor, but even then you have to be careful about not letting the player ever figure this out (because it cheapens the thrill).

Secondly, the math isn't consistent enough - it seems somewhat arbitrary. Yes, in a general sense the Actual number starts lower than the Shown number and slowly rises to become higher than the Shown, but...
  • That relationship stops 55%/62%, meaning that the amplification at 55%->62% (a 1.127 multiplier) is actually stronger than the amplification at 90%->97% (a 1.078 multiplier). The rewards for increasing your (displayed) % to achieve something are very inconsistent.
  • I have no idea what kind of amplification you'd add for a 96% Shown chance.
  • The low-end is unnecessarily extreme - 5%->2% is a 0.4 multiplier, which doubles at 10%->8% to a 0.8 multiplier (quadrupling the chance of the event happening!).
  • Then there's the lack of parallelism which oddly causes Framing to have an effect on gameplay: a 90% chance to hit is brought to 97% (increase of 7%), whereas a 10% chance to miss is brought to 8% (increase in chance to hit of 2%).
Finally, your system seems to make no consideration of whether the event that can happen is a "good event" (player scores a Crit, enemy drops rare loot) or a "bad event" (enemy's OHKO skill connects, item with a % to have a bad side effect procs). If you want to fudge things to make the player feel like the system is being just (countering how many players mentally overweight negative outcomes), you need to increase the chance of good events and decrease the chance of bad events (compared to the percentages displayed to the player). If a player thinks they have a 5% chance to loot a rare item from an enemy, and they have to fight that enemy 50 times (or even hundreds of times if their actual RNG pulls are unlucky rather than average) to get the item because the real chance is 2%, they're going to get frustrated. If the player thinks the enemy only has a 90% chance to hit them, and they actually have a 97% chance, the player is going to get pissed waiting forever for that Miss (which they need to turn the flow of the battle) that never comes.

Instead of lying to the player to the player about the real chances of something happening, I would advise looking at ways to make the applications of RNG in your game more satisfying.
 

Frostorm

[]D[][]V[][]D aka "Staf00"
Veteran
Joined
Feb 22, 2016
Messages
1,116
Reaction score
794
First Language
English
Primarily Uses
RMMV
Here you go, I think this is wut ur trying to achieve...
But I'm going to echo Wavelength in that it's not cool to lie to your players. I suppose it wouldn't be a direct lie if you use Fire Emblem's double roll formula, or would it?
 

velan235

Veteran
Veteran
Joined
Dec 7, 2014
Messages
67
Reaction score
36
First Language
Indonesia
Primarily Uses
Here you go, I think this is wut ur trying to achieve...

But I'm going to echo Wavelength in that it's not cool to lie to your players. I suppose it wouldn't be a direct lie if you use Fire Emblem's double roll formula, or would it?
I think RNG favoring towards player is not a bad idea, because in general, player is bad at translating RNG (50% hit rate does not mean it will hit once every two times). in FE case, usually you rarely do an attack if your chance is lower than 50% and except certain boss, your hit rate should be around 70-100 in most combat. So you can add excitement more from dodging an attack (<50Hit rate is usually the enemy) and reduce the frustration from missing on high chance attack (>50 Hit rate is usually the player), you can go more extreme by making your opponent use single roll on >50 Hit rate.

another example is Darkest Dungeon, that really popular for being cruel with their RNG, while in fact, their base accuracy mod is added by +10% by default (so player_accuracy - enemy_evasion = at least 90 means a certain hit)
 
Last edited:

theartofme

Villager
Member
Joined
Feb 21, 2019
Messages
14
Reaction score
11
First Language
English
Primarily Uses
RMMV
It might seem like lying, but this is actually a way of bringing reality in line with expectation - and human expectation regarding percentage chances is not realistic, which is why some games do this. Fire Emblem has already been mentioned, and the designer of XCOM 2 talks about why they did it here. This quote is relevant: "The fact is, we’re trying to entertain players. So how do you deal with a player who’s missed an 85 percent shot?"

Although the whole issue can be avoided if you don't use percentages at all, since there's no way to avoid them being a lie (because most players will be frustrated by the RNG's actual 85%, but fudging might also cause problems). You can use text-based chances instead ("doomed", "risky", "comfortable", "almost certain", etc.), colour-based (low hit chances show a dark colour, high hit chances show a light colour), emoji (sad face for low hit chances, etc.), or you can even stick with numbers but have them be "points" instead of a percentage, where low points are associated with low chances to hit, but you're not exposing the actual algorithm to translate points to a percentage directly to the player so they won't experience the disconnect with the outcome that actual percentages cause.

  • That relationship stops 55%/62%, meaning that the amplification at 55%->62% (a 1.127 multiplier) is actually stronger than the amplification at 90%->97% (a 1.078 multiplier). The rewards for increasing your (displayed) % to achieve something are very inconsistent.
Nit: the maths here is off - a percentage is already a multiplier, if you compare differences as multipliers it won't work the way you expect. For example, the hit chance should be directly equivalent to the not-miss chance, so if we flip the percentages to get a miss chance, then the 55%->62% chance becomes 45%->38%, or a 0.84 multiplier to miss chance, and 90%->97% becomes 10%->3%, or a 0.3 multiplier to miss chance. That 0.3 is a huge difference, that's a much lower chance to miss, so it's not accurate to say the 55%->62% change is stronger. My maths is also not strong enough to tell the correct way to judge these though!
 

Oddball

Veteran
Veteran
Joined
Sep 4, 2014
Messages
1,846
Reaction score
513
First Language
English
Primarily Uses
N/A
This is with effects, not accuracy

Here @Wavelength i came up with a better system for applying secondary effectseffect%.png
 

Wavelength

Edge of Eternity
Global Mod
Joined
Jul 22, 2014
Messages
5,403
Reaction score
4,793
First Language
English
Primarily Uses
RMVXA
Nit: the maths here is off - a percentage is already a multiplier, if you compare differences as multipliers it won't work the way you expect.
The Percentage to Hit is not a multiplier. What are we multiplying by it? Total damage dealt, in a manner of speaking, but I don't see any way that's relevant.

The ratio of total damage actually dealt versus the expected damage dealt (based on the displayed % to Hit) is higher with 55->62, in the same exact way that the ratio of actual hits vs. expected hits is higher for the 55->62 level. (The point here is that while the rewards keep increasing at lower levels, they top out at 55->62 rather than continuing to increase, which makes it a very strange curve of utility.)

For example, the hit chance should be directly equivalent to the not-miss chance, so if we flip the percentages to get a miss chance, then the 55%->62% chance becomes 45%->38%, or a 0.84 multiplier to miss chance, and 90%->97% becomes 10%->3%, or a 0.3 multiplier to miss chance. That 0.3 is a huge difference, that's a much lower chance to miss, so it's not accurate to say the 55%->62% change is stronger. My maths is also not strong enough to tell the correct way to judge these though!
I suppose you could frame it this way if you wanted to, but is there a real purpose for doing so? A character's utility in battle is going to be determined by the things they actually do, not the things they fail to do. I see the important factor as the hit chance rising from 90 to 97, not the miss chance falling from 10 to 3. (There's also the question of whether the 10% miss chance should be modified to 8% rather than 3%, based on the lower levels of his scale, which is why the asymmetry of the whole thing is problematic.)

This is with effects, not accuracy

Here @Wavelength i came up with a better system for applying secondary effectsView attachment 147639
So, I assume that AGI tends to come in small numbers (less than 10) in your game, because otherwise that condition will always hit. If that's true - well, I'd have to see more about how the AGI for characters is determined in order to make a useful judgement about whether this method of state infliction is good, but on first glance the idea does look promising. :)

I like that there's a level of AGI beyond which you're guaranteed to land the effect (while if your AGI is low, there's still a small chance that you can land it). For "harder" to inflict states, you could event have number draws that go up to higher numbers, like 1...15. That would make cut the chance to inflict the state by one-third (vs. a 1...10 roll which you might make for an easier state), until your AGI goes higher than 10, at which point you're cutting it by less and less until you crest 15 AGI.
 

Oddball

Veteran
Veteran
Joined
Sep 4, 2014
Messages
1,846
Reaction score
513
First Language
English
Primarily Uses
N/A
Yeah. Though in order to inflict states on enemies, i'd have to do the more clunky "force action -> last target" unless the process can be done in a damage formula :guffaw::guffaw::guffaw:
 

Wavelength

Edge of Eternity
Global Mod
Joined
Jul 22, 2014
Messages
5,403
Reaction score
4,793
First Language
English
Primarily Uses
RMVXA
The process can be done in a damage formula! :p The syntax would depend on the version of RPG Maker, but for instance in Ace it would be:
if (rand(10).ceil < a.agi); b.add_state(n); end; damage_formula

If you're judging the target's agility instead it's b.agi, 10 can be modified to whatever "difficulty" you want the state inflict to have, and n is just the ID of the state in the database. In MV it would be the same structure but all of the function calls (and the syntax for the random and ceiling methods) are completely different.
 

Oddball

Veteran
Veteran
Joined
Sep 4, 2014
Messages
1,846
Reaction score
513
First Language
English
Primarily Uses
N/A
@Wavelength with that, you can also do something where if a's stat is higher than b's stat, a state is inflicted

Edit: Kind of like this

Intimidate.png
 
Last edited:

theartofme

Villager
Member
Joined
Feb 21, 2019
Messages
14
Reaction score
11
First Language
English
Primarily Uses
RMMV
The Percentage to Hit is not a multiplier. What are we multiplying by it? Total damage dealt, in a manner of speaking, but I don't see any way that's relevant.
Yes, you're right. Not sure what I was thinking!

The ratio of total damage actually dealt versus the expected damage dealt (based on the displayed % to Hit) is higher with 55->62, in the same exact way that the ratio of actual hits vs. expected hits is higher for the 55->62 level. (The point here is that while the rewards keep increasing at lower levels, they top out at 55->62 rather than continuing to increase, which makes it a very strange curve of utility.)

I suppose you could frame it this way if you wanted to, but is there a real purpose for doing so? A character's utility in battle is going to be determined by the things they actually do, not the things they fail to do.
I still think failing to do something is important for considering a character's utility; it means they lost their chance to affect anything that turn. If it's one effect of an action that has multiple effects, it's a smaller loss, although as the % chance goes up the expectation that it will always happen also goes up, so the (opportunity) cost when it doesn't happen is greater (e.g. in Pokemon the Thunder Wave move has a 90% chance of hitting for 0 damage, but paralyzing the opponent; if that 90% misses then you've just wasted your turn - you chose that move because of an almost-guaranteed paralyze. Thunder Shock, on the other hand, has 100% chance to hit for 40 damage, but only a 10% chance to paralyze; if that 10% misses, it's not a big deal, because the move was chosen to deal damage).

(There's also the question of whether the 10% miss chance should be modified to 8% rather than 3%, based on the lower levels of his scale, which is why the asymmetry of the whole thing is problematic.)
Yes, the exact numbers are a bit weird, although given it's meant to offset the perception of unfairness it's questionable whether the numbers at the lower end of the scale should even be debuffed at all (since "fairness" is usually biased!).

It's all academic now anyway, since OP is now going with a system that doesn't show hit/proc chances to the player!
 

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,109
Reaction score
11,447
First Language
English
Primarily Uses
RMVXA
It's all academic now anyway, since OP is now going with a system that doesn't show hit/proc chances to the player!
Actually, as Game Mechanics Design is not meant to be about individual specific projects, but about looking at the design at a conceptual level, then I think it would be helpful to continue the conversation, as it could benefit other people.
 

Oddball

Veteran
Veteran
Joined
Sep 4, 2014
Messages
1,846
Reaction score
513
First Language
English
Primarily Uses
N/A
It's all academic now anyway, since OP is now going with a system that doesn't show hit/proc chances to the player!
It would show the information to the player if i said in the description "Based on N" with N being a charecter stat. Also, how would you handle game percentages?
 

Sword_of_Dusk

Keyblade Master
Veteran
Joined
Sep 13, 2015
Messages
177
Reaction score
197
First Language
English
Primarily Uses
RMMV
Fire emblem fudges their random number generator.

Basically, instead of picking a number 1-100 and using that as the percentage, it picks two numbers and then averages them. This makes unlikely things more unlikely, and likely things more likely.
I just want to point out that not all Fire Emblem games do this.

From FE1-FE5, the series used a 1 RN (random number) system. What percentages you saw were what you got.

FE6-FE13 used a 2 RN system. This is where the fudging happens. And while it may seem wrong to lie to the player, as a longtime fan of FE, I can honestly say that it doesn't sting. Permadeath makes doing foolish moves too dangerous, so even if these games used 1RN, I don't believe most players would attempt certain attacks unless it was the only option available.

FE14 utilizes a Hybrid system. For hit rates 50% and below, what you see is what you get; in other words, 1 RN. For hit rates 51% and up, it uses a weighted system that skews in the player's favor. I think it's still 1 RN used in the formula though.
 

theartofme

Villager
Member
Joined
Feb 21, 2019
Messages
14
Reaction score
11
First Language
English
Primarily Uses
RMMV
It would show the information to the player if i said in the description "Based on N" with N being a charecter stat. Also, how would you handle game percentages?
Before reading this thread I probably would have just shown the percentage! Now I'm more likely to go with one of the options I described above, most of which are variations on "bucketed" descriptions of chance: 5-20% being either "doomed", a black icon, or a sad emoji, 20-50% being "risky", a dark red icon, or a blank face emoji, etc. I'd still use percentages under the hood, because all that matters is that they "feel" right compared to the bucket description - and percentages are easy for me to use.

The other alternative I mentioned for display would be some kind of points-based system, and the points can be directly shown to the player because they don't know exactly how it translates to a hit/proc rate, only that higher point numbers are better. This is equivalent to your "Based on N" system - although you tell the player it's based on AGI, for example, the player doesn't know how it translates into an actual hit/proc chance, but they do know that higher is better. They will be able to focus on getting high AGI equipment if they want to maximise the hit rate for that effect, and they'll be able to try to work out themselves what the actual hit rates are for various AGI values (some players will enjoy trying to figure the system out). Overall I'd say it gives a lot more depth than a straight percentage!
 

Oddball

Veteran
Veteran
Joined
Sep 4, 2014
Messages
1,846
Reaction score
513
First Language
English
Primarily Uses
N/A
Fire emblem fudges their random number generator.

Basically, instead of picking a number 1-100 and using that as the percentage, it picks two numbers and then averages them. This makes unlikely things more unlikely, and likely things more likely.
Wait... does that mean my build in fates that got critical hits on avarage 95% of the time actually got more like 98% of the time?!
 

JosephSeraph

White Mage
Restaff
Joined
Mar 7, 2014
Messages
1,169
Reaction score
1,417
First Language
Portuguese
League of Legends handles percentages (mostly Crit chance) in an interesting way: It keeps track of how many times the percentage has failed, gradually increasing it until it succeeds and is reset.

So a 50% crit attack has 50% chance to crit on the first attack. But if it doesn't, then the next attack has a crit chance bonus and so on until it actually crits.

It never lies to the player, but it very elegantly solves possible frustrations.
 

Frostorm

[]D[][]V[][]D aka "Staf00"
Veteran
Joined
Feb 22, 2016
Messages
1,116
Reaction score
794
First Language
English
Primarily Uses
RMMV
League of Legends handles percentages (mostly Crit chance) in an interesting way: It keeps track of how many times the percentage has failed, gradually increasing it until it succeeds and is reset.

So a 50% crit attack has 50% chance to crit on the first attack. But if it doesn't, then the next attack has a crit chance bonus and so on until it actually crits.

It never lies to the player, but it very elegantly solves possible frustrations.
I actually have passive skills the player can pick that function exactly in this way. ^.^
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Working on Zelda-like tileset. Should be greatly refined. And tonight extra pave tiles, outward corners, abyss and water...
Is it possible to move posts from the in-progress project forum to completed games? I think I need to message a mod but a bit worried about bothering them
Bleeding Moons has its release date: September 3rd!
Do you stick with the RM default, or set a custom one?

Forum statistics

Threads
100,538
Messages
976,980
Members
132,081
Latest member
Kaezyelnatz
Top