Dev Blog #8 – Lost in Space?

This week I’ve been recovering from the great time I had showing Space Station Continuum at EGX Rezzed last weekend. The response was absolutely fantastic, and I’m immensely grateful to everyone who played the game and shared their thoughts and excitement for its future.

The game also managed to attract the attention of a variety of games journalists and YouTubers. Here’s a couple of the videos published so far:

Thanks to the testing by players at Insomnia 62 at the end of last month, the demo shown at EGX Rezzed was much more stable and allowed players to spend a lot more time with it. As a result, there were some truly enormous and complex stations made by some particularly engaged players (thank you!) which began to show some cracks in the existing astronaut pathfinding system. In short, they were getting lost.

Astronauts in Space Station Continuum each handle their own movement. They choose a target location based on what they need or want to do, and find a route to that location using a pathfinding algorithm. This algorithm is based on the A* Search Algorithm – common in computer science for a range of applications. Unfortunately, the current implementation looks like it was written by somebody who had skimmed a couple of articles on A* pathfinding and thrown something together that looked vaguely similar. That’s because it was!

I first designed the pathfinding system in Space Station Continuum many months ago, during the earlier prototyping phases of development. It worked, for the most part, but struggled with finding its way around more complicated space stations full of dead-ends. It’s something I’ve been meaning to revisit for some time now, and this past week I finally dived back into it.

What was wrong?

The existing implementation shared some similarities with a functioning A* algorithm, but had a couple of important pieces missing. First, it wasn’t generating the open set (also called the open list) correctly. And second, it wasn’t properly calculating the cost of each possible path. This resulted in astronauts being unable to find their way to their destination in anything other than the simplest of stations. This was obvious fairly early in development, so I had made them capable of pretending they had already reached their target any time they got lost. This meant they could eat, sleep, and even use the bathroom in rather inappropriate places.

bathroom.png
Not there you’re not!

Changing the current implementation to fix these problems was going to be time consuming, messy, and inefficient. So I scrapped the whole thing and started again.

Rather than explaining A* pathfinding myself, here’s an excellent video to do it for me:

A big difference between the solution described in the video and the one used in Space Station Continuum is the lack of a grid-based navigation system. Instead it uses a number of “Navigation Nodes” placed at appropriate locations within each of the station modules. These act as a guide to show the astronauts where they can and cannot go. By showing these nodes and colouring them differently, we can visualise how the algorithm works.

The blue node shows the destination
The red nodes show rejected paths
The green nodes show the chosen path

It’s quite interesting to watch the astronauts moving around with the nodes turned on. It seems that they’re now able to cope with much larger and more complex stations than the one shown above, and I haven’t seen them going to the bathroom in the hallways for a while! Perhaps I’ll leave this visualisation mode in as a toggle-able option in the upcoming Alpha of the game so you can see it too.

That’s it for this week. Don’t forget to Wishlist the game on Steam and join the discussion on Reddit to be the first to hear about any future announcements. There’s some exciting things in the works! I’m going back to watching astronauts navigate some cruelly-designed mazes to get to the bathroom. See you next time!

– John

Dev Blog #7 – Insomnia Games Festival i62: A First Timer’s Experience

This past weekend I was at the Insomnia Gaming Festival in Birmingham, UK, showing Space Station Continuum in the Indie Zone. This year’s Indie Zone was hosted by the excellent guys & gals at Payload Studios – creators of TerraTech.

My journey to Insomnia began way back in November with an optimistic application to have my game featured in the Indie Zone after reading about it in a tweet. Perhaps all the time I spend on Twitter isn’t completely wasted after all! Back then I was very much in the ugly prototyping stages of development, so the demo and screenshots I sent with my application weren’t the best. I wasn’t holding out much hope, but to my surprise I was contacted in February to say I’d been accepted! I quickly ran through a roller coaster of emotions that began with excitement and ended with the terrifying realisation that now I actually needed a working demo, and I only had one month to build it.

By some miracle I managed to pull this off, and before I knew it I was driving up to Birmingham to setup the day before the show. After getting more than a little bit lost finding my way around the back of the NEC, I arrived to find the HUGE collection of Indie games signposted by the signature inflatable tentacles of the Tentacle Collective.

20180330_093139

A lot of the other developers weren’t there to setup at the same time I was, so I didn’t get to say hello to too many people yet, but that did mean I was able to dive right into installing the demo and praying that it worked.

Tip: Bring your build on at least TWO thumb drives in case one decides to die
Tip: Bring your build on at least TWO thumb drives in case one decides to die

Success! The demo worked, was relatively bug-free, and it looked great on the AOC monitor provided for the show. That was pretty much it for Thursday. I was staying with a very generous friend near the venue for the weekend (thank you Vesna!) so I didn’t have far to go to get an early night and prepare for the opening day ahead.

Friday started bright and early – arriving at the NEC an hour before the doors opened to make sure nothing had broken overnight, and cover every available space on the table with badges.

20180404_103201.jpg
Badges. Badges everywhere. These were very popular

It didn’t take long for the Indie Zone to start getting busy, and within the first hour more people had played Space Station Continuum than ever before!

20180401_170218.jpg

Over the next few days around a hundred or so people played the game. This was an incredibly valuable opportunity for me to see how different people reacted to the game, and how I could improve the tutorial to better explain the building mechanics.

And I’m pleased to say the reactions were great! A lot of people instantly understood the game and where it would be going in the future, and were eager to talk about all the features they’d love to see. I had an especially interesting chat with Ben Moss-Woodward of Lave Radio – some of which you might get to hear on his show in the coming weeks.

Of course, a playtest wouldn’t be a playtest without a healthy list of bugs. Some of these were fairly mundane UI issues (most of which I was able to fix in the mornings before the show), and some were truly spectacular game-breakers. Including this demonstration of what happens when you destroy a few dozen solar arrays that have all been built in the same spot:

 

So if you were at the show and you came to play the demo, thank you! All the feedback you gave will go directly into improving the game, and at least a couple of the ideas we discussed have already been added to the list of planned features.

Extra special thanks to my friend Rob, who sacrificed his weekend to help me show the game and look after the booth when I couldn’t be there. You rock, Rob.

I’d also like to shoutout some of the other developers who were there, and say thank you for making me feel welcome at my first event as an exhibitor. Make sure you check out:

And of course, TerraTech by Payload Studios.

The next opportunity to play the Space Station Continuum demo will be at EGX Rezzed at London’s Tobacco Dock from the 13th to the 15th of April. Can’t wait to see you there!

– John