Fly


Fly is widely regarded as the worst episode of breaking bad. It's just them hunting down a damned bug and nothing really progresses. Am I using too many Breaking Bad references? Maybe.

That's how today's development felt. I got a solid amount done, but towards the end I ran into a really shitty bug, and that can always throw you for a loop.

I HATE the feeling of leaving the project with a major issue, so i usually power through and solve the thing.

I don't know why i'm typing this up to try to explain why bugs are so gut wrenching. I noticed during testing that enemies were only taking 1/2 damage. No biggie i thought maybe just a small typo i made in the past hour. Or maybe the enemies accidently had their armor pumped up... I have extremely convoluted systems for generating the damage #'s, sending those #'s over, and calculating the various bonuses and modifiers that can augment damage. There are several charge mechanics that are calculated outside the core sytsems within the charge script among an entire mountain of other idiosyncracies that I can't even fathom right now. When you're this far knee deep into the spaghetti code, you only have faint recolections of working with systems for weeks at a time, and even with absolute 100% laser focus on a system, it can still melt your brain. The prospect of having to reopen the sytsem again after forgetting how it works for months on end is pretty fucking terrifying, and then your mind starst to wander. Maybe I should refactor the entire system? How would I go about changing everything and fixing this horrific headache? If the issue had arisen recently it wouldn't be a problem, you could just look over what you recently changed and find the problem, but sometimes you don't notice discrepencies and they fester and become ingrained. It could be literally anything, it could be the defensive calculations, it may not even be the damage calculation on the offensive creature's end, or it could be an issue with the UI crunching the #'s wrong. Is it a rounding issue? Is it the charged damage? Is it  the flat damage modifiers? Is it something you totally forgot about?

If I could do this all again I would expose these core variables EVERY SINGLE STEP OF THE WAY for easy debugging, and to make it easier to send this data where it needs to go. I can't even remember why but I had to crunch the damage multiple times, I spent days trying to figure out a cleaner method but sometimes you have to wrap mounds of duct tape with other mounds of duct tape to get things working.

At the end of the day it was a simple damage tabulation system I had made after adding "armored" enemies months ago. So there are certain attacks that I made able to puncture armor to allow the player to kill very tanky enemies efficiently, but i didn't want these attacks to simply brutalize normal NPC's so I set up a clamp system where armor penetrating attacks do not deal more than 100% damage, they allow you to increase your reduced damage back up to 100%

inflictedDamage /= 1 + Mathf.Clamp(armorMod / (1 + armorPenetration), 1f, 10000f); //cannot reduce armor below normal damage ammounts vs unarmed enemies

Well I had accidently done a "1 +" operand AS WELL as clamping the lower end at 1, effectively giving all enemies a 2x damage reduction.

I totally forgot this system existed. Good god I went overboard adding too much crap in this game. From code to level design to fish types to attacks, I have consistently over designed this game because I was too damned excited about getting in a ton of fun crap. I'd say at least 30% of my time has been spent removing and adding this excess stuff over and over and over again.

I got a solid ammount done today, but all I can harp on is thinking over how overly complex all this crap was. If I had the chance to do it all again... I would not allow standards to slip into this chaos.

Terrain is refactored

Level areas are broken apart and now modular, lots of cleanup and creating to be done to make these playable areas fun with neat secrets bosses and shop areas.

Lots of other things.

Ugh, it is a never ending battle against the bugs and burnout, but making forward progress again. Not the exciting fun progress I had yesterday, but hard earned progress nonetheless.  Just when you think it's all downhill this shit rears its head and kicks you in the balls.

Not the best day of dev, not the worst either, still a pain in the ass in so many ways, but also rewarding in that the groundwork is being laid for true progress on level design and items.

(Video is uploading at the time of this post)

I like this song, I think if he did a few verses about being a neckbeard having to fix a bug it would have ruined the song.

Get SeaCrit

Leave a comment

Log in with itch.io to leave a comment.