Most active commenters
  • sillysaurusx(8)
  • ryandrake(3)
  • scaramanga(3)

←back to thread

3883 points kuroguro | 26 comments | | HN request time: 3.423s | source | bottom
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 #
1. 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 #
2. 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 #
3. systemvoltage ◴[] No.26298964[source]
How do we then address chronic incompetence? Never complain about it?

This is not small. This kind of incompetency if employed in a different sector such as security would lead to losing personal data of millions.

> “it’s a miracle software works at all”

This is not the case here. Please re-evaluate your calibration on this topic.

replies(1): >>26298980 #
4. 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 #
5. sillysaurusx ◴[] No.26298980{3}[source]
1. you replied to the wrong person.

2. this kind of incompetence exists in all other sectors. That's why pentests are so crucial, and why they guard the security of millions.

3. we'll have to agree to disagree that it's a minor miracle. Having seen the complexity firsthand, it's quite amazing.

replies(1): >>26299912 #
6. scrose ◴[] No.26298989[source]
I don’t think the OP was specifically calling out any game devs. Any engineer who has worked on any software projects knows that you usually can only do as well as your deadlines and managements priorities allow for.. Unless the stars line up and you have the resources and autonomy to fix the issue yourself, and love working for free on your own time.
replies(1): >>26298998 #
7. sillysaurusx ◴[] No.26298998[source]
Unfortunately, they were calling out gamedevs:

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.

But, I fully agree with your assessment, for what it's worth.

replies(1): >>26299092 #
8. ianlevesque ◴[] No.26299025{3}[source]
Did you read the article? Zero features needed to be cut, this is a 30 minute fix.
replies(1): >>26300230 #
9. ryandrake ◴[] No.26299027{3}[source]
I’d have to have been there, seen the list of features with eng estimates and trade offs, but yes I would have happily made the call to chuck one of them if it meant a measurably higher quality product, like this massive load time improvement. Hell, that zoom-out-zoom-in animation when you switch characters probably took as much time to code as it would have to fix this bug. I think anyone with good product sense and the balls to make a priority call that might get someone upset could make the right call here.
10. scaramanga ◴[] No.26299041[source]
GTA-5 broke even within 48 hours of it's release. Nearly a decade later, it still costs $60 for a digital copy with (practically) zero distribution costs. It has made over $6Bn in revenue, and is said to be the most profitable entertainment product of all time.

How much would it have cost to fix this issue?

Is anyone saying that it is a game developers fault? I mean, what is that you think would prevent a game developer from fixing this?

Because I think, anyone even vaguely familiar with the software industry in general is going to come up with answers like:

1. It would not cost very much 2. No it isn't a developers fault, because it's clear that even an intern could fix this 3. Management isn't interested, or is too disorganized, or focussed on cynical extraction of every last bit of profit.

And from that perspective, it certainly does make it seem like a cynical cash cow.

I don't know many game developers, but I do know people in other parts of the software industry and professionals in general. And I think that they keep to themselves because they have first hand experience of how the industry works and understand it better than anyone. The probably sympathise with the right of the public to feel ripped off.

That said, I still paid for the game, I think it's fun. Apparently there is "no alternative" to this state of affairs.

replies(2): >>26299152 #>>26309680 #
11. scaramanga ◴[] No.26299050{3}[source]
But after it's already made record-breaking profits and is a huge cash cow with recurring revenue. You could just say "hey, I'll hire one single contract developer to do these kinds of quality of life things" and make a fraction less profit.
replies(1): >>26299104 #
12. scaramanga ◴[] No.26299092{3}[source]
I read that to mean "If a manager would say to one of his developers, who are probably all worth their salt, take a profiler and go figure out why our load times suck, then this would be fixed."

But a manager shouldn't even have to do that, because in a well functioning team, if the dev leads come back with such a fix, they won't get punished for going off the reservation and would probably be doing this of their own initiative.

But if things like that get met with "why have you wasted time on this? we gave you the list of priorities and it does not include load times" then dev leads will make sure all developers time is filled with things which are prioritized.

Edit: grammar

13. ryandrake ◴[] No.26299104{4}[source]
> make a fraction less profit

Unfortunately this part often kills quality initiatives. Why fix bugs for your existing customers when you can deploy the engineering resources on a DLC or a sequel which will milk those customers for more? There is no more craftsmanship or pride in good work left in software.

"When you're a carpenter making a beautiful chest of drawers, you're not going to use a piece of plywood on the back, even though it faces the wall and nobody will see it. You'll know it's there, so you're going to use a beautiful piece of wood on the back. For you to sleep well at night, the aesthetic, the quality, has to be carried all the way through." -Steve Jobs

14. dragonwriter ◴[] No.26299152[source]
> GTA-5 broke even within 48 hours of it's release. Nearly a decade later, it still costs $60 for a digital copy with (practically) zero distribution costs

Well, that's the nominal full retail price against which the various discounts are measured, sure, but I doubt that's what most people buying it these days pay except if they are getting something else with it. I'm pretty sure it's in the stack of things I've gotten free this year on Epic that's in my “I might check it out sometime” queue, it's $29.98 right now from Humble Bundle, etc.

15. systemvoltage ◴[] No.26299912{4}[source]
Agree that this kind of incompetence exists in all sectors and I think we don't talk about it, it becomes acceptable. We're not trying to blame a single developer, that'd be inappropriate. But, the management and QA culture in a AAA game studio that rakes billions ought to be better.

The complexity is in reverse engineering the binary. The developer has access to the full source code and the profiling tools I presume.

Another one is in Microsoft Flight Simulator, instead of downloading multiple archives, it downloads one, unzips it using a single CPU core and then downloads another one. MSFS 2020 takes a few hours to install and that's not just because of the internet connection, but this shitty installation code.

16. sillysaurusx ◴[] No.26300230{4}[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 #
17. ianlevesque ◴[] No.26300497{5}[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 #
18. sakarisson ◴[] No.26300868{3}[source]
> Which features would you cut out of the game in order to have fast loading times?

If this is a serious question, I'd say cut any of the new vehicles introduced in the last 2 years. None of them are nearly as impactful as this optimization. In fact, I am having issues imagine any individual feature at all that's as important as this fix.

19. daodedickinson ◴[] No.26301469[source]
I did mean to reply to you (72 days ago plus in another thread) I just can't make a Twitter, like I've tried and doesn't like my IP or email addresses or something, not sure
replies(1): >>26301968 #
20. sillysaurusx ◴[] No.26301735{6}[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 #
21. sillysaurusx ◴[] No.26301968[source]
Hmm, that's unfortunate. Well, I hope you find a way to get on Twitter. Your thoughts are always welcome, and there are a lot of interesting people in the ML scene there.
22. rasz ◴[] No.26303503{7}[source]
You do realize Cyberpunk 2077 shipped running better on base PS4 than "critically acclaimed" Control by Remedy?
replies(1): >>26305058 #
23. sillysaurusx ◴[] No.26305058{8}[source]
Cyberpunk 2077 ran so horribly on PS4 that Sony had to refund everyone who purchased it.
replies(1): >>26305932 #
24. rasz ◴[] No.26305932{9}[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.

25. Sohcahtoa82 ◴[] No.26309680[source]
> Nearly a decade later, it still costs $60 for a digital copy

It's actually only $30 and frequently goes on sale for $15. It hasn't been $60 (on Steam at least) since June 2018.

26. imtringued ◴[] No.26313727{5}[source]
This feature would bring in millions of dollars on its own. When your customer base is earning you $1 billion per year a 1% improvement is $10 million per year. You could hire an entire team of 100 engineers for that salary just to fix this single bug.