Hi, I'm Henry. In 2012 I quit my job as a programmer at BioWare to spend a year making my own indie games. This blog is about what happened next...

Like Spaceteam? Want to support my work?
Join the Spaceteam Admiral's Club!


Blabyrinth at DemoNight

Just a quick note to say that Blabyrinth is about to have its first public appearance!

DemoNight is an annual event here in Montreal where 15 unreleased games from indies and AAA studios have 5-minutes each on stage to give a live demo (no recordings or promotional footage allowed). Blabyrinth will be there along with games from other cool indies and also bigger companies like Ubisoft.

The event details are here: DemoNight 2019

DemoNight logo

If you're interested in watching, it will be streamed live on Twitch (details on the event page) from 7:30pm EST.

I also now have a teaser page for the game: https://blabyrinth.com/

The build still feels early/rough but I've already started submitting to a few festivals for the coming year. It's time for a new chapter of development where I start promoting the game as I continue to build it.

Spaceteam in London

Spaceteam has been nominated for what appears to be a new award called the Digital Culture Awards, in the category of "Best digital bond-building experience for couples" :) I'm flattered.

Digital Culture Awards finalist

The awards are held in February in London, and I've decided to take a transatlantic trip to present the game myself! The Blabyrinth artist, Sam, lives there and we've never met in person so this will be a chance to meet up. I also have some friends there I'd like to do some Blabyrinth playtests with.

That's all for now.

Space Out!*

*I guess I should come up with a new Blabyrinth-related sign-off...

~ Henry

Bad Generation


The game is getting more stable and I'm steadily improving the generator. My day-to-day work often consists of: generating a random level, exploring for a few minutes and inevitably finding something broken, and then stepping through the construction algorithm one piece at a time to see what caused the problem.

I made a visualizer so I can see what it's doing at each step, here it is in action:

Generation Timelapse Visualization

The rooms coloured green in each step are the candidates being considered for placement of the scenery/item/whatever. The choices become more limited as rooms fill up or sections get blocked off due to a dependency (eg. can't put a key inside the section it unlocks). Sometimes there's only a single choice because a puzzle requires everything to be in one specific room.

Lately the most glaring issue is scenery groups and set pieces colliding with each other. Here's an extreme example:

Major Scenery Collision

There is some "scenery group layout" code that tries to place the scenery in sensible ways, but sometimes if there isn't enough space it just gives up. I actually don't know what happened here, it's never supposed to get this bad... :)

It seems like the obvious solution would just be to place some of the scenery in a different room, but occasionally there's a situation where something more complicated is required. For example, maybe the room has two secret passages, both of which require scenery-based "rituals" to unlock, and the neighbouring rooms are already full of other stuff. In this case I need to solve the collision at an earlier stage in the generation, before the 'scenery placement' step happens, with some kind of rule like "if there are two hidden doors in a single room, restrict the type of rituals that can happen there..."

Anyway, I'm gradually refining the process and before long these collisions should be rare (or at least handled gracefully) and I'll have a new set of problems to deal with :)

Another common problem is clues being unintelligible because they are cutoff/overlapping/badly-formatted/too-small/etc. Clues can contain all sorts of arbitrary text and symbols, and show up on oddly-shaped scenery, so I knew this would be a problem.

A Bad Clue

The solution here is usually (as with scenery placement) adding more restrictions about which clues can go where, rather than getting creative with text layout and trying to squeeze everything in where it doesn't fit.

But enough problems. Here's an example of a simple puzzle that works.

A Simple Puzzle

If you can't see the image, it shows a room with a numeric keypad and four statues with letters engraved on them. The statue engravings read "ENTY", "FIVE", "TWEL", and "VETW". It should be pretty easy to discover the secret code!


One thing I'm not having a problem with is music. Phil has started sketching out the music tracks for the game and I'm really happy with how it's going. Here's a teaser of the main theme:

Space Out and Happy Holidays!

~ Henry

Spaceteam Bunch

Spaceteam News

Bunch Video Chat

You can now officially play Spaceteam using video chat! You'll see the other players' faces and hear their voices while you play. It's not the same as them being in the room with you, but it works :)

Animated GIF of Bunch

I teamed up with Bunch to add this feature so you need their app to use it (free download from the App Store). Choosing the Bunch option from the Connection Menu will launch you into a Bunch lobby where you can invite your friends. If you don't have the app yet it will take you to the App Store to download it.

Bunch Connection Mode

Once your friends are all in the Bunch lobby, just choose Launch This Game and it will launch a Spaceteam game with everyone in it and video chat enabled. When playing, you can tap the chat bubbles for more options.

Bunch Lobby

This feature is only on iOS for now. And you must have iOS 10 or higher. Android is coming soon but Bunch is still working on Android support.

Data Privacy

The introduction of the GDPR back in May got lots of indie developers worried about how it would affect their games and communities. Lots of games collect and use the kind of data that is now protected in Europe.

Spaceteam doesn't collect any data directly but the Unity engine does, so I've added a link to their Privacy tool (in the About menu) where you can request and download your own data and also opt-out of collection entirely. It is mostly device-specific data like the make/model/system of your phone but you should check it out if you're interested.

New Language: Catalan!

Spacefriend Pau Guri volunteered and submitted an entire translation of the game into Catalan! Big thanks to you Pai!

Space out!

~ Henry