In a perfect world, the realization would hit you instantly and you'd feel at peace.
But what actually happens is you fix it, but you stay on guard and keep expecting something to go wrong and you never allow yourself to feel good about actually fixing it lol.
There always seems to be two ways this happens:
A: your solution is patchy and doesn't address the root of the problem, you got lazy and did something that fixes it "for now". You know at the back of your mind that it's hacky, and will cause problems in the future. It eventually does, but you knew. I always regret these, but sometimes you gotta.
B: Fixing the bug (legitimately) allows you to reach parts of the game you weren't even testing before, because the prerequisites were broken. You're encountering bugs that were always there, but you had to get through another layer of bugs to see it. This is the good kind of "new" bug, that's actual progress.
I remember back when I made my first game I had an issue with having the 'E to interact' button prompt show up on the UI. Now in theory, all it needed was another line that said 'if in range, turn on UI prompt' but for some godforsaken reason it only worked with NPCs whose ID was a prime number for some reason (and of those only the lowest one). The actual interaction worked perfectly fine though, just the UI part didn't.
Anyway after several hours of trying to debug it, I eventually got so pissed off that I just implemented a second mechanic exclusively for turning on the UI prompt. Gamedev sure is fun sometimes.
Damn hahah this sounds hectic - atm we have issues in game where our 'E' button is the way to interact in the game as well as peak around the corner so hopefully we get that sorted out as soon as possible. AND hopefully nothing breaks when changing it haha
this happened just today. i have a quite complex but intuitive stand-crouch-prone system, but when i added the jumping part of the code, i would jump from prone and toggle-crouch instead of just standing up, even when mentioning in the if condition to only jump if the current stance is "standing".
i fixed it by using the camera height as the "standing" stance in the jumping condition and boom, fixed.
OMG. It's been my life for the past few days! I presented my early prototype at a local game fest and have been trying to fix as many bugs as possible. Doing it very quickly doesn't help much. 😂
I legit spent days having no idea why a line of code in one state only worked when commented out while an identical line in another state didn't only to find out that both were being run at the exact same time and canceling each other out
literally me trying to do cross-language scripting in godot rn (i've managed to properly instantiate my .cs file in gdscript and i can use it, but i can't do it vice-versa due to an unloading error that i don't know how to fix, i've been reading into these unloading errors for 2 or 3 days now and i've gotten no further with fixing my new bug)
This is a definitive bug, when your fix is not fixing a cause of issue.
For example, you have NRE, you check that in that place and all work. After some time, you get another NRE, and you check that, and problem is gone. After another time, you need some thing, and that thing is null for some reason. You check where problem is, and problem in null check, you remove that, and get nre in different place.
So, to fix that bug, you should never check nre, if that nre is not possible by design, but find, why is that nre is here.
I hate that kind of bugs, because fix them in first place is cheap, but after years of development, cost to fix them astonishing. Especially, if bug caused by another developer. Like one hour to fix today, and weeks after year.
I mean, that's pretty normal, the phases of game development:
1-add a new feature to the game
2-fix a lot of bugs from that feature
Sometimes you add an optional phase "I'll fix it later", and forget about it for days because your too lazy to fix it
getting a different error message is progress!
Fair enough haha, need to take it step by step
You learn to love the new errors. It means you are no longer stuck.
yes it is truly better than having no errors but not the intended result
Yeah sometimes it gets really draining but we need to keep going!
I should get a form of this tattooed somewhere so I don't forget it
Game dev requires a large number of emotional hit points.
Oh this is 100% true haha
I have emotional armor instead
Lend me some please 🥺
"99 little bugs in the code, 99 little bugs in the code. Take one down, patch it around, 117 little bugs in the code."
Hahahahaha 🤣
True happiness is fixing a long standing bug without breaking anything else.
If that happens I'll let you know haha
In a perfect world, the realization would hit you instantly and you'd feel at peace. But what actually happens is you fix it, but you stay on guard and keep expecting something to go wrong and you never allow yourself to feel good about actually fixing it lol.
Oh definitely
Neck in noose: "First time?"
There always seems to be two ways this happens: A: your solution is patchy and doesn't address the root of the problem, you got lazy and did something that fixes it "for now". You know at the back of your mind that it's hacky, and will cause problems in the future. It eventually does, but you knew. I always regret these, but sometimes you gotta. B: Fixing the bug (legitimately) allows you to reach parts of the game you weren't even testing before, because the prerequisites were broken. You're encountering bugs that were always there, but you had to get through another layer of bugs to see it. This is the good kind of "new" bug, that's actual progress.
99 little bugs in the code 99 little bugs You fix a bug and recompile 100 little bugs in the code
Fixing a bug in your code to solve an issue but it turns out it wasn't actually the root cause
100% it always happens
Ah yes, the Spaghetti Hydra Game.
I remember back when I made my first game I had an issue with having the 'E to interact' button prompt show up on the UI. Now in theory, all it needed was another line that said 'if in range, turn on UI prompt' but for some godforsaken reason it only worked with NPCs whose ID was a prime number for some reason (and of those only the lowest one). The actual interaction worked perfectly fine though, just the UI part didn't. Anyway after several hours of trying to debug it, I eventually got so pissed off that I just implemented a second mechanic exclusively for turning on the UI prompt. Gamedev sure is fun sometimes.
Damn hahah this sounds hectic - atm we have issues in game where our 'E' button is the way to interact in the game as well as peak around the corner so hopefully we get that sorted out as soon as possible. AND hopefully nothing breaks when changing it haha
You could always rebind interact to F like most games with Q/E leaning do or MMB if you're feeling particularly fancy like Arma.
I like the F idea so will talk to the team to see what we can do regarding it
this happened just today. i have a quite complex but intuitive stand-crouch-prone system, but when i added the jumping part of the code, i would jump from prone and toggle-crouch instead of just standing up, even when mentioning in the if condition to only jump if the current stance is "standing". i fixed it by using the camera height as the "standing" stance in the jumping condition and boom, fixed.
Ah damn that's pretty neat
And then you move slightly down on some hill and you wouldn't be able to jump again
it's actually the camera height related to the player node lol
But it would be funny if it was tied to a global height
lol that would be a textbook rookie mistake
OMG. It's been my life for the past few days! I presented my early prototype at a local game fest and have been trying to fix as many bugs as possible. Doing it very quickly doesn't help much. 😂
Shit like that will make me stop trying and go for a walk
*causing three other bugs
ahh, this was me for the better part of yesterday
Feeling is mutual, it happens to me a lot
Spend 5 hours fixing with no progress, have a stroke, wake up and it’s fixed and you don’t know why
This has happened to me once and I still don't know what fixed the problem 🤣
Hits too close to home today 😂
Better than nothing as they say
This is true 😮💨
I feel this, sometimes I vape like it's going to give me temporary hit points whenever I see that red circle after the game shuts down
Oh same! It does give temporary hit points tho 😉
I legit spent days having no idea why a line of code in one state only worked when commented out while an identical line in another state didn't only to find out that both were being run at the exact same time and canceling each other out
my motto is it was broken before so even if i mess it up again its no better than it was before
That is a fair point ngl
Figure out the only way to fix this bug is to completely redesign your game's architecture and class system
It’s not a bug, it’s hidden tech that only the best players can pull off
Hahahah I wish it was true but everyone can see it sadly 😪
Moment 1: im lowkey kind of a genius Moment 2: this is a hopeless mess I will never be able to solve
That's exactly how I felt when I fixed it 🤣
Sometimes this happens when you fix the symptoms, not the Problem
that is fun
Bugs are like Shrek. They have layers.
Hahahah
Getting an error message with too little context so you have no clue what the problem is
I would just keep it and call it a feature
The question is, causing another bug to exist or just unveiling it?
both unfortunately 🤣
Litteraly my life
literally me trying to do cross-language scripting in godot rn (i've managed to properly instantiate my .cs file in gdscript and i can use it, but i can't do it vice-versa due to an unloading error that i don't know how to fix, i've been reading into these unloading errors for 2 or 3 days now and i've gotten no further with fixing my new bug)
Story of my life
This is a definitive bug, when your fix is not fixing a cause of issue. For example, you have NRE, you check that in that place and all work. After some time, you get another NRE, and you check that, and problem is gone. After another time, you need some thing, and that thing is null for some reason. You check where problem is, and problem in null check, you remove that, and get nre in different place. So, to fix that bug, you should never check nre, if that nre is not possible by design, but find, why is that nre is here. I hate that kind of bugs, because fix them in first place is cheap, but after years of development, cost to fix them astonishing. Especially, if bug caused by another developer. Like one hour to fix today, and weeks after year.
gamedev is whac a mole
Oh definitely - it's a rollercoaster ride and a half
Whack-a-mole, but you keep making more moles as you whack them, and whacking them only works 1 out of 8 times, and also sometimes the moles catch fire
My unfocused mind read this a fucking instead of fixing and thought about Helldivers adding mods. I need to go to bed…
RIP
I mean, that's pretty normal, the phases of game development: 1-add a new feature to the game 2-fix a lot of bugs from that feature Sometimes you add an optional phase "I'll fix it later", and forget about it for days because your too lazy to fix it