Gamers who don’t know any programming, or maybe made a little utility for themselves. Looovee to bring out the old “just change one line of code”, “just add this model”, etc. to alter something in a game.
They literally do not understand how complex systems become, specially in online multiplayer games. Riot had issues with their spaghetti code, and people were crawling over eachother to explain how “easy” it would be to just change an ability. Without realizing that it could impact and potentially break half a dozen other abilities.
When a dev with game dev experience says something should be easy to fix, it’s under the assumption of a reasonable code base. Most games are built off of common engines and you can sometimes infer how things are likely organized if you track how bugs are introduced, how objects interact, how things are loaded, etc…
When something is a 1 day bugfix under ideal conditions, saying it will take 6+ months is admitting one of:
The codebase is fucked
All resources are going to new features
Something external is slowing it down (palworld lawsuit, company sale, C-suite politics, etc…)
Your current dev team is sub par
Not that any of those is completely undefendable or pure malpractice, but saying it “can’t” be done or blaming complexity is often a cop out.
The correlation between code quality and game quality is almost negative. When you’re doing groundbreaking stuff or going for your own artistic vision it’s tough to code well, even more so when you hit a jackpot and have to expand quickly (e.g. League spaghetti, Palworld)
In the real world there is no entirely reasonable code base. There’s always going to be some aspects of it that are kind of shit, because you intended to do X but then had to change to doing Y, and you have not had time or sufficient reason to properly rewrite everything to reflect that.
We tend to underestimate how long things will take, precisely because when we imagine someone doing them we think of the ideal case, where everything is reasonable and goes well. Which is pretty much guaranteed to not be the case whenever you do anything complex.
I agree, real code always has tradeoffs. But there’s a difference between a conceptually simple change taking 3 weeks longer than planned and 6 months. The reality is game code is almost always junk and devs have no incentive to do better.
Getting a feature functional and out for launch day is the priority because you don’t have any cash flow until then. This has been exacerbated with digital distribution encouraging a ship-now-fix-later mentality.
This means game devs don’t generally have experience with large scale, living codebases. Code quality and stability doesn’t bring in any money, customer retention is irrelevant unless you’re making an mmo.
Can’t be done is usually shorthand for the cost massively outweighs the benefits. No different from remodeling a building. Like coding, literally anything is theoretically possible but sometimes you’d have to redo so much existing work it’s never going to be worth it.
Absolutely, it’s impossible to know how much. But it’s a lot easier to grasp that it’s rarely just “changing a few lines” when it comes to these types of situations.
Specially since many programmers have encountered clients, managers, etc. who think it’s that simple as well.
And even then it’s sometimes impossible because how much can you keep in your head at once. Everybody specializes on these large projects. I may have 30000 ft view of how things operate but getting down into specifics can be hard. I have some intimate knowledge of the learning management system we develop for, which is way less complex than most games, and there are always little gotchas when you make code or architecture changes.
Diablo4 has memory leak issues. As a software engineer myself, I just don’t see any excuse for a game this long in production to have memory leak problems.
There is no doubt that a lot of games are getting rushed without being properly tested.
Tbf memory leaks can be very hard to diagnose and can also be hard to avoid in any software written in a language like C++, which is probably what Diablo 4 is written in.
In large scale online games you have issues ranging from obscure things causing memory leaks based on drivers, hardware combinations, etc. and all the way to basic things getting overlooked. One of my favorite examples being GTA5 online.
They forgot to update a function from early testing, and it was in the game for about a decade before someone else debugged the launch process. And then realized that it was going through the entire comparison file for each item it checked on the local list. So “changing a few lines” ended up reducing initial load times by up to 70% depending on the cpu and storage media.
That’s kind of a funny example because, on a quick skim, nothing he did was exceptionally clever or unusual (other than workarounds for not having source code). R* basically paid him 10k for some basic profiling that they never bothered to do.
In the wake of all the layoffs and such I don’t know if any former employees have (as vaguely as possible) discussed the codebase yet. It seems like such an absolute nightmare.
Well why didn’t you start 6 months ago. It’s not my problem. I paid full price. If you wanna be left the fuck alone sell games for $15 and take your time no one will bother you. When you start asking $80 a game the price sets expectations. Devs lack of planning is not my problem as a consumer.
Gamer who doesn’t understand how gamedev works gets mad at guy telling them they don’t get how gamedev works, demanding their treats get here, right now anyway after being told it actually takes a bit to make. News at 11.
Yeah, you’re probably right, the video game you personally made is probably better and we’re just lazy. BTW I demand 20 hours of brand-new content to be released next week, and it better be cutting-edge, uniquely interesting and creative, bug-free and $4.99, or else you’re a lazy dev, too.
It’s genuinely funny watching these people learn absolutely nothing when slapped in the face with hard facts.
That’s nothing new.
Gamers who don’t know any programming, or maybe made a little utility for themselves. Looovee to bring out the old “just change one line of code”, “just add this model”, etc. to alter something in a game.
They literally do not understand how complex systems become, specially in online multiplayer games. Riot had issues with their spaghetti code, and people were crawling over eachother to explain how “easy” it would be to just change an ability. Without realizing that it could impact and potentially break half a dozen other abilities.
Even if you’re an actual software dev, it’s still pretty much impossible to guess how much work something is without knowing the codebase intimately.
I’m a software dev and it should only take 7.
When a dev with game dev experience says something should be easy to fix, it’s under the assumption of a reasonable code base. Most games are built off of common engines and you can sometimes infer how things are likely organized if you track how bugs are introduced, how objects interact, how things are loaded, etc…
When something is a 1 day bugfix under ideal conditions, saying it will take 6+ months is admitting one of:
Not that any of those is completely undefendable or pure malpractice, but saying it “can’t” be done or blaming complexity is often a cop out.
I agree with you, but I’d also like to add the caveat that even with commonly-used engines shit can still be incredibly complex.
The correlation between code quality and game quality is almost negative. When you’re doing groundbreaking stuff or going for your own artistic vision it’s tough to code well, even more so when you hit a jackpot and have to expand quickly (e.g. League spaghetti, Palworld)
In the real world there is no entirely reasonable code base. There’s always going to be some aspects of it that are kind of shit, because you intended to do X but then had to change to doing Y, and you have not had time or sufficient reason to properly rewrite everything to reflect that.
We tend to underestimate how long things will take, precisely because when we imagine someone doing them we think of the ideal case, where everything is reasonable and goes well. Which is pretty much guaranteed to not be the case whenever you do anything complex.
I agree, real code always has tradeoffs. But there’s a difference between a conceptually simple change taking 3 weeks longer than planned and 6 months. The reality is game code is almost always junk and devs have no incentive to do better.
Getting a feature functional and out for launch day is the priority because you don’t have any cash flow until then. This has been exacerbated with digital distribution encouraging a ship-now-fix-later mentality.
This means game devs don’t generally have experience with large scale, living codebases. Code quality and stability doesn’t bring in any money, customer retention is irrelevant unless you’re making an mmo.
And games are usually one and done, so there’s even less motivation to write sustainable code.
Can’t be done is usually shorthand for the cost massively outweighs the benefits. No different from remodeling a building. Like coding, literally anything is theoretically possible but sometimes you’d have to redo so much existing work it’s never going to be worth it.
Absolutely, it’s impossible to know how much. But it’s a lot easier to grasp that it’s rarely just “changing a few lines” when it comes to these types of situations.
Specially since many programmers have encountered clients, managers, etc. who think it’s that simple as well.
Relevant.
My favorite one is “Just add multiplayer”.
Sure. I’ll just go right ahead and toggle it in the engine. Why didn’t I think of that?
lemme just bang out a complete rewrite of the game functionality over lunch
You did it twice, so I’ll be the grammar police:
Especially = particularly
Specially = for a specific purpose
And even then it’s sometimes impossible because how much can you keep in your head at once. Everybody specializes on these large projects. I may have 30000 ft view of how things operate but getting down into specifics can be hard. I have some intimate knowledge of the learning management system we develop for, which is way less complex than most games, and there are always little gotchas when you make code or architecture changes.
Diablo4 has memory leak issues. As a software engineer myself, I just don’t see any excuse for a game this long in production to have memory leak problems.
There is no doubt that a lot of games are getting rushed without being properly tested.
gamedev be like
Tbf memory leaks can be very hard to diagnose and can also be hard to avoid in any software written in a language like C++, which is probably what Diablo 4 is written in.
In large scale online games you have issues ranging from obscure things causing memory leaks based on drivers, hardware combinations, etc. and all the way to basic things getting overlooked. One of my favorite examples being GTA5 online.
They forgot to update a function from early testing, and it was in the game for about a decade before someone else debugged the launch process. And then realized that it was going through the entire comparison file for each item it checked on the local list. So “changing a few lines” ended up reducing initial load times by up to 70% depending on the cpu and storage media.
EDIT: I’ve been drinking and probably misreemebred parts, so here is the post about how he found the issue
That’s kind of a funny example because, on a quick skim, nothing he did was exceptionally clever or unusual (other than workarounds for not having source code). R* basically paid him 10k for some basic profiling that they never bothered to do.
as a professional software dev, games with fozens or hundreds of abilities that interact with eachother scare me
Yea, in things like MOBA games you have to compensate for so many edge cases that the amount of interactions between abilities is as you say, scary.
See: Destiny and Telesto.
In the wake of all the layoffs and such I don’t know if any former employees have (as vaguely as possible) discussed the codebase yet. It seems like such an absolute nightmare.
Well why didn’t you start 6 months ago. It’s not my problem. I paid full price. If you wanna be left the fuck alone sell games for $15 and take your time no one will bother you. When you start asking $80 a game the price sets expectations. Devs lack of planning is not my problem as a consumer.
Do you yell at waiters by any chance?
Gamer who doesn’t understand how gamedev works gets mad at guy telling them they don’t get how gamedev works, demanding their treats get here, right now anyway after being told it actually takes a bit to make. News at 11.
Found the lazy dev
Yeah, you’re probably right, the video game you personally made is probably better and we’re just lazy. BTW I demand 20 hours of brand-new content to be released next week, and it better be cutting-edge, uniquely interesting and creative, bug-free and $4.99, or else you’re a lazy dev, too.
It’s genuinely funny watching these people learn absolutely nothing when slapped in the face with hard facts.