Untitled Space Game – Episode 3: Finding a Path Forward

There are 2 major systems in the space game I have planned: 1)a free-roaming trade simulator game not unlike Sid Meier’s Pirates or Mount and Blade, and 2) a tactical space combat game not unlike FTL. Lacking any particular reason to start with one or the other, I chose to start with the tactical ship view because hey, why not? Except… one thing has already reared its ugly head, and is making me reconsider: pathfinding.

Turns out having 2D characters navigate across a 2D grid in “smart” ways is… well, a difficult problem. Not an unsolved one, to be sure, but one that is quite a bit more difficult than I originally considered. I guess chalk this up to growing pains, and a relative lack of experience tackling programming problems. It’s one of the tricky bits with making a game solo, is having to be the one to solve all the problems, even the ones I didn’t expect to need solving. There are no shortage of A* pathfinding whitepapers available online, and even a few general-purpose algorithms and libraries available for free. There are also a handful of extensions and plugins available in the Unity asset store, which might just be what I turn to in the end, as developing an efficient, scalable, interactable 2D pathfinding system is just not that exciting to me. I recognize its necessity, and can see the tuning and calibration being of interest, but not the low-level function of the thing.

So I’ve spent most of the last day pouring over different options in my head, thinking how fundamentally I’ll need to consider the ship architecture I was considering, wondering if I should just make my own solution or if I should rearrange things to better support a pre-built solution, until I had done a whole lot of pondering and worrying and self-doubt, and nothing very tangible (except applying to some more jobs that I will probably never hear back from). In my frustration and impotence, I even did some chores around the house like hanging curtains over the stairs, such was my urge to not have today go to waste.

And then I sat down, and decided, hey, I should calm down, document this particular hurdle, and maybe take a step back. I’ve banged my head against that particular problem for a little bit now, and am not moving forward, but fortunately there is still plenty of other game to move forward on, namely the free-roaming trade rpg part I mentioned, and shifting focus might give my brain the breathing room it needs to tackle these pathfinding challenges.

The job search is an ever-present thorn in my side reminding me that, hey buddy, you aren’t making any money. There’s a lot tied up with that, and sometimes I wonder if I’m just using “searching for jobs” as an excuse to not solve the hard problems involved in this space game. On the other hand, ignoring the job search in favor of working on Unity projects also seems unwise. On the other other hand (or like, the foot?) getting more experience with the tools and workflow of Unity can directly benefit my job skills and increase the likelihood of landing another job somewhere. On the other other other hand… sometimes there just becomes too much to think about, and without someone else imposing a deadline from the outside, it can be easy to spin in circles and make no progress on anything at all.

I wouldn’t say I’ve ever fully come to terms with my motivation when it comes to personal projects, and this bout of unemployment is really putting that internal struggle to the test daily. The positive side is it gives me lots of practice in honing techniques to stay focused… or lots of time to vent on a blog that no one reads instead of working.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s