Soul Reviews

The Calico Would Be A Great Gun If I Could Count To Twenty-Three.

Boat Game Dev Log #1 β›΅

Week one on my New Year's resolution to complete a commercial game is a wrap and I'm happy to report: not a zero percent day occurred! Behold what a weeks worth of development can do!

img

It's an okay start.

Change Log πŸ“–

Wait, What is this Game? 🀨

It's Boat Game. can't you read?

To be less sardonic about it: I'm making a tower defense game where the hook is that you're the one running around, doing logistics like hauling ammo and new turrets and it's on the ocean. In my head, I have more direction then that, however, I think concealing a little of my plans will lead me to work harder so I can get the anticipation of showing my ideas off, rather then talk about it. Lots of dev logs are like that, filled with ambition about the author's 'Dream Game', but lacking in the real substance of the everyday work of development. I don't plan on knitting any golden fleeces here, no sir, I'm weaving a wicker chair that'll make it five, seven years if I'm lucky. 1

System Forbles βš™

Truthly, I don't have much 'game' right now to show, which is in some ways backwards because conventional rapid-game-development logic is that you get a core game dev loop first, then iterate on top of that since if you start writing systems first, like menus, serialization, object hierarchies, ect… you may end up building a nice framework for a game, but the game itself could still suck.

On the other hand: I've already past the 'Fun Threshold' on my game, which I describe as: "The point in game development which you first have fun playing your own game". It happened when I reloaded a turret, after I realized I didn't instantiate it with ammo and an enemy was about to blow up my base, but the turret got him in just the nick of time. So, I feel like I'm free to screw around in system land for a bit.

Custom Resources πŸ“¦

In the Godot Game Engine, there's a concept called "Resources" which is just fancy speak for "a class that is serializable and can be slapped into some of our editor tooling", which, as it turns out, is just the kind of crazy, simple approach that is very useful in a complex game engine! Of course, you can define your own resources2 and I've begun to create a system that roughly looks like this:

And I have a few folders with different definitions for ammo, stashes, and turrets. When I want to create a new instance of a custom resource, I merely ask Godot to create something like an AmmoResource fill in some values in the sidebar, and I'm done. I have a data container I can pass through inventories, display descriptions for in different UI context, store in turrets, whatever.

Of course, they're a few winkles and gotchas, like, each resource is one resource and they're passed by reference, which Is why I have an ItemResource that wraps the resource def with all the fields3. But the advantage is having data containers that can be serialized and thrown about however I please. Nice.

Inventory 🍱

Nothing is more satisfying and more awful then writing a drag-n-drop inventory.

img

Thankfully, I have a cheat: I've done this before:

img

It's very simple:

And it's just that easy. Or maybe not, give me a month with this and we'll see how I feel.

img

The Build System πŸ—οΈ

If placing a building in a tower defense sucks, then the game sucks.

img At this point I have placement that:

Likely I'll iterate over this a couple times in development to get something "just right" where players can rapidly place, build, upgrade, reload, whatever buildings and they can do it rapidly without having to think about it. My antithesis for this is Fallout 4, which, with it's horrendous build ui that was built for xbox controls, managed to convince me not to spend another 200 hours of my life playing another Bethesda RPG.

Organizing the Work βœ…

In order to keep things nice and tidy, I have an Org document, within my Org-Roam database with just about everything related to this project:

img It's a real nice to have since I can look back at my day and, even if it didn't feel like I got anything done, I can prove to myself that yes, I am a productive individual. I know what you might be thinking: "Do you really need a text document to tell you that?" and yes, I am a fallible human being who can't do it alone so I brought my Pulaski in the form of a markup file.

The Marketing Plan πŸ“ˆ

Yeah, we're talking about marketing a week into this because I already have a deadline(February 14th 2025) and that means certain dates have to be met to maximize profits.

First up is by Mid-August I need a Steam page setup. This is important since launching with a certain amount of wish lists on the platform is critical to getting certain visibility boosts, like the "New & Trending" tab, and to grow wish lists I need time, and hopefully six months will be enough to get the 7,000 to 9,000 I'll need to make that happen. For a successful page, I need:

After that, my marketing begins in earnest with posting on TikTok5, messaging other game devs in related genres for collaboration opportunities, and probably Reddit involvement.

After the Mid-August steam page upload, the next most important milestone will be Steam Next Fest, either Fall or December depending on how dates line up. That'll be the big exposure push to get a demo out that will garner feedback and ensure the release is up to par without any obvious issues.

Next Week

A lot of foundational work was done this week, so I've got high hopes that'll have more of a game loop and visual improvements to show off come next Wednesday.

Footnotes