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!

London

When we last spoke I was preparing to show Blabyrinth at DemoNight here in Montreal. It didn't go perfectly: the music didn't work and there was confusing video lag between the two devices, but it was a good learning experience.

DemoNight

It's tricky to present a game like this on stage because I need at least two video streams, and preferably four (one for each player). I've tried it before by streaming each device wirelessly to my laptop using an app like Reflector but I've had problems with lag before. This time I connected one device with a cable through Quicktime Player > "New Movie Recording..." and streamed the other one over wifi (Quicktime can't show two devices for some reason). But there was still lag, probably due to interference from so many other devices in one space. At one point the streamed video was 20 seconds behind the hard-wired one, which made the actions very difficult to follow.

Next time I present I'll try to avoid wireless streaming entirely. If anyone has tips on how to show four iPads on one screen I'd love to hear them.

State of the Game

I realize that I haven't actually shown much of the game in action so here's a video playthrough of a random level showing what the latest build looks like:

Level Playthrough Video (YouTube Link)

London

I traveled to London for a week in February and, despite no longer having an official reason for going (the Digital Culture Awards was rescheduled for April at the last minute), I still had a great trip. Since I had no more Spaceteam obligations I spent the whole week working with my artist Sam, running Blabyrinth playtests, and hanging out with escape room folks.

I had some great brainstorming sessions with Sam and my host Ed. We came up with some UI improvements and I've started experimenting with two new features/mechanics: light & darkness, and personal minimaps.

Torchlight

Dark rooms & torchlight

Puzzles involving light and darkness were always on my wishlist but I hadn't planned to implement them for version 1.0.

But darkness came up as a solution for keeping people together in a group. Something that happens a lot in playtests is that as soon as the team drops into the level everyone runs off in different directions. So the idea I'm exploring is to make the level completely dark and give one player a torch so they have to stick together in the beginning... until they find additional torches throughout the level at which point they can start splitting off.

It might be overkill for the entire level to be dark, so I'll probably just have a few dark rooms, but it's a useful tool to have in the box.

Maps

Minimap, large

Minimap, in hand

I was planning to include a "magic", auto-updating, level map as a special item or reward, but now I'm considering making them a default feature to make navigation easier. At the moment it's very easy to get lost in the labyrinth because the rooms all look very similar, and the way I previously solved this was to add player "shouts" (which you can see in an earlier blog post). But one of the insights from the brainstorm (thanks Ed!) was that while this helps players find each other, it doesn't encourage them to talk to each other. Once you see the shout callout on the screen, you can start heading in that direction without any further interaction. But if instead you can see both of your locations on a map, you can guide your teammate to you by describing the route.

It was a welcome reminder that I should always be prioritizing face-to-face interation when trying to solve game design problems.

Another interesting side-effect of carrying a map around with you is that it takes up an inventory slot that could be used for something else. So you have to make a choice about whether to keep the map or drop it to carry more stuff!

No San Francisco

I had tickets to GDC in San Francisco but unfortunately I got sick the week before and had to cancel the whole trip :( I'll be there next year for sure.

...then we take Berlin

Next month my travels take me to Berlin for the A MAZE. festival. Blabyrinth is nominated for an award and I'll be showing the game there in person. Maybe I'll see some of you there!

~ Henry


DemoNight

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

Blabyrinth

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!

Music

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