itch.io is community of indie game creators and players

Devlogs

Just a bit of planning and some minor revelations about SeaCrit

SeaCrit
A browser SeaCrit made in HTML5

Sometimes a bit of a break can be the best thig for our games. Especially as solo developers. Because we get so caught in the weeds, we become so obsessed with the various systems at hand that we are bringing online, that we can lose sight of the very game itself.

Yesterday my plan was to build up small chunks of level so we could focus on the systems and bring them all online at once, spawns, items, combat, abilities, AI, etc. We were going to make the oceans a tiny little arena where there was to be nothing but death and mayhem, and the player was going to sit in that tiny little area and like the combat damn it. And if they wanted to swim free and explore TOO BAD! You're gonna swim into something scarey and it's gonna kill ya!

But now that I'm thinking about getting to it. All I can think is, "I really wish there was more cool ocean to explore."

And there are some annoying setups I have going right now that kinda make that hard to develop. Namely the unload system. It constantly checks the player's x position and turns certain sections on and off, and once you're in a section, the system quickly runs through all the assets every frame and enables/ disables based on how far the player is. And it's created all sorts of headaches in terms of game mechanics like bosses not unloading, or spawn timers having to be reconfigured to work based on total game time and not the more easily implemented delta time, just to name a few headaches.

It's now at the point that I don't want to build up the world because I don't want to have to deal with the headache of these systems. I also know I can improve the system by changing it to a ticket system managed by a single unload manager, one fixed update going through a list of lists of lists rather than each of these chunks independently checking on the player's position. But how much performance will this really save?

So I have a few paths to choose from:

1. Do we just ignore the issues and build up the world tiny piece by piece and worry about optimization and a better workflow later? This will leave the issue pressing on my mind.

2. Do we fix the issue and burn out on boring technical crap when we're so close to a demo? And this optimization likely wont have much of a difference on performance whatsoever?

3. Do we simply ignore the systems all together, build up the world in a nice little free sandbox and then break it apart into chunks later?

I wish I could say I had a clear idea of what I wanted to do, because they all have their pluses and minuses. It IS kind of freeing to just be able to place everything everywhere and not worry about level sections (think of the top down areas per screen in the zelda series). But I actually LIKE that I am forced to create levels in modular, rectangular chunks, it forces me to keep the level structure sane, and develop things in a sane fashion without getting too crazy, and it makes building up new content very easy as we can quickly duplicate other sections that we like and change them a bit.

I THINK we've decided that we'll sweat the optimization later, eh FUCK IT! We'll create the new ticketing system to run through each chunk to see if it should be loaded, we'll need to create 2 lists, and if the player is very far, a level chunk will be put on the long list, and if they are closer, it will check nearly every frame if they are close enough that these sections should be loaded. I might as well also add the potential for Y distance checks as currently we only check based on X values. On second thought. nah fuck that, we don't have a ton of verticality in our game.

Probably a waste of time, but sometimes you just want to get that nagging thing out of your mind to free yourself up to do more pressing and important work.

Edit: Did some quick tests and these chunks have near ZERO performance loss on the scene, so no point worrying about it. I've decided no work or even thinking about work for a little while as it's important we hit the next phase running! Might take a day or two off. Looking forward to hitting this hard.

Total 180 from where we were going, going to spend some quality time building up the world. Making interesting vistas, backgrounds and think of large and cool little areas that are fun to just swim around and engage with! Might also play with some foreground elements, SO MUCH to explore with level design.

One the world is fun to engage with and explore and leads to lots of areas I expect the world of SeaCrit to start inviting me to fill it with lots of cool stuff!

I'm also opening my mind to how we add content. Instead of overthinking difficulty scaling and item drops and stuff. We gotta feel out the big beats! How many fish attacking at once is fun? Can we create huge waves of enemies that are fun to fight? How many ambient fish feel good in different areas?

So many interesting and fun things to explore before we get in there and fill in the secondary mechanics of progression and items and shops!

I'm so glad we're taking a little breather and taking a different perspective on the game while recharging our batteries. I'm excited for how the world of SeaCrit will evolve in the near future.

Kinda wish we had more diverse and intersting environment assets, but it's fine. We can do quite a bit with squares and rectangles and spheres. More complex shapes really screw over the AI anyhow.












































In Flames is so fucking good. People get put off by the raw energy and growls off the bat and but there's more to this music than the typical screeching we've all gotten sick of in this day and age. Incredible musicianship, fantastic lyrics, just great fucking music.

 YES I AM BLATANTELY MAKING A COMPARISON TO YOU NAMBY PABY'S AVERSION TO METAL MUSIC AND OUR INDUSTRY WIDE DECAY AND DESTRUCTION AT THE HANDS OF WEAK WILLED MORALISTS, WHAT ABOUT IT?

Download SeaCrit
Leave a comment