Floatin' with yer flotsam


Gearin' up for work and feeling a little aimless of late. There's plenty to do, I know I can open my endless list of little things to fix and distract myself for weeks on end... but something is missing, I'm missing a bit of the drive in this moment. What is SeaCrit, where is it going? Where are the big gains we're going to hit in the near future? What big system is going to unlock and shine?

When the floodgates open to the game coming together, it won't be a torrent of liquid gold. It will be more opportunities to grind on more thirsty and complex systems. I've been inadvertently fixing up some pretty stubborn issues of late relating to AI and the scale revamp, it's important, but they're also unseen, you don't know they need doin' till they present themselves, so the progress isn't satisfying, it's a sign that you must delay your gratification on all the work leading up to this moment. Who knows how many other nagging tasks are waiting in the wings to sap your depleted passion of the project? Progress is an illusion as you walk ever forward through the minefield.

This is a rollercoaster ride, in this moment, the cabin is at a bit of a low. I try to rekindle a bit of motivation, think of the cool things that will be coming online, how all the hard work is leading up to these things, but all I can think of is the endless edge cases that will arise, how I will be fixing things alone in this cave. Blessing and a curse, I know it makes the project better, I know it's better for SeaCrit as there aren't too many cooks in the kitchen, but tremendous burnout is setting in. Every inch must be fought for pushed forward on a tank nearing empty.

For all I know, 3 hours from now i'll have some hot jams on, and I'll be making fantastic progress of various NPC ability setups and everything will be peachy. Or maybe I get to work, find some weird issue, and all the hours will land with a thud on the ground. Every night is pandora's box. I am simultaneously excited for the gains and wary of the fruitless grind, tuning and tweaking things in an endless loop.

Hoping all this nonsense starts to come together. Or at the very least feels like it is. Gotta get my head right and figure out what it was I was working towards again. Or maybe I just need a nap...

Ok, nap accomplished. Feeling a little more motivated. There are no easy solutions to being in the belly of the whale, all you can do is kick up smoke and hope that over a long enough period of time, fortunes shift.

It's a double whammy, you have all this weight on your to produce levels that are fun to explore, content that makes smashing buttons enjoyable, dialogue that's fun to read... but underneath all of these things lies the foundations on which they sit, how the collisions are structured, how they are named, where they are placed in files, how easy it is to build out new areas and piece fun things together, to iterate on them. 

You can build castles in sand only to see them wash into the sea, time and time again, never learning that no matter how you used your sand, you were never going to build something lasting on the shifting shores. You gotta suck it up, head into the swamp, build 5 castles out there, have them sink into the swamp, and build again! Before you finally learn it's not about fixating soley on fantastic content, it's about the foundations for good, permanent content, a love for the very pipelines themselves, the back end the user never sees. So i'll be trying to take a new approach moving forward, slow and steady. Quality over quantity. Modular reusable assets over hastily thrown together slop that would be lost to the tides.

As developers we have these very flawed notions of what we should be working on, how the process should go, what the big beats are. You have to let go, trust your feelings. Surrender to the gods of gamdev, open the project, start smashing things together and see where the tides take you. It's going to take longer and be harder than you anticipated, and stressing about that isn't going to do any good.

That's a good bit of blathers to simply say the answer remains unchanged. It's back to dev! The only way to make progress is to get to work! Sippin' on some coffee, going to get to tuning up the core game now. I'd romanticized this idea that I would build up all the secondary systems to this point of perfection and making the game fun would be as simple as toggling two switches "Spawn fish", "Enter level", a "make awesome" button if you will. 

That was foolish. Time to roll up the sleeves and get messy with some gamedev. Wasn't planning on it but it's time I start building up level 2, get in core spawn systems, start building out core level assets, and get this show on the road. It will not be pretty, it will not be satisfying, many things are going to go wrong along the way. All this tedium begets more tedium, that's just how it has to be, so on with it then. The sooner I get it in, the sooner I can begin the long, arduous process of making it not dog sh*t.

Quick Credit where it's due: Unity doesn't crash half as often as it used to since upgrading to the latest build, happy about that. Making markedly better progress as of late because of more stable tools.

