We pay the Piper


Yesterday was an Ok day, not terrible, not great. WE PAID THE PIPER. 

I've remarked on paying the piper before. Gamedev is a calculated risk. You spend too much time setting things up and being careful, one day you realize a system isn't working out and gutting it is ditching months of work. You develop too recklessly  and one day a bug pops up and it just straight f*cking destroys you. You spend days trying to track it down and your forward momentum craters. Damned if you do damned if you don't. All you can do is trust your gut and take issues as they pop up. 

What's your reward for busting your arse and making painful gains? YOU PAY THE F*CKING PIPER AGAIN WITH MORE WORK TO FIX THE HARD WORK YOU'VE ALREADY DONE.

So I've spent the past week doing heavy revisions in an effort to make continued iteration of key systems easier. Well somewhere along the line I renamed "upgrades" to "bonuses" very casually, and while I did it I thought to myself. "Gosh I really love how the code editor is able to propogate these changes so easily for me! And I totally forgot in that moment that WHEN YOU RENAME SHIT YOU LOSE ALL INFORMATINO STORED IN THEIR META FILES. This means that all the weeks I had spent setting up each and every bonus got F*cking nuked. Every description of what it does "Increases you damage by X per level" gone. Every setting to tell the upgrade if it's a multiplier or not zapped. So now everything was just broken, if I attacked an enemy it did no damage... because several bonuses that augment your damage were starting at 0 and not 1 because they were not told to be multipliers! Enemies that were attacking me were taking massive damage because damage reflect scripts were told to be multipliers so instead of starting at 0 and ramping up to deal a % of your health if you get the bonus, the game was just like "Deal 100% of your health to any enemy that hits you if you have the bonus or not."

What a hellride. Gamedev is doing laborious, mind bendingly tedious tunings, having something break, and doing it again for the 10th time. Code is like the genie from Aladdin. ALL ENCOMPASSING POWER TO DO ANYTHING! Will break and destroy your will if the breeze blows the wrong way.

The real terrifying moment came at the very end of dev, it always does. When you're TOTALLY burned out, you're trying to sew up a few things so you can pack it in and call it a day. I was already feeling over it, fixing lots of shit I should have been more careful about, and I'm just swimming about and things feel a little off and I figure maybe one of the bonuses are poorly set which is affecting movement, and I jump out of the water to twirl in the air  and my fish just kinda stops and grinds to a halt.

WTF?

I didn't tune movement today? I didn't do anything with out of water mechanics today? WHY THE HECK IS THIS BREAKING!?

This haunting fear that something will break and halt dev, and sap all the dwindling motivation you have is horrifying, and as your code base inflates and crunch wears on you a bit more day after day, this boogyman grows in power to the point it can start to paralyze you. Luckily I had a hunch that MAYBE it was some recent values I had been messing with hours prior regarding the mechanics of heftiness. Turns out I had adjust a value from .8 for player mass default up to 2. In my mind I had mechanics that would auto adjust forces based on player mass to largely make it irrelevant, but I don't even know how key systems in my project even work any more.

I wish I could go back in time and create my own physics solution, my game is very simple, it doesn't need mass and drag and lots of tertiary crap, in fact i do my best to supress how much these things affect my game.

Ugh, I don't know how to describe it, but gamedev is very hard and there are an infinite # of things that can crush your game as time goes on. Renaming a variable, causally changing what you think is an unimportant variable. Our projects sit upon a foundation of glass and duct tape.

All I can do is add to the TODO list move these variables to a centralized location for key movement and make a note" DO NOT CHANGE THESE LIGHTLY while hiding them from the inspector. Live and learn...

There is no solution, and you will go mad if you try to outsmart your code and pipelines, if you try to be so safe that nothing could possibly go wrong. You will create endless safegaurds, you will create  tons of code to make sure nothing goes wrong. And then that code will go wrong, and you will wonder, is it my code that's malfunctioning, or is it the safegaurds?

The answer is simple, We organize things as best as we can, we keep things as elegantly simple as we can, and we deal with the inevitable issues that arise as best as we can. We develop quickly and we fail quickly and when problems arise, each time we solve them we get a little better at not causing those mistakes ever again, but they will happen. Keep things isolated so that when they break, it's easy to find the problem, and working to improve things can be done in a confined area where less things will break.

Keep telling myself "OK! Today will be the day the revisions pay off and we move on to making content and a sleek, and improved environment." AND THEN THAT M*THER FUCKIGN PIPER SHOWS UP DEMANDING HIS DUE. F*CK THAT GUY.

Anyway, just gearing up to try to get back to work. It all feels pointless sometimes. Just going to run into bugs, just working on a stupid game no one cares about, just trying to make a game in a stupid world where nothing means anything run by coddle, tribalistic arseholes.

Often times the best thing not to do is think to hard. So today, we're just gonna open the project and get to work on a ton of tedious shit we know needs doing. One day at a time. 

























































IF GAMEDEV WERE EASY EVERYONE WOULD DO IT! FUCK THE WORLD, I'M GLAD IT'S HARD.


























































Get SeaCrit

Leave a comment

Log in with itch.io to leave a comment.