Fallout 1 & 2 skill rolls (mmmm, rolls)

Sduibek

Creator of Fallout Fixt
Moderator
Modder
Trying to figure out how these work exactly...

I was running some test checks today. With a Speech of 50%, I get failure on an unmodified roll roughly 55% of the time.

The values for or against ranged anywhere from -50 (I assume this means the game rolled a 100) to 49 (I assume this means the game rolled a 1). Those numbers were gotten using "how_much" script command)

Conclusion.... I think the fallout "roll_vs_skill" may literally just pick a completely random number between 1 and 100. :scratch: Is it just me, or is that totally lame and retarded?


EDIT: Yep, definitely doesn't go above 100. I created a character with Karma of 0, no Traits or Perks that affect Speech, a Speech of 100%, and all stats are 5 except STR 9 and CHA 6 -- in 865 checks, not a single failure.

EDIT2: Created a character with INT, Luck, and (most importantly) Charisma of 1.
Same as before, no Perks/Traits/Karma/Tagged to mess with the rolls.
Speech skill was 50%.
Out of 1200 rolls with a modifier of 0 (zero), 580 were failure (48.3%) and 620 (51.6%) were success. Looks like stats have no effect on skill rolls.

EDIT3: Granted you can set a modifier, but all that means is that when it picks randomly from 1 to 100 (1 to 10 in the case of do_check SPECIAL rolls) it has to get above a certain point -- the random rolling is still rolling the original 100-point value range.
 
It seems no one is answering... So I'll do it.

Does anyone know the code for how these run? Specifically "roll_vs_skill()"
There is no such man on planet Earth who knows how it is works. Double checked.

As for me, it is better not to check roll vs skill at all.
 
bbmultipass said:
It seems no one is answering... So I'll do it.

Does anyone know the code for how these run? Specifically "roll_vs_skill()"
There is no such man on planet Earth who knows how it is works. Double checked.

As for me, it is better not to check roll vs skill at all.
Yeah, after the results I got from playing around with it, definitely it seems that replacing rolls with hard checks is a much better idea.

Personally I prefer crescent rolls the most.
 
I'm not exactly sure what is the question here. Fallout emulates a pen and paper RPG system with % values and percentile dice rolled for skill checks. Roll equal to or below your value to succeed. Some actions have a modifier on the roll. Some skills or actions have a 5% minimum chance of failure. Or were things believed not to work like that?
 
Per said:
I'm not exactly sure what is the question here. Fallout emulates a pen and paper RPG system with % values and percentile dice rolled for skill checks. Roll equal to or below your value to succeed. Some actions have a modifier on the roll. Some skills or actions have a 5% minimum chance of failure. Or were things believed not to work like that?
I guess I just don't understand the logic. Why would it roll from 1 to 100 (which is what it's doing from what I can tell)? That's ridiculous. As you say in your guides, this randomization messes things up. If, for example, the roll itself was limited, like the top and bottom values modified by Luck, skill level, etc, so for example a roll would be 30 to 60 or 75 to 90, that makes sense. But it is baffling to me, and thus I'm wondering if I missed something, that the designers would have effectively a hundred-sided die for rolls. To the end player maybe it seems graceful or something, but now that I've run it, to me it just looks random and haphazard, there's no rhyme or reason or math, just randomness. No modifiers are taken into account anywhere except what's explicitly coded into the script, from what I can see.
 
One of the design goals that I think was even stated in the original manual was that the game would be doing the same kinds of rolls and checks as you'd be doing if you were playing a tabletop RPG with the same system. And percentile dice (two ten-sided ones, one for 00-90 and one for 1-10) is one of the standbys of 70s and 80s RPGs.

Rolls made outside of scripts, like Outdoorsman in Fo2 and combat rolls, have their own modifiers applied like lighting and distance. In scripts, situational modifiers are specified as you say (e.g. this lock is tough, so -20). It wouldn't make sense to modify using the skill level because that's what you're rolling against.
 
Hmmm. Okay well maybe I'm figuring out.

