Posted December 11, 2021 by illtemperedtuna
Development has been going really well as of late so I felt like making a post while all these happenings were fresh in my head. Lots to blather about! Looking forward to posting a new build soon with revamped damn near everything and new item mechanics.
I played an old build yesterday from a month ago to gauged how well things were progressing, I feel this helps me calibrate my expectations, (what's been getting better and by how much) and sometimes when i play these builds I notice a fun element that somehow got omitted. In this case I came across a "keep heading charge" mechanic that caused you to keep your facing while charging, and I had it set so this only happened when you enter the secondary charge level of attacks. Because I removed those charge level attacks and migrated to a new dual input charge system, this mechanic vanished and I forgot to add it back in. Once i put it back in the combat started to feel a lot better, one of the big issues was dash charge and ability charge felt too similar and it was easy to forget which type of attack you were charging. By making it so the dash had the dash keep heading mechanic, it now felt much more obvious which attack you were charging, and I embellished this by making it so ability charge now causes you to slow down rather than speed up. The charge levels now really feel different and register in your brain and the play feels like you're in control now with a lot of nuance.
I've also been figuring out how to manage the charge level of these attacks so the play feels good, and you never feel as though you are investing charge into something you don't want, the dual charge system really helps with this. I've found that it's vital to always have a "damage out", if you're charging up, the player should always have an option to unload damage, or things just don't feel right. Some parts charge up a lifetap, some charge up a stun, or a poison, but there is always the option to use your alternate button to unload a big damage attack, and this is universal for all charges so it feels good. All ability charges slow, and all dash buttons all react exactly the same. I've found that the twitch responses to pressing these buttons needs to be universal and uniform to allow the player to become accustomed to the knee jerk reactions and interactions with the game, i'm able to open up options and strategy with the primary charge attack abilities.
The new charge keep heading feels really good, and i'm really happy with how it's evolved. It wasn't some feature I had in my head, it's the culmination of a lot of "hey wouldn't it be cool if we tried this", one part happy accident, 3 parts lots of prototyping and beating my head against the wall to develop what I hope are interesting movement and combat mechanics. It's a little wonky at first, but I like the skill ceiling it adds to the game, it really gives you this core mechanic that invites you to master it, and it feels really fun weaving around, avoiding damage while at the same time strategizing how best to deliver that damage. Are you going to try to hit multiple enemies at one? Are you going to try to hit enemies in their backside to deal critical damage? Or are you timing it just right so you can punch a fish in their open mouth while also avoiding the bite they're about to deliver?
With all these mechanics I really feel like the core play has finally begun to come together. It's been rough juggling all these tertiary mechanics of alternative fish types, melee AND range, innovative upgrade mechanics, input systems, etc. For a LONG time all of these unfinished systems were pulling each other down, I could have arrived at a solid fun game a lot faster if I'd just had a single fish type and this was 100% combat based or 100% bullet hell based. But I REALLY feel like the whole of it all is beginning to be greater than the sum of their parts. But as always, I could just be crazy and viewing "my baby" through rose colored glasses as is all to common and I have done consistently with this project since the beginning. It's so crazy, that build I played from a few weeks ago I thought was great at the time, and I found it so clunky and unfun, and that's just over the course of a few weeks. I'm simultaneously glad for progress, and befuddled wondering how I could think shitty gameplay was good and have to second guess all my decisions wondering if I'm able to discern between what's fun and what's not fun.
Something I'm excited for in the future is "Synergy" of the systems I've been creating. The core play has always been lacking so progression mechanics have been taking a back seat for a long time, but the systems that support them are mostly online, so i'm excited for things to progress rapidly in the near future as I start tuning more items and modifiers
This isn't diablo, this is a more bite sized experience and I also want to create systems that avoid a lot of the "noise" that their item system does. It's no secret that most loot based games begin to inundate you with way too much junk and the vast majority of modifiers are junk. I don't think this makes the game better, and it just gives you a ton more content to manage. I'm aiming to have less modifiers but really hone in on what's fun about them, and I want to fix things broken about current systems.
I wont drone on too long, but i'll go into lifesteal really quick. In most games it's just TOTALLY broken, they don't tend their systems well especially at the high end and eventually lifesteal always becomes this thing that gives you back 100% of your life back with every hit, and eventually you enter this state where the only things that kill you are things that stun you or things that kill you in a single hit. It breaks the nuance of play completely. This is a general and low level assessment of the number breakdowns that occur in most games, but my goal is to as the game goes on, instead of simplify the play through rising power, and make you eventually just spam one button clearing screens full of enemies, I want the play to become MORE diverse and MORE nuanced (generally speaking, you still have to give the player the chance to mow down screens of enemies to allow them to feel their growing power level).
This post is going to be all over the place and not well edited because thank Odin I've been getting lots of work done, and code and systems are obviously a higher priority that sending little blerbs into the void. So anyway I want to ensure regen is important, so i've made the decision that ranged fish can't lifetap, they will only be able to regen health, and the primary means of getting regen will be to equip the right items that allow you to farm regen exp. This opens up a whole new play style where the player focuses on taking damage, BUT NOT DYING, and then swapping to get their health back using lifetaps, then swapping back to take more hits and gain more regen exp.
I'm pretty excited by the idea of alternative farm scenarios for exp, for so long it's almost exclusively been about killing swathes of high level enemies and that's been pretty broken and exploitable. I like that in secret you get direct gains on what you['re actually doing. If you take lots of damage as a fish that needs regen, you get regen. If you deal tons of damage, you get damage, etc. I'm also breaking up certain stats to encourage the play to try lots of play styles. The most OP item right now I think is the cutlass swords, they totally rip everything apart, but they skill your crit damage, and being a fast hitting weapon, the cutlass doesn't really benefit from crit damage that much, so it's a bit of an indulgent weapon in that the player will not scale their power using it long term. The sniper rifle I'm going to give extra bonus damage exp to make it a harder to use weapon that makes you prone to taking damage by staying still a lot, but that gives you big gains if you're able to survive with it effectively.
This is all theoretical, but I think it's all coming together, and I'm starting to think the game is starting to not be dog shit, for the 50 billionth time.
We tend to fixate on the end goal, of getting out of the hole we're in creating the game, in wondering if we'll ever turn a profit and if the toil will ever amount to anything, but often times I'm just so excited to be enjoying development again and enjoying the journey a bit and having faith restored that the project may be on a positive course just so fucking nice to be feeling again. It's very important for us gamedevs to just enjoy the ride, and to develop in a smart way that doesn't burn us out or put all our eggs in one milestone basket. Don't develop too fast, create systems and properly compartmentalized things that invite you to work on them down the road.
I wish I could go back in time and spend an extra 2 seconds per variable to give them the perfect name so that described what it does, I wish i'd properly compartmentalized systems and code so they were isolated from each other, not have so many random lines that service some tertiary mechanics sitting in the core setups. But it is what it is, there's something to be said for just pushing forward and saying fuck it, I'll handle my own shit and not waste time spinning wheels in mud. Sometimes it's nice to be working in a messy office because if something sucks you jsut violently attack it without regard for cleanliness and you can make very fast progress. I like to think there's some level of method to the insanity. Are there good games with well maintained code bases? Of course. But I feel like working alone, and prototyping so much shit, writing some messy code here and there and making fast forward progress as a sole developer makes more sense.
ANYWAY! Been dialing the graphics up, I just had a happy accident where i removed the z axis from the camera distance calculation and put a hard number in because I was getting tired of having my terrain disappear in the scene view of the editor anytime I zoomed back, and this gave me a circular region in front of the camera that not only solved the terrain disappearing, but made the underwater murkiness sort of envelope the player. I may have gone overboard with depth of field, and I know it can be hit or miss and some people hate it, but I feel like it uniquely benefits seacrit, because i don't have a lot of assets, so a lot of the scene elements I use as background elements, and having something blurred out really defines what's the play area, and what's not. It also gives this sense of scale that things are really tiny, and I now feel like i'm swimming in a little fishtank as a tiny fish. It also gives the illusion that lower end assets might look really good and hyper real since it's blurred, and it tricks your brain into thinking the game is more 3d and lifelike than it really is. I dunno, I'm really digging it for now but I haven't had any feedback on it so I may dial it down or remove it.
Graphics are punched up, controls are punched up, AI is getting tuned up, abilities and gameplay are simultaneously being polished and radically altered.
All in all I feel like everything is coming together, like all the loose ends I've been weaving for years that were tangled all over are starting to be sewn together into a cohesive garment that's warm and inviting. The core of the play I think is finally coming together, a template for all the ranged and melee and stats and upgrades and i'm really excited, so moving forward i'm going to continue to dial in that core play while adding in new areas (I'm starting from scratch and got the Unity terrain system in since custom materials work on it now so my entire pipeline for environments I'm starting from scratch and so far so good!) This means much more options for creating content, and for me as a designer it means WAY more freedom and less putting together crappy partitions of areas. I'm zapping all existing level design and I will start from scratch with properly named prefabs, well categorized, neatly organized in the scene that will allow for a better look, better performance, and faster iteration. It's just way fucking better all around and i'm glad I'm no longer being a dumbass spinning wheels in mud. So often we build this entire empire of dirt because we subconsciously don't want to bite the bullet of doing it the right way.
It is ALWAYS better to do it the right way, rip the band aid off, nuke the mediocrity. It's better to have a single white box of polished, fun play that hours worth of content of mediocre crap festering in your project and mind constantly bringing you down. Find the excellence and expand on it, if you haven't found it yet keep dialing in the core. NEVER create content for shitting mechanics. No half measures! No spinning wheels in mud...
Once in a blue moon I'll record a development session, I like that it motivates me to work hard, kinda like being in an office and having the accountability of others around you expecting you to perform, YouTube becomes your new boss and you feel under the gun so you enter "the zone" where you work and work and work without stopping because you want to impress your invisible youtube audience, but at the same time the added pressure is a bit much to sustain all the time so I do it rarely. I also think it's important to have proof that I've built this thing myself and didn't outsource it. Anyhow here's a recent work session where I add the preliminary item drop system:
I don't pretend to be the greatest coder ever, but I like to think I get the job done and have developed a knack for dealing with interconnected systems, and at the end of the day that's what gamedev is about. Does it work? Is it not buggy? Can you push it to the point that it functions with all the bells and whistles with the right thigs exposed in the right places. Can you forget about its code knowing it will do it's job and do it well? Check it off the list and move on. That's the trick to gamedev in a nutshell, FINISH things, neat things. Smash stuff together, smash your head against the wall till it works properly, then do it again. Oh, and there's also that tricky bit about finding the fun.
Anyhow! I'm rambling again...
It's been a great month, things are coming together, I think the core inputs, play, enemy behaviors, etc are all gelling together, the long term progression that's going to make this interesting for a long time is coming together. Still living in a cave, still floating out with me flotsam, but grateful to be making what I think is positive progress.