←back to thread

3883 points kuroguro | 3 comments | | HN request time: 0.734s | source
Show context
breakingcups ◴[] No.26296724[source]
It is absolutely unbelievable (and unforgivable) that a cash cow such as GTA V has a problem like this present for over 6 years and it turns out to be something so absolutely simple.

I do not agree with the sibling comment saying that this problem only looks simple and that we are missing context.

This online gamemode alone made $1 billion in 2017 alone.

Tweaking two functions to go from a load time of 6 minutes to less than two minutes is something any developer worth their salt should be able to do in a codebase like this equipped with a good profiler.

Instead, someone with no source code managed to do this to an obfuscated executable loaded with anti-cheat measures.

The fact that this problem is caused by Rockstar's excessive microtransaction policy (the 10MB of JSON causing this bottleneck are all available microtransaction items) is the cherry on top.

(And yes, I might also still be salty because their parent company unjustly DMCA'd re3 (https://github.com/GTAmodding/re3), the reverse engineered version of GTA III and Vice City. A twenty-year-old game. Which wasn't even playable without purchasing the original game.)

replies(40): >>26296812 #>>26296886 #>>26296970 #>>26297010 #>>26297087 #>>26297123 #>>26297141 #>>26297144 #>>26297184 #>>26297206 #>>26297323 #>>26297332 #>>26297379 #>>26297401 #>>26297448 #>>26297480 #>>26297806 #>>26297961 #>>26298056 #>>26298135 #>>26298179 #>>26298213 #>>26298234 #>>26298624 #>>26298682 #>>26298777 #>>26298860 #>>26298970 #>>26299369 #>>26299512 #>>26299520 #>>26300002 #>>26300046 #>>26301169 #>>26301475 #>>26301649 #>>26301961 #>>26304727 #>>26305016 #>>26311396 #
sillysaurusx ◴[] No.26298860[source]
Attitudes like yours are why gamedevs keep to themselves.

"Unbelievable" and "unforgivable" eh? It's a greedy attitude. Instead of viewing GTA5 as a success that's brought a lot of people happiness, you view it as a money cow designed to extract every last bit of profit – and time, since this bug caused 70% longer loading times.

Perhaps it's both. But you, sitting here behind a keyboard with (correct me if I'm wrong) no gamedev experience, have no idea what it's like on a triple-A gamedev team with various priorities. The fact that the game works at all is a minor miracle, given the sheer complexity of the entire codebase.

The fact that someone was able to optimize the obfuscated executable is a wonderful thing. But they weren't a part of the team that shipped GTA 5. If they were, they certainly wouldn't have been able to spend their time on this.

replies(4): >>26298944 #>>26298989 #>>26299041 #>>26301469 #
ryandrake ◴[] No.26298944[source]
This kind of excuse making is one of the reasons I got out of software development. It’s not just gamedev. Priorities are way out of wack when you have time to put in binary obfuscation, but no time to fix such a huge performance bottleneck. The idea that “it’s a miracle software works at all” demonstrates the chronic prioritization and project management competence problem in the industry.

It’s ok to recognize a thing as a business success but a technical failure. In fact many software projects are business successes despite awful and unforgivable quality compromises. You don’t get to whitewash it just because the thing prints money.

replies(2): >>26298964 #>>26298971 #
sillysaurusx ◴[] No.26298971[source]
If loading times were prioritized, features would be cut. Which features would you cut out of the game in order to have fast loading times?

This is what you'd need to decide. And then afterwards, it might not print as much money as you think it will.

It's easy looking at it from the outside. Not so easy from the inside.

replies(4): >>26299025 #>>26299027 #>>26299050 #>>26300868 #
ianlevesque ◴[] No.26299025[source]
Did you read the article? Zero features needed to be cut, this is a 30 minute fix.
replies(1): >>26300230 #
sillysaurusx ◴[] No.26300230[source]
Building the engine alone takes 30 minutes after each change. You're not going to get anything done in 30 minutes. And the more you work on this, the less you're working on shippable features that make money.
replies(2): >>26300497 #>>26313727 #
ianlevesque ◴[] No.26300497[source]
In the mobile space, an app opening faster is so valuable you can make a career out of just that. I haven't worked desktop/console games, but having load times be 6 minutes longer than it needs to be, when you're trying to make money on ongoing microtransactions, has got to be losing you so much more money than the time spent fixing.
replies(1): >>26301735 #
sillysaurusx ◴[] No.26301735[source]
That's a fine argument, and I'm sure that if management knew they could get a 70% decrease in load times in exchange for focusing on this one area, they would have done so. But nobody knew. And discovering that would have been expensive.

I'll meet you halfway though: they should have had profiling sessions that pointed to the JSON parsing code as the issue. I imagine that all of their profiling efforts were focused on the runtime performance, not the load time. Simply put, no one did that profiling, and I don't fault them for focusing on runtime performance (which is where the real money is, as Cyberpunk 2077 demonstrated by not having it, and subsequently having their PS4 orders yanked and refunded).

replies(1): >>26303503 #
1. rasz ◴[] No.26303503[source]
You do realize Cyberpunk 2077 shipped running better on base PS4 than "critically acclaimed" Control by Remedy?
replies(1): >>26305058 #
2. sillysaurusx ◴[] No.26305058[source]
Cyberpunk 2077 ran so horribly on PS4 that Sony had to refund everyone who purchased it.
replies(1): >>26305932 #
3. rasz ◴[] No.26305932[source]
No, Sony pulled Cyberpunk 2077 after CD Project promised refunds and then forced Sony to do it on their end. Sony didnt like that.

Once again - Control by Remedy ran on base PS4 at 10 frames per second, TEN frames. Critically acclaimed, reviewers loved it and didnt tend to mention TEN frames per second on base consoles, not pulled from the store.