Some time to think
I miss the days I would ponder during a drive, "what should I add to the fish game to make it fun?" This was the element of game design that was most fun. Just imagining what would be cool.
It's been so long, but for the first time in maybe years, I feel the need to not just simply jump into work and spin up some mud. I'm trying to think how best to create the worlds.
Every day has been a battle, every day I have had a mad dash to try to get this demo out the door in a quality state that this venture can turn its fortune around. That works for some things, but if there has been any elements lacking in seacrit up to now, it has been the world building. YEARS AND YEARS into this project and I'm still trying to figure out how to build out levels, it's actually kind of funny. But in a weird way I take pride in it, I didn't jump the gun, I didn't go down rabbit holes developing things that weren't ready yet. I devoted the time to build up the core and find what I hope is a sufficient core play before building tertiary things around it, locking me into mediocrity, like so many studios do these days, eager to burn through their heaps of money.
I can't simply refactor levels at a later date to make them playable and fun and easy to build with. Art and level design are things you kinda have to build up the right way or you have to go back and refactor everything from the ground up. I have built up levels and caves, and lakes and floating worlds so many times over the years and they have all crumbled into the ether, like beers in rain... Today I will again be building up the building blocks of the world from scratch for the umpteenth time, knowing this will occur again in the future, should I ever get the resources for top tier custom assets. But it's a fool's assumption that quality custom assets make a good game. I am very satisfied with my position, and I think I have as good a chance as any soulless corporate entity with deep pockets to create a quality game. I gotta be careful saying things with confidence, I wouldn't want these blog posts to actually get optimistic!
How does the AI interact with the level geo? Should I create new AI algorithms so I can create more robust level areas? I haven't found that complex level areas make the game more fun anyway. So I'm looking to have 2 design mindsets, making things easy to implement, areas that play well with combat, and areas that just look good and are fun to navigate.
I have these goals that I want to take off a checklist, "Create zone 1 and 2" when really I think my goal for today should be, "make really nice level design chunks". Free myself from these notions that cause me to work too quickly and not make the best quality assets.
Design work is different, it's better if you take your time and give your mind time to come up with neat ideas and not try to ram it through in the course of just a couple hours.
So that's my goal for today I think. Typing it out made this much more clear, think i'll take a nice long shower and think this over.
Some goals for today:
Create a nice underwater lake with earie lighting and fun jump puzzles.
Create uneven terrain w/ collision
create alternate background versions with fog and no collision for various assets.
Experiment with a few underwater cave segments, learn from the process and improve on it later, don't stress doing it right the first time as lots of things need to be figured out, best practices for collision, scale, how to connect the pieces best. Is combat more fun, different, or just worse in undersea caverns? Need to plan if they're worth it or not later.
Go through the project and see if there are any great art assets that need using.
Create underwater water volume, and out of water water volume, with and without collision for foreground/ background.
Due for a good day of dev after some recent pitfalls burning the midnight oil.
Here's to blue sky's, green grass, and high tides today.
Post Blog entry #1:
My most recent blog entry "It wasn't supposed to end this way" was a bit of a landmark post for me. I'm feeling better, I'm back to work, and SeaCrit is kicking ass. I don't want to knock it of the top of my blather heap right away with generic rambles of daily considerations so I've decided i'll just leak new blathers here for a bit and blow this blog post the f*(K out. I don't want to stew on blogs too much anyway, so i'll keep them short so I can just get to work.
This notion keeps crossing my mind how we fixate on a given task, we think that task might take a day or two, but in leading up to that task we end up having to wrestle with WEEKS of work that our brains cannot fathom, doing secondary things along the way. I JUST WANT TO START MAKING LEVELS FFS. But i'm so wary of doing tasks that will be sacrificed in the future, making junky content that isn't worthy of keeping in the game.
The road to building a quality world with quality assets and quality play is taking longer than I anticipated, and every day is a slog building up the file structures, prefabs and art assets that go into making the world play well. Every day I have this idiot notion that by the end of the day I will be knee deep in building up the levels and finding the fun. But at the end of each day I've only got a few more assets built up, and there is much still to do before the game comes online.
I'm going to focus on the big beats today. I want to be able to quickly drop in modular level sections to quickly create and expand upon zones. I don't want each area to require massive ammount of investment to build out. If everything is modular and used extenstively through the game, then it will be easy to polish and make the game better across the board having a few key chunks from which I build the world.
So today i'll be focusing on terrain sections that are easily stitched together that have some prearranged assets to choose from. I also want to get 1 or 2 floating chunks as well.
Not going to blather too much or worry about crazy nonesense. Just want to get to work right now and push forward. Much to do and really wanting to put out a new demo. Itemization and progression and spawn setups are begging for some love, but in the meantime I need to focus on world building.
Post Blog entry #2:
Been working like a demon for over a week now day after day, and handling real life sh*t on top of that. It's been really draining, also been drinking excessive coffee to keep it up. I think it's starting to catch up with me. I'm going to get to work today but not push to hard and no coffee, I want to actually start feeling decent again and coffee tends to set me off, at least I'm hoping it's the coffee, might help me sleep better too.
I've been making further changes to combos. This polish and adjusting to core systems seems to never end, but they're also better than ever. I've brought back an old mechanics that I abondoned before that attacks would be based on your movement. Now if your mouse or controller is in a move far position, combos will select from a different pool of attacks, so if you keep your input near to your fish, you will do more rapid, and sustainable combo attacks, but if you've got your movement set to full, you will execute finishing moves. This is especially interesting for bite attacks because the short range combos now increase the player's berserker attacks, which enhances their attack speed for all combos.
This opens up a lot of interesting play styles and upgrades for the future, I'm just imagining modifiers and upgrades that allow berserk to also increase the rate you charge your charge attacks, there could also be upgrades to lower the falloff and max value, or reduce the falloff when you swap to your ranged form which has no way of generating berserk on its own. So many cool things coming together! All the nuanced systems are building on one another and being fun in the ways I'd always hoped they would be.
I'm not sure this combo system is perfect, not sure if there's a better way of registering between the 2 combo types than movement speed input, but it works pretty alright for now and there's so much that needs doing in parallel. I put a minor visual que that when the player moves slowly, their mouth opens a bit, to signify that they're ready to do berserk bite combos, hope that's a good enough visual indicator to help the players figure out how this works.
I'm hoping I've finally developed a high quality cieling that is hard to achieve. On a great many teams it's impossible to push forward, the project inevitably enters dev hell and things freeze as everyone blames one another. I may have a mountain to climb, but the code base is the same as when I left it, and I have no one to blame but myself when things go astray. No point dilly dallying or pointing fingers, the only person that hurts is myself. Was thinking of taking it easy as I suddenly felt bleh, but I think i'm going to drink a touch of coffee and get some mork work done. No rest for the wicked, already got a couple hours done doing random things. Still cleaning up the new combo mechanics and have a billion other things to tweak and tune. It never, ever, ever ends. I just had this notion pop into my head, gamedev is victory by a thousand cuts, so often we think of defeat by a thousand cuts, and i've blathered about how mismanaged code and design pipelines can cause a project to fale this way, but making a project better, revising little things here and there and making the whole of it fun and cohesive, that's victory by a thousand cuts. You can't make your game good overnight, u just gotta dive in and adjust a billion and 1 things EVERY SINGLE DAY... and then keep going.
Random aside, if you haven't seen IN THE LINE OF DUTY, do yourself a favor
Post Blog Entry #3: The "1 +" debacle
I've had a recurring problem with upgrade modifiers, because sometimes you want the mod to be a percentage, a .1 should represent 10%. Sometimes you want that raw 10%, like if you will tap 10% of damage to health in a lifetap, but sometimes you need that 10% to actually be 110%, like if you want to modify max health 10% more of its original value in order to achieve this, the logical math is 110% of its original value. What gets tricky is you often don't know if the value has been calculated to be ".1" or "1+ .1" somewhere deep in your code, is the value 150% because it's supposed to add 50% damage? Or is it supposed to add 150% and you haven't factored that +1 yet? Your value calculations can get thrown off very easily, to say nothing of upgrades that may affect multiple systems in different way, some additive, some multiplicative.
I want to take steps towards rectifying this by creating a new float class specifically for modifiers that can return a "raw" value and "multiplier" value (1 + rawValue); This way I can with confidence know if the upgrade has been modified to be used in a given situation. I THINK this will make things easier but I'm not 100% sure (or is that 10%?). Won't know till I try, so i'm going to work on a few upgrades and see if this makes things easier or not. Don't think i'm going to get hung up on upgrades for too long, going to try to get a wide range of things done today, had more energy 2 hours ago, but hoping this coffee helps.
Post Blog Entry #4: Delayed Gains
I got a full work day in yesterday, but nothing in the game changed. I've blathered about this recently and many times in the past, but it NEVER ceases to amaze me how much time is spent revamping renaming, and fixing poor logic that inevitably breaks other things that then need their own fixing and then retooling. BUT! These are also some of the most rewarding days, and systems you were dreading touching and improving suddenly have a new shiny luster that draws you in to start fiddling their knobs and dials. That sounded so wrong.
Prior to this revamp adjusting upgrades was a nightmare. There was an actual list of procedures I had written down because any time I tried to add or remove upgrades, I would invariably break something because I forgot to do something. If ever you're doing step by step, pain in the arse protocols as you dev your game, chances are you did something poorly and you should revamp it.
Prior to this all upgrades had their own function and all functions had to be called to update the upgrades, it would cycle through the full list of upgrades, check to see if the upgrade name matched, then assign the proper levels and bonuses where they were relevant. Each function had the initialization code within it. Also I was defining the potency of the upgrade in the code with logic like " .1f * level" to give a 10% bonus per level, but I realized I could offload that potency value of ".1f" and put it in the upgrade itself which are now scriptable objects, so if I need to tweak the potency of an upgrade, I no longer need to change the code itself unless it's a total revision to the logic:
You'll see that the scripts are currently in a transitory phase, I'm consolidating revamped upgrades into the "Basic upgrades" script. There's currently one outlier, I think it's invis, that must cycle every frame, whereas others can simply be instantiated when a new item is picked up, or when looking at an item and thus all their logic is being lumped into one big "basic updates" function with commenting to denote where each upgrade goes, it's also quite simple to just search "direregen" if I need to fine the direregen logic for example, I will also be adding them in alphabetical order, which come to think of it, I haven't been doing, so I need to make a not of that!
To be clear, there is NOTHING impressive about this code, a semi competent coder could come in here and show me far better methods (pun intended) to make this system easier to expand on with new upgrades that affect other fun things in interesting ways. This project is bizarre in that I have no idea WTF I'm doing with code, but I actually take joy in that. It's coming along despite the fact I have no "high end totally necessary coding practices" that a throng of incessant neckbeards would lose sleep over.
It works, it's performant, and it's approachable for revamping. I'll never understand the tendency of other projects to adopt higher end practices that doom the project to development hell for the satisfaction of incessant control freaks.
Been really burned out doing world building, it's kinda nice to have other very pressing things that are mentally draining in different ways. Today's work will be very tedious as I go through, remove crappy upgrades that aren't fun, migrate floats to UpgradeFloats, clean up the upgrade code, and reapply the proper values and tidy things up. Once the system is migrated, I need to go through every item and ensure they have the proper upgrades and totally revamp the random prefix lists for items . Everything is scattered, messy, and legacy crap that needs cleaning up in code and assets. Once this is done it will be smooth sailing, creating fun upgrades mechanics that will be tuned along with core content creation with spawns and zone difficulties.
The day is nearing where I can finally fixate on the core elements of fish, items, levels, and tuning values. Code will be feature complete and clean, as will the pipelines for building out levels and spawn systems. I kinda feel like everything is going swimmingly.
The promise of SeaCrit: From the inception I have wanted this game to have depth and nuance, for it to have replayability and engaging progression that calls you back to explore it and play many times over. On occasion I get faint glimpses that this is happening, but it's still a bit off. I'm blathering too much, gotta just get to it... time for some coffee.
Get SeaCrit
SeaCrit
Deceptively Deep!
Status | In development |
Author | illtemperedtuna |
Genre | Action, Role Playing, Shooter |
Tags | Beat 'em up, Casual, Indie, Roguelike, Roguelite, Side Scroller, Singleplayer |
More posts
- A Mi Manera13 hours ago
- We gotta get some thoughts together2 days ago
- Blah, blah, blah3 days ago
- We Back5 days ago
- Down to Donkey Park6 days ago
Leave a comment
Log in with itch.io to leave a comment.