The dilution of effort


It's trying to refrain from balance when you know so many things are up in the air, it's natural for our brains to want to check things off the todo list for some semblance of order and sanity, so our brains don't overload with the sheer volume of things left to do. I'm so tired of knowing balance and progression are a total clusterfuck, but I know this is the optimal path if i'm going to be adding to the core progression loop.

There comes a point, after you've added all the junk you THINK is going to be fun, that you hit a bit of the wall, I'm not sure if this is the polish phase or what, but it's the, "lets actually connect this crap together and make ita  game phase" where every adjustment affects literally everything else in the game. 

If I make the player do potentially more damage, that means they will dispatch the enemies faster and take less damage, it means they will potentially lifetap bac more health, it means they will gain damage exp at a faster rate, it means they will be able to farm stats and items faster, and progress to harder zones to get better items faster. All of these additional bonuses will allow them to farm pearls to get other upgrades faster. It's a never ending loop of changes that touches on every facet of the game, everything feeds on themselves and it's a little overhwleming to know these is this MASSIVE endeavor to continue to add more content while also slowing down from time to time to balance that content. The way everything builds on itself means progress becomes slower and SLOWER as you are constantly jumping from particle systems, to UI, to tooltips and tutorials, to retuning NPCs, retuning abilities, retuning shop prices, it is a neverending cycle that never ends. I haven't even reached a point where I think the game is EVEN CLOSE to having the core loop of systems, and I constantly wonder if I'm crazy adding more and more upgrades and item mods every single day rather than building up the core loop. I am in a race against burnout always nipping at my toes, and against this never ending decline. But I think this is how it has to be done. 

I didn't start Seacrit to make just another game, I started Seacrit because I was sick and fookin' tired of the shit games that either fail miserably at making anything innovative, or worse yet, don't even try at all. Sick of the nonesense, sick of the liars and jokers fucking everything up. So fuck it, if I'm going to go down i'm going to go down swinging for the fences, I'm going to continue endeavoring to make something actually worth a damn, that pushes the medium and doesn't play it safe.

 I was just making some pizza dough (which i recommend everyone learn how to make because it's cheap and awesome and it gets better over weeks, and you can make breadsticks and even gyros with it) and while I was needing the dough I was thinking "how am I going to keep these multipliers of damage from spiraling out of control. If you add several new mechanics and each is a multiplier on each other, the player gets a few +50% damage mods and BOOM, suddenly everything is broken and there is a HUGE damage discrepency. So I had the realization that I need to start filing damage modifiers into two catagories. CORE, which are mods i'm giong to expect the player to gain each and every run, and they will be easily accessable, and they will reliably increase damage by 50%+ each and every game, and then i'll have secondary, rare modifiers that will add much smaller amounts of damage mod, like 20%.

I had another epiphany while making the dough that kinda brings everything together, that I need to add shield lifetap back in and make it a key featuer of all energy weapons. I had removed it because I thought it was too much crap, but for whatever reason the notion that energy weapons aside from having a fun loadout had no real identity, and I had recently come up with new combat mechanics that will tie shielding to damage output in interesting ways, overload and overcharge mods. Then the thought struck me, "wouldn't it be cool if ALL energy weapons tapped shields back to you? With the right rare mods this will allow sheilds to increase your damage, and it will also give you the option to swap to your energy weapons, tap back your shield strength, and then go into your sniper or whatever other form, with a nice damage buffer, this is especially useful since damage your shield absorbs does not break perfectionist bonus allowing you to maintain your perfectionist streak (which i need to nerf a touch), which gives you bonus pearls and if you have the calculated upgrade, bonus damage! Lots of synergy going on, and it's not stiff armed with boring direct damage amp %'s, all of these bonuses require active play one way or another to maintain and get the most out of. That's one of my rules, no passive damage bonuses outside of that damage bonus on the weapon, everything has to be more interesting than that, it has to make the game a random piñata of death and destruction game after game, it has to invite mastery and strategy from the player.

I keep wanting to talk about code cleanup, and maintaining systems so they're easily expanded and iterated upon, but I never do, so I'm going to try to post a little of my plans for cleanup today. Since I plan on adding a couple new damage mods to the damage calculations, it's really starting to get cumbersome. Currently, the damage calc for player damage looks like this (with the damagePerHit being calculated elsewhere as it takes into account various damage mods that pertain to charge ammount):

    public float CalcDamage(float damagePerHit)

    {

        if (damagePerHit > .01) return (damagePerHit * damageBonus * (1 + player.perfectionistBonus * calculatedBonus) + sharpnessBonus);

        else return 0f;

    }

I really dislike hodge podges of word salad and maths all just thrown into such an important line of code so i'm going to rewrite it to:

    public float CalcDamage(float damagePerHit)

    {

        var flatDamageAdd = sharpnessBonus;

        var calculatedBonusTotal = 1 + player.perfectionistBonus * calculatedBonus;

        var totalDamageMod = damageBonus * calculatedBonusTotal;

        if (damagePerHit > .01) return damagePerHit * totalDamageMod + flatDamageAdd;

        else return 0f;

    }

I REALLY like the simplicity and way "damagePerHit * totalDamageMod + flatDamageAdd" frames the damage equation, it's not overly complex now and makes logical sense at a glance, "We multiply the damage by the mods, then add the flat damage. SIMPLE.  This is not overly complex yet, but it may be soon once I add more upgrades that affect damage calcs, so it's important to set things up so they CAN be more complex when you're creating a game with lots of potential progression and boost mechanics for damage and whatnot.

When things are better designed, and the root logic is easily comprehended, it makes it FAR easier for us to add to these systems and create more complex functionality in the future. Thus far I have NOT been smart about this, but in a round about way, I think this hardens us as coders and designers, and we kind of become molded into battle hardened creators who learn to deal with code in the absolute worst conditions with crap code, and once we learn how to code "the right way", we become exponentially better.

There is SO MUCH code and practices that I wish I could go back in time and create everything differently, entire sections of my functionality is FUBAR, like my animation controllers that dictate swim speed and turning states, for so long I didn't even think of them, but as I get more confident and competent, the allure of going back , nuking this section of code and building it from scratch becomes more enticing.

Had an OKish dev day yesterday, nothing to write home about, but it's progress all the same:

I ramble too much

Edit: Another revatlation, I need to consolidate the sniper rifles and pistol, they don't really serve any purpose being seperate and create this lopsided # of ranged weapons. Melee can quickly toggle weapons between bite and swords, ranged can't, so I'm going to consolidate them. The pistol already has a sort of alternative snipe mode, so these weapons were already very similar already, this just makes a lot of sense and makes itemization a bit more interesting I think. It also reduces the mental strain of trying to remember what 3 different attack modifiers are, now it's just 2 weapons per class. Even that's a lot... I may end up removing mods from weapons, it's too wishy washy having 4 different weapons that can have 4 different sets of mods.

I'm REALLY second guessing if I should add these damned shield mechanics, they're kinda niche and wont affect other items or builds much, but I spent all that time getting shields in, i barely use them, i kinda figure this is essentially making all those systems relevant. You can overanalyze all day long what you should work on, what you shouldn't work on, what's going to make your game successful, what's going to doom you to failure. At the end of the day you just gotta fuckin' do it to it (I'm spending way too much creative energy trying to think of relevant songs to link in these already exorbitant blog posts, screw it this one is way more philosophical, but the point is, building a game, or doing any sort of passion project is going to be a mish mash of considering technical and personal restraints, but in the end, you gotta follow what drove you to create something badass in the first place)

Get SeaCrit

Leave a comment

Log in with itch.io to leave a comment.