09-12-2018, 10:32 PM
|
#1
|
49ers
OVR: 43
Join Date: Jul 2002
Location: Prescott, AZ
Posts: 5,793
|
SUPERSIM Modding thread
Reposting my explanations from the larger modding thread.
|
Quote: |
|
|
|
|
Originally Posted by adembroski |
|
|
|
|
|
|
|
|
OK, and here it is, folks, Supersim's big scary file: Compound ability.
There's a couple of dozen files in this directory and there's a ton of entries in each. Thankfully I can tell Supersim has been updated extensively since I worked with it, but that also means I don't really necessarily know what everything does.
There are 6 fields I pretty clearly remember.
min_player1, max_player1, min_player2, max_player2
These convert attributes to ranges of numbers that can be used to calculate success. So if you set min to 1 and max to 99, the attribute would remain the same. If you set min to -10 and max to 0, a 90 would become a -1.
The game is going to generate a number between min and whatever the attribute actually is. The basic mechanic is that this number is compared against a number representing difficulty, and if it's higher, it succeeds.
At the bottom of each compound ability file are two other fields; does_player2_oppose and needs_two_players.
needs_two_players does what it says on the tin. Break TD chance, for example, doesn't have an opposing player. Catch chance requires a QB to throw and a WR to catch. A tackle requires a tackler and a tacklee.
does_player2_oppose depends on the action. If it's a cooperative action, this should be unchecked. If it's an opposed action, it should be checked.
If this is unchecked and needs_two_players is checked, the two derived numbers will be summed. If it's checked and needs_two_players is checked, then the higher derived number wins.
I'm not sure how much I'm going to remember about all this.
I will say this; this **** is detailed as heck. EA could make an exceptional text sim with this thing. it's probably the highest quality thing in the game. Tuning it, however, is very, very hard.
|
|
|
|
|
|
|
Quote: |
|
|
|
|
Originally Posted by adembroski |
|
|
|
|
|
|
|
|
I REMEMBERED!!!
So the other fields are attributes, "Player1_Acceleration," etc..
Those are weights. So, for instance, supersim_breaktdrun_chance has the following...
player1_acceleration = 10
player1_ballcarriervision = 1
player1_clutch = 1
player1_speed = 5
player1_breaktackle = 10
So the number used by min_player1 and max_player1 is going to be the weighted average of those listed. So...
I need to come up with a language to explain all this. Any of you familiar with RPGs? It works a lot like D&D 2nd Edition's skill system. I'll come back to that...
First, it's going to go ACC *10 + BCV *1 + SPD *5 + BKT *10 + Clutch * 1
(we check supersim_trait_conversion to find that Clutch is 50 if false, 99 if true).
So lets do LeVeon Bell.
ACC = 93, BCV = 96, SPD = 90, BKT = 92, Clutch = 99
( ( ( 93 * 10 ) + ( 96 * 1 ) + ( 90 * 5 ) + ( 92 * 10 ) + ( 99 * 1 ) ) / 27) = 92.4
So, min_player1 = -99
max_player1 = 25
That's a 124 pt difference, so 124 * .92 = 114, which means our derived number (or LeVeon's break long run rating) is 15.
Whenever LeVeon carries the rock, the game is going to produce a random number between -99 and 15 to determine whether or not he just flat takes it to the house.
NOW begins the process of remembering how the opposed number is produced. There is a number his skill check will be compared too, and I don't remember what it is. I mean, obviously there's a player2 outlined in the xml, but "needs_two_players" is false, so I don't know how it works if there is no opposition, nor do I know who the opposition is. MLB I suppose? I'm not sure. FS? either would make sense.
So in the old Advance D&D 2nd Edition rules, the an opposed skill check worked like this- each combatant would roll a 20 sided die, and whoever got higher but still under their skill would win. So lets say you're in a joust, and you want to see who rides better to give them a bonus to their attack... one guy has a 10 riding skill, the other one has a 15. The first guy rolls a 9, and the 2nd guy rolls a 17. The 2nd guy has the better skill AND the higher roll, but he didn't keep it under 15, so he loses. This works kind of like that. The difference is you CANNOT go over your skill, because the skill determines the size of your die. If you've never played tabletop RPGs, ignore this, including it because it'll make it a bit easier for those who have to wrap their minds around it.
Also, you might be wondering why we're stretching the rating all the way to -99... it's because the ranges were measuring are more like 80-99, but Supersim just looks at the whole rating. You stretch the low end down to take those 75-ish points every HB has in BTK and the like. Also, it helps to normalize the weighted average. There were probably easier ways to go about this, but it works.
The conversion system is to get the chance of something happening to where we want it. We know that a guy with an 90 BTK vs. a 90 TAK shouldn't be a 50/50 proposition, just like a pitcher is going to beat an equally matched batter 70-75% of the time. The tackler wins most of the time, so we create this derived chance that we can manipulate to be the correct win/loss ratio to produce accurate stats.
|
|
|
|
|
|
__________________
There are two types of people on OS: Those who disagree with me, and those who agree.
The first kind is wrong. The second is superfluous.
“The only difference between reality and fiction is that fiction needs to be credible.”
-Mark Twain.
|
|
|