International Simulation Football League
*Legend of the 79 speed QB - Printable Version

+- International Simulation Football League (https://forums.sim-football.com)
+-- Forum: Community (https://forums.sim-football.com/forumdisplay.php?fid=5)
+--- Forum: Media (https://forums.sim-football.com/forumdisplay.php?fid=37)
+---- Forum: Graded Articles (https://forums.sim-football.com/forumdisplay.php?fid=38)
+---- Thread: *Legend of the 79 speed QB (/showthread.php?tid=24517)



*Legend of the 79 speed QB - Eldorian - 07-31-2020

Alright, serious time in order for me to maybe sound smart as opposed to the fun I've been having as GOAT TANK ????. Super serious post time and not a shit post, promise.

I am really new to the league and have been having fun and getting scouted by all the teams and it's been a pretty fun experience so far. Since becoming active in some of the various team discord channels I noticed some talks around "don't put your speed at 79!" or "don't put your speed above 79!". At first I thought it was just a meme, maybe an urban legend.

However, someone eventually pointed me to no - that is not the case and linked me to a couple great articles that @`Maglubiyet` had put together where he decompiled the code in the sim and went over how current speed works and broke it down easily for people to understand:

Decompiling the Sim: CurrentSpeed, '79 Speed' and Other Speed Anamolies

Once I heard you could decompile the code, that it uses C#/.NET, and being a developer myself in that field - I immediately went to work to do the same myself and dig into the source code. I at first was mostly interested in the speed thing and if it ONLY affects QBs and also wanted to dive into if there was anything I could do with a DT to possibly get some kind of edge against Offensive Linemen.

This article will be about the 79 speed as I'm going to let Maglubiyet write about the block mechanics and how they are coded. Once he puts that together I will write up my opinion and theory about how to balance defensive linemen and offensive linemen better.

You can read over Maglubiyet's analysis of how speed works in the game and the different things it does - for the most part, these all seem like design choices made by the development team to set it up in this way. Now, there's some questionable design choices, but design choices none the less.

However, the QB speed thing is definitely not a design intention, it's a straight up bug that the person who wrote the code simply put some numbers in the wrong order.

Code:
num = (((PlayerFlags & Enums.PlayerFlags.RunningQB) == Enums.PlayerFlags.RunningQB) ? (num * 1.25f) : ((Speed >= 80) ? (num * 1.15f) : (num * 1.35f)));

So this is really just a series of if statements. The statement before the ? is the condition. If the condition is met, then the first thing after the ? is what happens, if the condition is not met then go after the : for what happens. In this case there are 2 if statements.
  • If you're a mobile QB -> you get your current speed boosted by 125%
  • If you're not a mobile QB -> Check the speed attribute to decide what is next
So if you're not a mobile QB, then it does this next if statement:
  • If your speed is 80 or above -> you get your current speed boosted by 115%
  • Otherwise your current speed is boosted by 135%
This is what is straight up what causes a 79 speed non mobile QB to end up being faster than a 90 speed mobile QB.

There is no way this was intended by the design team, it just straight up doesn't make sense and doesn't scale properly like you think it would.

What the developer did when they coded this is made the mistake of the order of this statement, if we switch the numbers around, this would scale properly and what you would expect it to. So here is the code fix they'll never do.

Code:
num = (((PlayerFlags & Enums.PlayerFlags.RunningQB) == Enums.PlayerFlags.RunningQB) ? (num * 1.35f) : ((Speed >= 80) ? (num * 1.25f) : (num * 1.15f)));

This is how I think they intended for it to work.
  • If you're a mobile QB -> you get your current speed boosted by 135%
  • If you're not a mobile QB -> Check the speed attribute to decide what is next
So if you're not a mobile QB, then it does this next if statement:
  • If your speed is 80 or above -> you get your current speed boosted by 125%
  • Otherwise your current speed is boosted by 115%
In this case, mobile quarterbacks just get that automatic 135% boost the whole way, non mobile QBs with 80+ speed get the 125% boost, and anyone else 79 and lower just gets a 115% boost.

The developer basically put the numbers in the wrong spot thinking the condition worked like this:

condition ? false : true

Instead of how it works in reality:

condition ? true : false

This is actually a pretty common thing people can do and if it doesn't get caught in testing - well, you see what happens Smile

Todays shit code:

Non Mobile QB
  • 79 = current speed 3.28725
  • 80 = current speed 2.8175
Mobile QB
  • 79 = current speed 3.04375
  • 80 = current speed 3.0625
If done properly:

Non Mobile QB
  • 79 = current speed 2.80025
  • 80 = current speed 3.0625
Mobile QB
  • 79 = current speed 3.28725
  • 80 = current speed 3.375
I had originally wanted to put in a recommendation to make all QBs considered mobile as that would give you the straight up 125% boost for every QB and you'd no longer have this weirdness happen, but unfortunately it seems like mobile QBs are coded to run with the ball more than looking for passes so that won't work. Maybe the sim league will find that sweet spot for mobile vs. non mobile to work around a bit with this bug or maybe the developer of the game can put out a patch to fix the code I showed above (LOL FAT CHANCE)

So all that being said, make sure you check out Mag's article I linked to above to do a slightly deeper dive as there are some conditions to be aware of for other positions (running backs for example have some really weird design choices) but the MAIN thing I wanted to do was stop the myth I was seeing in Discord.

If you're not a Quarterback, you're not hit by this 79 bug. So DT Goat Tanks like me, feel free to hit that 80 speed.


Legend of the 79 speed QB - Faded - 07-31-2020

sim machine broke

but really good article <3


Legend of the 79 speed QB - HalfEatenOnionBagel - 08-01-2020

Well we get what we paid for


Legend of the 79 speed QB - DarknessRising - 08-01-2020

If this is going to be heavily exploited in the future, it would be worth to probably look to change the speed caps of the different QB archetypes to force a change.


Legend of the 79 speed QB - Peterson - 08-01-2020

Good read and good information!


Legend of the 79 speed QB - timeconsumer - 08-01-2020

(08-01-2020, 08:34 AM)DarknessRising Wrote:If this is going to be heavily exploited in the future, it would be worth to probably look to change the speed caps of the different QB archetypes to force a change.

The thing is it's not really an exploit, it's mostly working as intended. If you check the effect on outcomes (win rate) between all QB archetypes there's maybe a 2% variance between them, even with 79 speed builds.

The Game Manager arch was always intended to be an effective rusher, hence the lower caps on passing attributes. The trouble is that when we designed these we had originally tested with the QB flagged as a runner so we didn't realize the comparison between Mobile and Game Manager's yards per carry, while also not realizing how terrible an 80 speed unflagged QB is (seriously it's trash).

I do think it's worth looking into the situation to find a way to make sure Mobile can remain king of speed, but let's not immediately reach for the Nerfbat.

Also FWIW flagging a QB as a runner gives them maybe 3 runs per game vs 1 when not using the Spread playbook. So a large increase % wise but not a big difference in outcomes.


Legend of the 79 speed QB - DarknessRising - 08-01-2020

(08-01-2020, 11:14 PM)timeconsumer Wrote:I do think it's worth looking into the situation to find a way to make sure Mobile can remain king of speed, but let's not immediately reach for the Nerfbat.

Everything else i get and well you have muchhhhh more experience and awareness into this so i kinda just assume anyways what you said is accurate

Things can be changed to stop everyone just picking the same archetype if its implied to be OP. The stats might show it's not but perception is reality. Also never implied that mobile has to be nerfed, there is many things that could be done to make this wonky situation work out with clear areas of power/difference between the QB's. I.e. you could increase other type's speed, make them throw better etc. etc. Nerfbat doesn't need to be taken out of storage



Legend of the 79 speed QB - Opera_Phantom - 08-01-2020

90 speed QBs should be OP.