this post was submitted on 24 May 2025
454 points (97.5% liked)
Games
38773 readers
1271 users here now
Welcome to the largest gaming community on Lemmy! Discussion for all kinds of games. Video games, tabletop games, card games etc.
Weekly Threads:
Rules:
-
Submissions have to be related to games
-
No bigotry or harassment, be civil
-
No excessive self-promotion
-
Stay on-topic; no memes, funny videos, giveaways, reposts, or low-effort posts
-
Mark Spoilers and NSFW
-
No linking to piracy
More information about the community rules can be found here and here.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
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.
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.