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!

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


Autumn Cleaning

Captain's Mess

I was recently encouraged to give my open-source networking library CaptainsMess some more love. It's still missing Bluetooth and Internet support so I've been transferring those features from Spaceteam, generalizing the code, and making it more user-friendly so the 3rd-party libraries that I use can be added/removed/replaced.

In fact, while doing this I discovered that my current Android Bluetooth plugin is no longer being supported by its developer :( so I'm looking for a new one to integrate before I release the changes. Since the existing plugin costs money I can't recommend that people pay for it if it might stop working in the near future. It does still work for now, but it's only a matter of time before it will need an update...

Blabyrinth Progress

After a bunch of complicated technical work on the LevelGraph re-architecture, it's now up the same state the game was in before (exciting, I know...). So it generates the same kind of levels but they are easier to test/debug and extend.

I'm still not 100% happy with it but it's much better than it was and I'll only need to make small changes from here on instead of big ones.

One thing I can do now is create an editor to choose which components the level generator picks from. I did this before in code, but this way is sooo much faster and easier. I can turn everything off except for a few settings to get a really simple level with only certain features (for testing). For example:

  • only keypad locks using numbers
  • only clues split up onto multiple items (eg. scraps of paper) hidden in plain sight
  • nothing else

Or I can turn everything on for a complete level.

But I'm also planning to use this system to change the difficulty of levels by excluding or including harder puzzle types and obscure features. The final game will start easy (to introduce new players) and then there's a secret way to access harder puzzles that needs to be discovered within the game :)

Music & SFX

I'm starting to work with Phil (Philippe Lachance, the musician for Spaceteam) to add music and sound. It's a tricky game to write music for because there might be four devices all playing audio at once, at different volumes and with a slight delay (due to network latency). Also people need to hear each other talking, so the in-game music will mostly be atmospheric/ambient.

Next time hopefully we'll have some music samples for you but for now here are some random sound effects.

Secret Passage opening

Portcullis

Collapse!

~ Henry


Summer Status Report

Spaceteam News

"Safe Team"

To my pleasant surprise I continue to get approached by companies wanting to commission a custom version of Spaceteam for their office/event. These short jobs help pay the bills and the process is pretty streamlined now so I keep taking them.

The latest is Électricité de France which, as you might expect, is a French utility company. They wanted a safety-themed version to use for team-building exercises. Each level has different safety reminders like "Reduce coffee intake!", "Get enough sleep!", and "No texting while driving!". Hopefully it will make their exercises more exciting.

EDF Safe Team app icon

I usually charge around $10,000 for a basic customization with just new words and phrases. The price increases if they also want new control panel graphics, characters, logos, etc. The first time I did this I lowballed the price, but I've since learned to charge for my time and the lost opportunity cost and to overcome my reluctance to do yet another Spaceteam reskin :)

Technically you can change the words in the game with a $5 Admiral's Club membership (get yours today!) but it wouldn't be a separate app with company branding, and often they want changes that can't be done with the Lexicogulator. Also most of these companies have budgets for this sort of thing. Sometimes I wonder if I could charge a lot more and they wouldn't even blink...

Video Chat

I often get asked if there's a way to play Spaceteam with people who aren't in the same room. Ever since I added "Internet" mode this has been possible, even though it's not designed for this purpose (it's just another way to connect if Wifi and Bluetooth aren't working). But you still had to find some external way to communicate: voice call, Skype, etc.

Now I'm working with a service that will give the game built-in video and audio chat, making remote play much easier. I'll be making an official announcement in a few weeks when the integration is ready.

Video chat


Blabyrinth title text

Blabyrinth Progress

Mostly I'm trying the make the game more stable and the code cleaner before going wild with all the puzzle ideas I have planned.

LevelGraph

I've been working on a big architectural change which I'm calling the LevelGraph. It's an intermediate representation of a level describing the dependencies of each piece, that I can refer back to from other systems.

By dependencies I mean things like: this item is here because it's part of a ritual --> the ritual is needed to open a secret door --> the secret door is needed to access a secret area --> the secret area is needed because that's where the treasure is

Example section of a LevelGraph

I can use the LevelGraph as a blueprint to:

  • Construct the level by placing sprites into the scene
  • Hook up interaction rules for things that need them
  • Make sure the level is solvable, and output the solution (for testing)
  • Add context-specific hints for each step
  • Easily find out how and why something was generated, if it's causing problems
  • Defer parts of level generation until later (eg. the LevelGraph might specify that a puzzle needs a set of 8 unique symbols, but not specify what those symbols are. The symbols can then be chosen later by a system that picks the 'theme' of the level)

Previously all these systems were mixed together and it was hard to disentangle them and difficult to make changes without breaking things.

Custom Editors

With the art getting closer to final quality I've also been spending more time on custom editors inside Unity, so I can edit the visual properties of scenery and items. Certain game mechanics like clues and markings depend on what the final art looks like, so this has been a bit time-consuming as the art goes through various iterations.

Custom Scenery editor in Unity

I'm giving my artist Sam a bit of a break while I stabilize the core game. There's still a bunch of art I need for the beginning and end of the game but those are both still very much in flux so I'll call on him again when things are more finalized.

Space out!

~ Henry