How do you keep track of your Fairmath?


I admit, my use of Fairmath is…clunky, at best.

I’m curious to know how others manage to keep track of the Fairmath for stat check purposes, so when you get to a point where you want to use a stat-check, choice, you know how high to set the stat check. Do you keep an Excel spreadsheet and track every time you offer a choice and how much of a bump it is? Do you always increase the stats by the same 5 or 10% or do some choices get a bigger bump?

Or am I making this waaay harder than it needs to be?

Thanks for the advice. :slight_smile:


Aah… the stories on my side will be:

  1. Random pick for the stat-check. “I think this is pretty high, so here we go,” and boom. The weight that burdens your head about stats-balancing is gone (never do stuff like this, tho xD)
  2. Stick with the rule of 10% increase or decrease no matter how impactful the choice is. But you can do +%10 twice, tho (keep in mind, <+%20> and <+%10> 2x are two different things)
  3. Never use fairmath :laughing: :stuck_out_tongue_closed_eyes:

TBH, doing a statcheck with fairmath is actually harder than normal +/-. That’s why, I only use fairmath percentage on non-crit stats (personality traits and not str/agi/int).

While I understand the need to “reward the player no matter how small the choice is,” I don’t think fairmath is a good way to go. Instead, I use standard-videogames-leveling-system where I have 2 variables for every stats, similar to [EXP] and [LVL].


I have to confess I don’t keep track… I try to make a rule about how much I sort of wanna give for minor, major and crazy influential actions… and then just see what happens! My guess is that if you have many instances of giving plus or minus then eventually you can allow players to max stats so you can just check for that. Not sure I make sense?


If you want to legitimately test what kind of numbers you’re going to get, try making a little code to see how far you get with your stat increases:

*temp n 0
*temp staty_doo 0 

*label loop_dee_loop
*set n +1
*set staty_doo %+ 10
${n}: ${staty_doo}
*if n = 20
    *goto loop_dee_loop

This will show what kind of percentage you’d reach after n number of stat increases. You can play around with higher or lower increases and different starting points as well. Then if you think about how many stat increases you’re likely to have in your game, you can get an idea where a character might be at any certain point.

One thing to remember with fairmath is it’s really really hard to increase stats beyond a certain point, and that point varies depending on how large of increases you’re using (i.e. higher increases like %+40 might be able to raise the stat up to 97% (though that would be a whole lotta stat increases), while small numbers like %+5 may not be able to raise a stat beyond ~80%).


I keep an eye on my stats when I play-test to get an idea of checks—although I tend to set important stat checks fairly low, since I’m more interested in the story side of things.

I’ve also found it helpful to ask my testers to copy-paste their end stats. Then I can see if my stat checks are reasonable, and also check if any of the stats are underused.


Dan just commented elsewhere on Fairmath in a way that sheds light on this question:

So if the player is given enough opportunities to affect a given stat by %+/-10, then one advantage of Fairmath is not needing to keep track. You can trust that a player who makes consistent stat choices will cross 75 at some point, a reasonably consistent player around 60-65, a “leaning” player 55, and vice versa on the other side of the scale.

%+/-10 is pretty reasonable for a standard bump. Maybe %+5 if you have a lot of choices and want every single one of them to matter (because it pretty quickly turns into +1/+2 to a strong stat, which is a pretty slow accrual rate).

Of course, there are cases where higher changes are appropriate. IIRC there’s a point in my game where you can get %+50% to ruthlessness, which should be enough to cement an already-ruthless reputation while completely gutting a reputation for being compassionate.


Wauw. What has been done by the MC to make him/her/them worthy of such mark?

On the other case, there’re… cases where even %+5 won’t budge your stats even just a 'lil bit :thinking:
I kinda forgot, but I think it’s around… 75%? 85%?


It involves the interrogation of a certain wabbit who should have taken a left at Albuquerque.

No, not really.


I remember someone made something like a Fairmath calculator this can be a tool so you can see result and keep track of your use of fairmath and in thiz case you can play around with the outcome if you raise or lower something


Using %+5, you’ll actually get a +1 bump between 71% and 91%, when it drops to zero. 90% is way higher than most people ever get using Fairmath… so 5% works fine, it’s just too small to make much difference unless you use it a lot.

(And since you asked, the Choice of Rebels bit I had in mind is actually “*set ruth %+65”… for one of the choices you might make during a kidnapping gone wrong. Playtesters who’ve chosen that route through the tax collector raid will likely be able to guess which one.)


I put a new one into that link since Dropbox is not longer working.

I’ve never been a fan of Fairmath, although I understand the perks. I’m too much of a control freak. But, for my next game, I’m giving it a shot and using all Fairmath. We’ll see how it turns out and whether I’ll use it in future games or not. :slight_smile:


It’s all about the right tool for the job. Sometimes FairMath is useful, sometimes it’s not. FairMath, in my opinion, works best for truly continuous things, like personality variables, whereas skills can sometimes be better handled with integers.

To answer the question posed, though, we recommend using Randomtest with the “show line coverage” flag. Set that to 1000 or 10000 iterations, and then see how many times a given line is hit. In particular, you want to use that function to weed out moments that have 0 hits, and then the next step is to try and take a guess at how many times you want people to be able to pass/fail individual tests.


It’s pretty hard to do that. But I found a way. Use autotest to test your game with text included so you can control+F to see if the statement you put after *if varible >= 37 is in there somewhere. Another way would be to use the *bug command to test if the player can ever have that high/low of a stat at that point

*create var 0
*set var %+ 10
*set var %+ 13
*if var >= 20
*bug The Player can do this

(Then auto test it)
This simple, fast calculator can help too: