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!

Back off the Ground

✈️ Back off the Ground

Back in March my producer* and I flew to the Game Developer's Conference (GDC) in San Francisco to pitch Project M to publishers and investors. No strong bites yet, but we do have a couple of leads that might turn into something.

If you know any boutique publishers who are interested in a unique party game, please let us know!

☝️ As an aside: I don't normally have a producer (I'm still the only employee at my "studio") but it's been nice to have one for this project as he's been handling the business development, coordinating artists and other contractors, and helping to fund the game. I wouldn't have been able to afford GDC by myself (it's a very expensive conference) but this time it was paid for!

I also got to stay in a hotel, which was a treat as I usually stay in a hostel. I actually like the hostel atmosphere, they're great for meeting other indies over free breakfast. But the hotel was a nice change, and helped reduce our COVID exposure (I was also diligent about wearing a mask indoors).

Our hotel was in the Tenderloin, and I was reminded daily of the extreme wealth disparity in SF as we walked to one of the most expensive conventions in a billion-dollar industry.

This was my first GDC in 5 years, so I tried to make the most of it. That meant business meetings and playtests, but also catching up with faraway friends, and doing four escape rooms :) Once again, I highly recommend the Palace Games rooms (we did the Edison Room this time).

I was also happy to end the show by joining GDC Feet, the extremely chill day-long beach walk after the conference run by Richard Lemarchand. Also recommended.

Here are your (now traditional) contextless teasers of the game:

It's possible that by the next post we will have officially announced the game, so I'll be able to share more about it.

🚀 Reconnecting with Spaceteam

The Spaceteam networking code has been long overdue for a complete overhaul despite my resistance (it's my least favourite programming task) and I was finally forced to work on it because "Internet" mode stopped working.

I used to rely on GameSparks because they had an indie-friendly plan with a generous free tier, but they discontinued it, and after a long grace period it eventually stopped working.

In my quest for a replacement I experimented with a few choices that seemed to fit:

I don't need a dedicated server to host Spaceteam games, so all I needed was a "relay" service for the phones to send messages to each other. But I did have a few wishlist features that made the decision more complicated.

  1. I want to choose my own "room code" (like "team1" or "XYZ")
  2. I don't want to make the player choose Host or Join, because this is an implementation detail that the game should figure out.

Unity Relay didn't meet either criteria. It picked the room code for me (eg. "WWDCFW") and forced the player to decide whether to host or join.

PlayFab Party came with integrated voice chat (bonus!) but had a bunch of confusing idiosyncrasies, so I abandoned it. I might come back to it later.

I settled on Photon, but after doing so discovered that it has an additional wrinkle: it segments players based on physical location (eg. Europe, US West, India, etc) and they can't connect to each other. I discovered I had a 3rd criteria: players from different regions should be able to play together.

I stubbornly refuse to give the player more work to do (selecting a region) so I worked around it by creating a separate "Room Finder" web app that the game uses to figure out which region a room is in (eg. room "1234" is in the "us" region). It was annoying to create and is an additional potential failure point for the app, so it ended up reinforcing my general dislike of network programming...

And this is just for "Internet" mode. Wifi and Bluetooth modes are different beasts entirely!

Thanks for indulging me on a bit of technical stuff. If I can get into a better blog-writing cadence, I'd like to alternate between technical and non-technical posts.

👨‍👩‍👦‍👦 Personal Life

If we don't find funding for Project M soon, I may have to (dramatic pause)... get a real job!!... because I legitimately have a family to feed and not much regular income. But I am absolutely not fishing for your pity. I do still have some savings, I remain quite employable with my programming experience, and I'm very lucky to have stayed afloat as long as I have as an indie. In a large part thanks to all of you!

My older daughter is in Kindergarten so now suddenly we have to figure out what she'll be doing over the summer! We never had to worry about this before, since daycare stays open all summer.

So she's now signed up to a few specialized day camps, but the main subsidized summer camp is apparently one of those deals where the registration website opens on a specific date and time, and the places are all gone within minutes. It felt like ordering a PS5! So now we're also on a bunch of waiting lists.

Board games I have played recently:

  • Ark Nova
  • Blue Moon City
  • Paper Tales
  • Wayfinders
  • Many games of Jaipur (with the aforementioned 5-year old!)

There are more and more board games she's able to play, and it's awesome to unlock one of the many bonuses of having kids: a built-in board game group to play with! :)

Escape game boxes that are still in shrink that I'm looking forward to playing:

  • Emerald Flame
  • Mother of Frankenstein

🎁 Parting Gifts

Thanks for reading this far! Here are some free Steam codes.

  • [TAKEN] Jackbox Party Pack 2
  • [TAKEN] Guacamelee! Gold Edition
  • [TAKEN] Void Bastards
  • 🎁 Waking Mars
  • 🎁 Mushroom 11
  • [TAKEN] Super Hexagon
  • [TAKEN] This War of Mine
  • [TAKEN] Endless Space® - Collection
  • 🎁 Kingdom Classic
  • 🎁 StarCrossed
  • [TAKEN] Worms Revolution
  • 🎁 Psychonauts
  • [TAKEN] Crawl

If you want one just send me a message. First come, first served.

Space out! 🚀