Posts in Stuff
Yarn Spinner Localisation

Earlier this year, we were approached by the rad folks at Infinite Fall with a very interesting challenge: could we please add support for localisation in Yarn Spinner, the dialogue system we wrote, for Night in the Woods?

Yarn Spinner was written to be a more advanced interpreter for the Yarn language, a Twine-inspired tool for writing interactive dialogue. Yarn Spinner lets you write your game's dialogue in a very natural way, with minimal technical syntax and a strong focus on getting your words into the game.

Because Yarn Spinner has such a strong focus on minimising the amount of stuff you have to write on top of your dialogue, we have to be careful whenever adding new features to the language. Our goal is always to reduce the amount of stuff you have to think about when writing. However, any kind of localisation system requires you to add additional information, in the form of a key that links a line's original text that of a translated version.

We created what we think is a pretty neat solution to this: hashtags. To localise a line of text, you add a hashtag that contains a short tag, like this:

However, Night in the Woods has a lot of dialogue. Like, buckets of it. Tagging each and every line would be hugely laborious. Fortunately, we already have a tool that's very good at quickly and thoroughly processing large amounts of Yarn dialogue: Yarn Spinner itself!

We therefore put together a little tool that can extremely quickly (like, 2 seconds quickly) tag every single line of dialogue that needs it. The tool only counts text that needs localisation - that is, anything that a player will see. It ignores all other stuff, like if statements and other behind the scenes stuff, as well as any line that already has a tag, which allows you to run the tool on files that have been partially tagged. In other words, it's a tool you can feed your dialogue through without worrying about anything it's doing.

Once you have some tagged dialogue, you can then generate a file that contains every line's text, as well as its localisation tag. The tool generates a CSV spreadsheet, which is the easiest format for most people to read.

Once you have the spreadsheet, you can send it off to your translators. In our case, we sent it off to a translation team in Italy, who converted the entire text of the Night in the Woods demo into Italian. They then sent back a spreadsheet that contained the Italian versions of all of the lines. We then dropped this into the Night in the Woods demo, and presto: localised!

The code for the localisation tool has already been merged into the development branch of Yarn Spinner, and we'll be putting out more info on how to use it soon. We can't wait to see more games in more languages using Yarn Spinner. Stay tuned for more!

GovHack 2016

For the fourth year in a row we went to GovHack, the world's biggest open-data hackathon, and made a game. We (Paris and Jon) teamed up with Rex, Seb, Matthew, Tim, Arabella, and Josh, and build Beat the Press, a game about news (sort of?) Check out the video, and the website for the project! It was a great way to spend 48 hours.

We're looking forward to coming back to GovHack next year! Thanks to all the organisers and volunteers in Hobart, as well as the other participants. Everyone made it such a great experience as usual!

In London, in October, we'll be giving a talk about our experiences turning open data into video games at OSCON; it's one of our favourite conferences, and we'd love to see you there!

iOS Developer Training Workshop

If you're interested in attending our intensive 2-day iOS Developer Training Workshop in Melbourne, to be run in the Melbourne CBD on May 9 and May 10 this year, please let us know. When we open registrations, we'll get back to you with a discount code and further information. 

Our intensive 2-day workshop is designed for programmers who are proficient with any modern, object-oriented language, such as Java, C++, C#, Python, Ruby, or similar. No knowledge of Swift, Objective-C, or the Apple frameworks is required. This iOS Developer Training Workshop will teach the latest, best practices for iOS development using Swift.  

Our team has written more than ten highly regarded, popular books on iOS and Apple development, and has been teaching software development for Apple platforms for more than 15 years. You're not committing to anything by submitting this form.