Post Work Edit: Pretty ok day. Not great, not terrible, got some important things in that I didn't know needed doing. Paying the piper per usual. Fish have always had this ability to instantaneously use their attacks the moment the player is in range, and it's not very satisfying to come in hot, dash directly into the NPC out of nowhere, but they have lightning reflexes and always bite you back. Imagine playing a fighting game where the AI NEVER allowed you to get a hit in without them being able to hit you perfectly with an attack the moment you got it range. It's cheap and unfun. So I added a new reflex timer that ticks when the player is in range of their current attack, and only after the player has been in range for .2 seconds will the NPC attempt to attack if reflex is enabled for a given attack.

And just to give a small idea of the random odds and ends I've been adding to make a better design foundation, I added a new attack flag "Followup Attack". A great many attacks inherit their damage, animations, sounds, etc from other attacks, but they exist because I want to have tiny secondary things change. For instance on the hefty sharks, their first attack allows them to scale up to +30% size, their second attack scales them up to 60%. One thing most all follow-up attacks require is to have their angle and range checks to be disabled, because the enemies just feel so much better if they execute their full combo chains once their first attacks are initiated. It feels "broken" if they attack you with their opening move, then waddle around for 5 seconds, finally get into range, and THEN execute the rest of their cobo chain. So any attack that I tag with "followup Attack" will automatically disregard range, and facing requirements and won't require me to set each by hand.

It's a small thing, but everything counts in large amounts as you move forward, anything that reduces designer error, and cuts down on iteration time, you really gotta add these, because over time it makes all the difference in the world, stops things from getting muddy .Hard coding in gameplay values unifies everything, it takes things off your mind so you can focus on the things that actually matter. If you build a huge, sprawling game, but every little thing has a 1/10000 chance of breaking from a wrong value, a missclick, or who know what, at some point you will reach a point where every day you do nothing but fix tiny mistakes. We must strive to hard code in solutions to settings as best we can.

I almost made an all new blog post to blather about the following concept, but I already blather enough as it is. But this thought popped into my head that describes gamedev that I've been trying to express for a while now. Your game is going to be absolute crap... until it isn't... because your game is the sum of its parts. If there's a singular element in the precession of systems that is broken, your game is only as good as that singular multiplier.

You could hand a kid an n64 controller in 1995, let them play mario 64 for the first time ever, but if half the buttons on that controller are broken, it doesn't matter that Mario 64 has the greatest control system of all time, the brilliant level design means absolutely nothing, all those years of toil and top end work from a throng of the best developers in the world means nothing. Those 3 friggin' broken buttons, reduce EVERYTHING to zilch. It is so incredibly defeating to have tiny bottlenecks reduce your years and years of work, all your potential, all your big dreams to nothing.

So it doesn't matter if you spend months developing amazing spawn systems, it doesn't matter if your charge ability mechanics are revolutionary, it doesn't matter if you have neat overlaying systems like charge dash, or wave swim, or a massive potential for unique upgrades in the future.

The ONLY thing that matters is the weakest link. That is the total value of your sh*t game. All the sacrifice, the endless decline to water your project with blood sweat and tears is forfeit. Potential is nothing, dreams are nothing, there are still, dead seas filled with these worthless distractions. What is your actual game, what is the experience to the average player?

Until we understand this concept, we will never understand why people do not see the potential in our projects as we do. And we will never align our heading towards meaningful progress. Ever upwards we aim hoping to fly to the moon, as we fester in our rut. We must learn to eye obtainable things at the horizon line, learn to polish and push things within our control with a visible means of arriving at our destinations.

Players will not trudge through dog crap to find potential in your game, because there are too many failed projects out there that have destroyed their faith, too many mouths to feed to be handing out their time.

You really have to hunker down in a cave, and build up everything all at once until your weakest link is as strong as your strongest, or you have squandered everything you have built, across the board. It's reckless to build out any system too far if the rest of the project lags behind. This is why building foundations are so important, a strong foundation will give you the footing to move about and tend to your project across the board, and eliminate these bottlenecks at reasonable speed.

I have no idea how much longer till the bottlenecks are eliminated. I'm attacking the elements restricting the goodness flowing through. Day after day I forget all the little things that are getting better, from design tools and debugs to core features that allow attacks to feel tight and enemies to be fun to smack around. But if I load up older builds, I can feel the difference.

It's incredible the sheer volume of tiny things that build upon one another and weigh the projec tdown, a great many of them are mistakes from years past, but I believe I am wrangling them fairly well day after day after  day. The piper is being paid.

Get SeaCrit

Leave a comment

Log in with itch.io to leave a comment.