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.
mriswith@lemmy.world 3 weeks ago
That’s nothing new.
Gamers who don’t know any programming, or at most have made a little script themselves. Love to bring out the old “just change one line of code”, “just add this model” 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 break half a dozen other abilities.
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.
You are both correct in a way.
In large scale online games you have issues ranging from obscure things causing memory leaks, 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 loading an entire file every time it checked a local item list against the online one. Changing “basically one line” 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.
as a professional software dev, games with fozens or hundreds of abilities that interact with eachother scare me
In most professioonal software you can compartmentalize and abstract. In things like MOBA games, the amount of interactions between abilities is as you say, scary.
Having an ability that does two types of damage, and then changing the order of which one hits first. Can literally break a game.
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
Do you yell at waiters by any chance?
Guy who doesn’t understand how gamedev works gets mad at guy telling them they don’t get how gamedev works, demanding their treats anyway after being told it might take a bit to make. News at 11.
Don’t the lazy dev
Yeah, you’re probably right, your game is probably better. I’d like 80 hours of brand new content next week, and it better be cutting-edge, uniquely intersting, bug-free, and $4.99, or else you’re lazy.
Ghoelian@lemmy.dbzer0.com 3 weeks ago
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.
mriswith@lemmy.world 3 weeks ago
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.
fennesz12@feddit.dk 3 weeks ago
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?
businessfish@lemmy.blahaj.zone 2 weeks ago
lemme just bang out a complete rewrite of the game functionality over lunch
Cenzorrll@lemmy.world 3 weeks ago
You did it twice, so I’ll be the grammar police:
Especially = particularly
Specially = for a specific purpose
digitalnuisance@infosec.pub 2 weeks ago
Relevant.
shoo@lemmy.world 3 weeks ago
When a dev with game dev experience says something should be easy to fix, it’s under the assumption of a reasonable cobe 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.
kattfisk@lemmy.dbzer0.com 3 weeks ago
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.
shoo@lemmy.world 2 weeks ago
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.
DireTech@sh.itjust.works 3 weeks ago
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.
theblips@lemm.ee 2 weeks ago
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)
digitalnuisance@infosec.pub 2 weeks ago
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.
Lightor@lemmy.world 2 weeks ago
I’m a software dev and it should only take 7.
billwashere@lemmy.world 3 weeks ago
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.