Earlier quoted context omitted.
And it did not matter at all. The game shipped and was a success.
This is the thing that drives artists and craftsmen to despair and drink: That a flawed, buggy, poor quality work can be "successful" while something beautiful and technically perfect can fail.
How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2
41–50 of 315 posts
Re: How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2
#42[flagged]
To u/db48x whose post got flagged and doesn't reappear despite me vouching for it as I think they have a point (at least for modern games): GTA San Andreas was released in 2004. Back then, YAML was in its infancy (2001) and JSON was only standardized informally in 2006, and XML wasn't something widely used outside of the Java world. On top of that, the hardware requirements (256MB of system RAM, and the PlayStation 2…
Re: How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2
#43Earlier quoted context omitted.
Putting the (very valid) reasons for not having human-readable game saves aside, are you sure it's worse than using a 3rd party library that's built to accept semi-valid input values, possibly evaluates user input in some way and has difficult to debug bugs that occur only under certain inputs? I agree that writing a stable and safe parser for a binary data file isn't easy, but there's less things that can go wrong w…
> Putting the (very valid) reasons for not having human-readable game saves aside, I don't follow. What would the reasons be?
Re: How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2
#44Earlier quoted context omitted.
While it doesn't excuse the bad habits, we do have to keep in mind C++98 (or whatever more ancient was used back then) didn't have the simple initializers we now take for granted. You couldn't just do 'Type myStruct = {};' to null-initialize it, you had to manually NULL all nested fields. God forbid you change the order of the variables in the struct if you're nesting them and forget to update it everywhere. It was j…
You could always `bzero` or `memset` the entire struct to 0.
Re: How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2
#45Re: How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2
#46Earlier quoted context omitted.
The flaw isn't the language. The issue is a 0.5x programmer not knowing to avoid sscanf() and failing to default and validate the results. This could be handled competently with strtok() parsing the lines without needing a more complicated file format.
Worked fine on the target machines and the "0.5x programmer" got to see their family for winter holiday. Or are you saying they should have defensively programmed around a bug manifesting 21 years later and skip seeing their family during crunch time? To be honest, I just don't like how you disparaged the programmer out-of-context. Talk is cheap.
Re: How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2
#47Earlier quoted context omitted.
Putting the (very valid) reasons for not having human-readable game saves aside, are you sure it's worse than using a 3rd party library that's built to accept semi-valid input values, possibly evaluates user input in some way and has difficult to debug bugs that occur only under certain inputs? I agree that writing a stable and safe parser for a binary data file isn't easy, but there's less things that can go wrong w…
You misunderstood. Game developers should use a _good_ third–party library, not a _bad_ one. At a minimum they should be able to read the source code so that they know it is good. Thus open source libraries should be at the top of the list. If you don't know what “good” looks like, take a look at [Serde]( https://serde.rs/ ). It’s for Rust, but its features and overall design are something you should attempt to appro…
Re: How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2
#48I always enjoy reading deeply technical writeups like these. I only wonder how much more rare they may or may not get in the AI era.
i think the shift will be from craftmens to trademens in regards to general software engineers, but these are type of writes up stem of a artisan style all to its own.
Re: How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2
#49Earlier quoted context omitted.
And it did not matter at all. The game shipped and was a success.
This is the thing that drives artists and craftsmen to despair and drink: That a flawed, buggy, poor quality work can be "successful" while something beautiful and technically perfect can fail.
Re: How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2
#50Earlier quoted context omitted.
This is the thing that drives artists and craftsmen to despair and drink: That a flawed, buggy, poor quality work can be "successful" while something beautiful and technically perfect can fail.
The job of the artist is to take the years of expertise and distill it down into something "enjoyable." The hardest mental hurdle to get over is that people just don't care about the technicals being perfect. Hell, the final product doesn't even need to be beautiful; it just needs to be arresting.