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!

Expanding the Universe

In November I gave a very short talk at MIGS in which I explained that I’ll consider my Kickstarter campaign/experiment a success whether or not it reaches its funding target. If it doesn’t hit the goal then I’ll learn some lessons about how to approach this funding model in the future, I’ll feel better about charging money for my games, and perhaps most importantly, Spaceteam will get a lot of new exposure. Bringing Spaceteam to more people is the motivation behind not just the campaign, but the other new features I’m also working on: multiple languages, In November I gave a very short talk at MIGS in which I explained that I’ll consider my Kickstarter campaign/experiment a success whether or not it reaches its funding target. If it doesn’t hit the goal then I’ll learn some lessons about how to approach this funding model in the future, I’ll feel better about charging money for my games, and perhaps most importantly, Spaceteam will get a lot of new exposure. Bringing Spaceteam to more people is the motivation behind not just the campaign, but the other new features I’m also working on: multiple languages, options, and The Lexicogulator. In this post I’m going to talk a bit about languages.

Multiple languages

The first four translations are finally finished. The latest app update, which coincided with the Kickstarter launch, lets you play the game in English, French, German, Spanish, and Italian. More languages are in the pipe, including Russian and Japanese (that one should be interesting!) This has been quite a task, and I’d like to extend a big thank you to all my translators:

  • Luis Alfonso
  • Noelia Verdura Barajas
  • Andrea Neri
  • Antoine Monteillard
  • Fabian Koglin
  • Lasse Schiano

It’s worth mentioning that all of them contacted me to offer their services, so they were already fans of the game and understood the humour. I’m really happy that we were able to do this in such a communal way. It was a pretty loose process that took several months, and I switched back and forth between various tasks as more translations became ready. Here are some tips for others planning to translate their games:

  • Make it easy to resize labels and buttons to fit words of different lengths. A button name in German might be much longer than in English.
  • Make sure to translate words that appear in images and sounds as well as in text. In my case I had to make new images for the Loading Screens, the Exit sign in the Waiting Room, and the robot voice* that says “asteroid”, “wormhole” and “hyperspace” (although we ended up only changing the voice for the Spanish version)
  • Provide context to your translators for every line that needs to be translated. Words can have different meanings in different contexts. For example, I use the same word “Exit” for quitting the game and also on a sign above the door in the Waiting Room. These are two different words in all the other languages.
  • Puns and jokes rarely translate directly. If your game has a lot of jokes in it, make sure your translators understand what they mean :)

Of course, in addition to regular intelligible sentences, Spaceteam has lots of sci-fi gibberish that I construct from word pieces making the translation much harder. For reference, the original English version of Spaceteam has about 800 regular words and 1700 word pieces (prefixes, noun-, verb-, and adjective-parts) that I combine into the control names and instructions. You can get a basic sense for how the pieces fit together by looking at the Translation Tool. In English, words don’t have gender and can often be used interchangeably as nouns, adjectives, or verbs (sometimes all three!) and I exploited this fact a lot. For example, “Drain the Grease Pump!”, “Grease the Pump Drain!”, and “Pump the Drain Grease!” are all perfectly valid instructions in English. Here are some special grammar rules I had to add to the name generator to support the additional languages:

  • Verbs Go After Noun (in German, commands are given as “ !” eg. “Fluxfield engage!”)
  • Add Articles To Names (eg. le, la, l’)
  • Double Intervocalic Rs
  • Hyphenate Compound Nouns
  • Hyphenate Compound Nouns With Double Letters
  • Don’t Use BaseParts As Adjectives

There were actually fewer rules overall than I thought there might be. I think we got lucky because the instructions are all in the imperative voice, which is often simpler. Some other things that I had to deal with:

  • I had to change how symbols are displayed because of a “clever” shortcut I had taken earlier (more detail in this previous post).
  • I wanted to support what I called “Runtime Localization” or switching languages within the game (eg. you can play in Spanish even if your phone is set to English). This meant I couldn’t just use the built-in localization mechanism on iOS (NSLocalizedString). I ended up building a system for switching languages that I can now use for future games.
  • Entering 57 achievement strings in 4 languages on 3 platforms is tedious and boring.
  • Android-specific: because of limitations of the tools I was using on Android I had to write my own functions for converting Unicode strings (eg. with accents) to uppercase and lowercase. Certainly not something I expected to do myself!
  • What do you do when several different languages connect at once? In my case I picked one language as the master, but I might change it to pick names and instructions from all the languages for even more chaos :)

Anyway, this was another learning experience and next time I localize a game it will be that much easier. I hope you enjoy playing Spaceteam in French, German, Spanish and Italian…

Et n’oubliez pas de travailler en équipe… comme une équipe de l’espace!

Und denkt dran, zusammen zu arbeiten… als ein Spaceteam.

Y acordaos de trabajar juntos… como un equipo espacial.

e ricorda di lavorare come una squadra… come un vero Spaceteam.

*If anyone’s interested in how I made the robot voices: I typed the words into TextEdit (I use a Mac) and used the Text-to-Speech function to speak the text using the Zarvox voice. I then recorded the output with a program called Audio Hijack. However, because Zarvox is only available in English, for the Spanish version I had to spell the words phonetically so they would be pronounced properly (eg. “Hee per ess pa see oh”)