Let's say there's a roll_vs_skill(LOCKPICK, -50) -- Does that mean it simply rolls the (1 to 100 random) value, then subtracts 50 from the result?

How would this differ from a hard check that Lockpick must be at least 50%?
 
In one case you have a chance of success that leaps from 0% to 100% when Lockpick reaches 50, in the other it rises from 1% when Lockpick is 51 to 100% when Lockpick is 150.

Rolling makes more sense in a tabletop RPG or an iron man game because you can't save and load, so risk management works differently.
 
Per said:
In one case you have a chance of success that leaps from 0% to 100% when Lockpick reaches 50, in the other it rises from 1% when Lockpick is 51 to 100% when Lockpick is 150.

Rolling makes more sense in a tabletop RPG or an iron man game because you can't save and load, so risk management works differently.
Ahhh okay, thanks. Well what are your thoughts on this? I have quoted the lines from your guide that I recalled (I figured it's better to quote than paraphrase) ...


Per said:
Another big difference from Fallout 2 is that there are many more random skill and stat checks as opposed to fixed value requirements. For one thing, this tends to randomize the game and reduce the difference between various character types.

[...]

As previously expounded, random skill checks and static skill starting values tend to reduce the difference between character types.
Can you see a [good] way of "fixing" this? What are your thoughts on ways it could be improved upon? I'd rather not wade through thousands of Fallout 2 scripts to see what all the specific differences are between the "style" of rolls between the games (sorry).
 
I was looking into how "Roll vs Skill" works in FO2 and found this discussion, so rather than make a new discussion let's continue this one. Are we saying, then, that when a "roll vs skill" function occurs, it's strictly a ((skill amt >= (random 0-100)) and therefore (assuming no modifiers or penalties are stipulated) if the player-character's skill amount (which could range from 1-300) is simply greater than 100 an automatic success must occur in all cases?

If so, that's unfortunate in my opinion (old pnp rpgs don't work that way, there's always a chance of failure no matter what the dice rolls). I'm lousy at math, but if we have any mathematicians among us is there some kind of one-line mathematical formula or equation (that we could use in a script) that could be composed to instead make rolls vs skill work on a sliding scale (i.e. the way the combat skills work during combat), such as:

[TABLE="width: 500, align: left"]
[TR]
[TD]Skill Amount[/TD]
[TD]Chance of Success[/TD]
[/TR]
[TR]
[TD]1[/TD]
[TD]1[/TD]
[/TR]
[TR]
[TD]15[/TD]
[TD]10[/TD]
[/TR]
[TR]
[TD]30[/TD]
[TD]21[/TD]
[/TR]
[TR]
[TD]45[/TD]
[TD]33[/TD]
[/TR]
[TR]
[TD]60[/TD]
[TD]46[/TD]
[/TR]
[TR]
[TD]75[/TD]
[TD]60[/TD]
[/TR]
[TR]
[TD]90[/TD]
[TD]75[/TD]
[/TR]
[TR]
[TD]105[/TD]
[TD]91[/TD]
[/TR]
[TR]
[TD]150[/TD]
[TD]92[/TD]
[/TR]
[TR]
[TD]200[/TD]
[TD]93[/TD]
[/TR]
[TR]
[TD]250[/TD]
[TD]94[/TD]
[/TR]
[TR]
[TD]300[/TD]
[TD]95
[/TD]
[/TR]
[/TABLE]


Thanks.
 
I was looking into how "Roll vs Skill" works in FO2 and found this discussion, so rather than make a new discussion let's continue this one. Are we saying, then, that when a "roll vs skill" function occurs, it's strictly a ((skill amt >= (random 0-100)) and therefore (assuming no modifiers or penalties are stipulated) if the player-character's skill amount (which could range from 1-300) is simply greater than 100 an automatic success must occur in all cases?

If so, that's unfortunate in my opinion (old pnp rpgs don't work that way, there's always a chance of failure no matter what the dice rolls). I'm lousy at math, but if we have any mathematicians among us is there some kind of one-line mathematical formula or equation (that we could use in a script) that could be composed to instead make rolls vs skill work on a sliding scale (i.e. the way the combat skills work during combat), such as:.

Not sure what you mean by combat skills working on a sliding scale, because they work pretty much in the same way as regular rolls (hence the auto-eyecrits near end-game). But I have more or less what you're describing in the to hit chance formula of my mod:

Code:
procedure Nerf(variable value) begin    
    if (value>(tmp*66)) then begin
       tmphitchance3:=((value - (tmp*66))/12) + (tmp*11);
    end else if (value>(tmp*55)) then begin
       tmphitchance3:=((value - (tmp*55))/11) + (tmp*10);
    end else if (value>(tmp*45)) then begin
       tmphitchance3:=((value - (tmp*45))/10) + (tmp*9);
    end else if (value>(tmp*36)) then begin
       tmphitchance3:=((value - (tmp*36))/9) + (tmp*8);
    end else if (value>(tmp*28)) then begin
       tmphitchance3:=((value - (tmp*28))/8) + (tmp*7);
    end else if (value>(tmp*21)) then begin
       tmphitchance3:=((value - (tmp*21))/7) + (tmp*6);
    end else if (value>(tmp*15)) then begin
       tmphitchance3:=((value - (tmp*15))/6) + (tmp*5);
    end else if (value>(tmp*10)) then begin
       tmphitchance3:=((value - (tmp*10))/5) + (tmp*4);
    end else if (value>(tmp*6)) then begin
       tmphitchance3:=((value - (tmp*6))/4) + (tmp*3);
    end else if (value>(tmp*3)) then begin
       tmphitchance3:=((value - (tmp*3))/3) + (tmp*2);
    end else if (value>(tmp)) then begin
       tmphitchance3:=((value - tmp)/2) + tmp;
    end else begin
        tmphitchance3:=value;
    end
    return tmphitchance3;
end

Here tmp is the value at which the "cost" of increase in value goes up by 1 (so, at tmp of 50, 1-50 proceeds normally, then 50-100 "costs" 2, 100-150 "costs" 3, etc., so you'd get about the effect you wanted at a tmp of 20, which'd give you 100% chance of succes at 300 skill: 20+40+60+80+100=300). Somebody with a better grasp of mathematics'd probably be able to make something simpler out of it though.
 
If you add a decision tree before skill amt is used, something like:
if (skill amt)/60 < 1 then (skill amt)+91
else if (skill amt)/60 < 2 then (skill amt)+72
else if (skill amt)/60 < 3 then (skill amt)+53
else if (skill amt)/60 < 4 then (skill amt)+34
else if (skill amt)/60 < 5 then (skill amt)+15

The tree above makes progression of the skill amt from whatever its start to 300 meaningful, but not a linear progression with the success chance.

Then have a check of:
(new skill amt) > ((((rnd 0-100)x3)x105)/100)

This says you always need at least 5% more than (rnd 0-100)x3 to be successful, thus affectively making 300 only possible of 95% of being successful


So a (rnd 0-100) = 50 means you need a skill amount of 158 or better to be successful.

Just something that came to mind, I have no idea what can be changed and where, but I made one assumption that the rnd min-max could not be changed.
 
Thanks guys, those are both good ideas. Probably proving why I never pursued that career in physics, I was stuck trying to match up some scaled lines on graph paper, etc. I started thinking about this issue in regard to pickpocketing; the "steal" skill is only checked (to provoke a reaction from the mark) when actually taking something rather than rummaging through someone's pockets to see what goodies they have. I was thinking of adding some type of roll vs skill in at least the scripts of important npcs, so the pc has a chance of provoking a reaction just from patting them down and searching their gear. That seems a delicate matter, though-- there should always be some chance of failure, but on the other hand a very large (-100 or more) penalty to the mundane "roll vs skill" function probably means no player would even want to try.
 
Last edited:
I'm a bit late to the party here, but, I think the 95% cap is applied in Fallout 1 no matter what, but, I could be wrong. Although you probably are only interested in Fallout 2 function :lol: Because I'm pretty sure checks can still fail @ 200% skill level.

EDIT: I will test and report back, though.
 
Back
Top