Spring In The Air

I’m still alive! I can’t believe it’s been nearly a year since my last blog update. Yikes. Production on the game had to go into hibernation over the winter due to a combination of personal life factors, I just had zero time to work on it and so decided to take a break. Now that those factors have shifted a bit I’m back to work and taking a few months off has given me some fresh perspective and willingness to wade back in, rip out some old stuff that was sitting around that I wasn’t happy with and spruce things up a bit.

One small, but satisfying tweak I’ve made which you can see in this GIF is the additions of lines which visualize items begin effected by the players gravity field. Previously collectibles items would magnetize towards the player when within a certain range, but there was no real visual feedback that that was happening. Now a line is drawn to each item so that you can see that you’ve grabbed them. I also added a game design tweak which is that shooting deactivates the gravity field, so that if you grab a bunch of things and are waiting for them to magnetize to you it can create some interesting tense moments where you have to hold off firing at enemies. It also opens the door on some interesting physics gameplay where objects grabbed and then released by your gravity field can be sent flying in new directions. I’ve got a few ideas for ways to explore that further.

I’ve re-done the AI system, now on it’s third iteration. The previous configuration exhibited the enemy behavior I wanted but was getting crusted with random code and edge cases to achieve all the behavior across the different unit types. In the course of my day job at Unity I came up with a pluggable AI system based on ScriptableObjects, inspired by Richard Fine’s excellent Unite talk about them, and over this past weekend I pulled out the old C# interface based system and replaced it with this. The new system already reproduces all of the behavior of the old system and is much cleaner and much less tightly coupled in bad places. The hope, and my belief is that I will now be able to add more enemy types with different behavior and that the authoring process for them will be less painful, thereby helping my motivation to do it. When the code is stretched and creaking the thought of authoring new AI types inside it is kind of daunting and I felt it leading to me not doing it, so we’ll see how this new system works.

I’ve also hired an artist to work with me on the project. I was getting good feedback on the overall visual aesthetic and general art direction, which I am continuing with, but the lack of artistically coherent visual assets, particularly for enemies was really getting me down. I became aware of Ethan Redd’s work through Twitter, learned that he was also in New York and decided to reach out about getting him involved. He and I have started getting the ball rolling on some new enemy types, some of which you can see in the GIFs here. It’s great to have someone to collaborate with and I love Ethan’s personal aesthetic so I’m looking forward to working further together.

I’m in a weird place right now where I can see the finish line or A finish line in sight and now I feel challenged to make a lot of decisions and really question some of the things which I previously thought were ‘good enough’. Also now that it’s literally been years I’ve been working on this thing I feel more pressure to polish off any rough spots and really try to make it as good as I can. That feeling is a little scary because it feels like it could lead to the ship date getting pushed further and further into the future so at this stage I’m trying really hard to narrow in on doing things I really need to finish. I do feel that it’s getting there, and that the game is in better shape than it ever has been in many ways that really count. But what a long strange process it’s been.