Hacker improves GTA Online load times by 70 percent with a simple DLL

gamerk2

Posts: 730   +698
Original blog post fascinating. That is some REALLY bad code design, like really bad. Amazing work finding and fixing it without source, but that should have been caught and fixed before release...let alone linger for almost a decade knowing that people literally don't play that game because of its load times. I don't think it would be completely unreasonable to say they've missed out on tens (more?) of millions of dollars because of this.

They literally already have a unique hash for each object...but they check every single item in the array. Hash tables/maps are like, sophmore (junior?) CS major topics...an intern would have caught this.
Edit: oh god I just realized I sound like someone on stack overflow what have I become

Software Engineer speaking:

An Intern absolutely would not have caught this; I'd bet a decent chunk of cash an Intern wrote this code block. I've seen a LOT of bad beginner software engineers over the years, people who's actual coding experience is limited to a college course of Java (or whatever language is hot these days). The concept of caching was probably never exposed to them.

Granted, this *should* have gotten caught in code review, and looked at post-release as load times increased.
 

gamerk2

Posts: 730   +698
I can't find any hard confirmation in news articles but back in 2013 the game size was 72 gb. Today it's a bit over 100. This was unacceptable code in 2013 and it's sure as hell unacceptable now, and I'm tired of Rockstar constantly being excused for making the worst ports in the industry to the PC and then blaming the PC for the problems they inflicted on the port through either indifferent laziness or malicious laziness.

This is the most profitable entertainment product ever produced in human history. There is no excuse for this.

Consider how much content has been added over the past 8 years, the fact they kept sizes that low despite all the necessary added textures is nothing short of amazing. Look how badly CoD is doing with far fewer assets.
 

Uncle Al

Posts: 9,119   +8,158
Microsoft had the best approach to this over two decades ago when they would free release beta's into the public, then sit back and hear the complaints and pick up a lot of free fix's that were posted on the game sites. Later they started to pay a bounty for such things ..... now they just release them and not worry. What would you call that? The evolution of stupidity?
 

R3ckless

Posts: 7   +7
Great now if start wars battlefront 2 could be looked at that would make my day, fun game, horrible load times.

how sad is it to get upstaged by a person with time on their hands fixing the issue for you. He basically did the work for them and they can fix this and change it. It takes awhile to load and I have a gen 4 m.2 drive with a ryzen 3900x and 32gb of ram. It is way to slow for what its doing. With my ssd it should fly. 1-3 mins everytime I want to hop into the game is annoying. I can only imagine the wait for worse hardware (also running 6900 xt). That is hours of non playing load times.
 

Lionvibez

Posts: 2,714   +2,528
The one time I dipped my toes into FiveM, the server had some kind of essay-form written application, which I failed because I didn't know what a couple slash commands specific to that server did. I imagine there are some more casual servers out there but some of them need to chill out.

Not surprised a lot of the servers have high requirements to get in, it insures quality and keep the people that just want to mess around in the public servers.
 

EchoWhiskey

Posts: 21   +14
It's funny to see that some people believe that fixing and publishing a patch for a game shouldn't take more than a day.

He was referring to fixing the issue, not testing / releasing the fix.
If any professional developer can't fix this in a day, he/she should be looking for another job
 

ZackL04

Posts: 845   +647
Meanwhile, on my series X, load times are blazing fast, much faster than on my pc with NVME drive. Single player loads even quicker

Must be a specific pc issue
 

Markoni35

Posts: 1,318   +535
Two things to remember:
1. For nowadays programming practices, 20 years ago you'd be shot. Nowadays everyone thinks he's a programmer and deserves a 6-figure salary.
2. You can never speed up thing significantly, unless you (or someone before you) didn't previously royally screw up things.
 

Puiu

Posts: 5,761   +4,699
TechSpot Elite
Two things to remember:
1. For nowadays programming practices, 20 years ago you'd be shot. Nowadays everyone thinks he's a programmer and deserves a 6-figure salary.
2. You can never speed up thing significantly, unless you (or someone before you) didn't previously royally screw up things.
You have no idea the horror of trying to modify code written 20 years ago.

The only reason why code was "cleaner" back then is because there was much less code. Nowadays you are expected to write tens or hundreds of more lines of code in the same amount of time. Time to add comments and do proper documentation is a luxury.
 

Impudicus

Posts: 272   +279
Well, it took Rockstar months to fix the issue in RDR2 that would reduce your volume to like 10% when you launch the game. Not hard to turn back up but I was so disgusted by their lack of competence I quit playing all together. Just couldn't bring myself to support something like this, the absolute trash that has been the RDR2 PC port.
 

Markoni35

Posts: 1,318   +535
You have no idea the horror of trying to modify code written 20 years ago.

The only reason why code was "cleaner" back then is because there was much less code. Nowadays you are expected to write tens or hundreds of more lines of code in the same amount of time. Time to add comments and do proper documentation is a luxury.

That's an additional problem. We need to write more code, and yet the tools to make our job easier are worse now than in early 2000's. How many people can visually design controls on a web page? How many people can use a strongly typed language for front end web dev? Or if you use Java, how long the build process lasts? Eons.

Nowadays programmers are taught to include a 1 GB library just to use a single 20-line function. And libraries are written so that using one function adds 10 more heavy dependencies.

That's because of using temporary solutions for serious development. The most popular programming languages today, like JS, Python or PHP, are basically someone's pet projects that escaped from labs (basements) and infected entire world for reasons that border with luck or accident. Without being properly finished or modelled.

But when someone introduces order into the chaos, like when Microsoft civilized JS by introducing TS, the open-source community boycotts them because they are Microsoft. And then Google invents a new language called Dart, which doesn't introduce anything special, except more incompatibilities and more chaos.

What to say about Java/Kotlin build systems? Does someone get extra bonus to make the process as slow as possible? Could they not learn from others? Could they not steal good things and omit bad ones?

Languages are strictly separated to high-level and low-level, or front-end and back-end, making it impossible to write the code once, or use the same library on both ends. Which is ridiculous. Take Object Pascal for example, it can go as high as having abstract methods, generic functions and RTTI, or go as low as writing assembly code directly between the high-level code. And that's something invented in 1980'es.

So, why are modern languages so crappy and development tools so impotent? Why would you develop web apps by manually knitting parts of HTML, when it should be visual, in an editor similar to Photoshop, but object-oriented of course. And the final code should be equally optimized, if not better, as is the case with Windows/Mac/Linux development.

We need to write more code not just because requirements are higher, but also because dev tools are worse now than 15 years ago. Who would have expected that?? Not me. I thought programming tools would be enormously more advanced in 2021 than in 2001. And easier. And quicker. But it didn't happen.
 
Last edited: