Secret Lab

View Original

Yarn Spinner

Complicated stories don't have to be complicated to build. We've already seen how Twine has made it easier than ever to create interactive fiction. Another tool, Yarn, has taken inspiration from Twine, and made it awesomely simple to craft interactive fiction.

This is where we come in. We also love telling stories, so we're absolutely delighted to introduce Yarn Spinner, an open source implementation of the Yarn language that's designed to make dialogue in your games a snap.

We built a tiny little demo game, which is set in space and available for you to play right now! It requires a keyboard to play it, and is compatible with most modern browsers.

What's Yarn?

Yarn is a very simple text based format, designed to let you write interactive, branching conversations with the greatest of ease. Here's a snippet:

See this content in the original post

Yarn's used in a number of cool games, including Night In The Woods and Knights and Bikes.

What's Yarn Spinner?

Yarn Spinner is a parser and runner for Yarn. It's written in C#, and is designed to be super simple to integrate into Unity games. You just drag and drop a few objects, drag in your Yarn file (which you've written using the excellent Yarn editor), and you've got dialogue running!

I'm already using Yarn's original parser. What does Yarn Spinner do differently?

Yarn Spinner adds a number of useful features:

  • Functions are now part of the language, and you can write your own in C#, where they'll be available to your scripts.
  • The expression parser is quite a bit more powerful, and can handle most things you throw at it.
  • Yarn Spinner is available as a separate .DLL file, which means that it's more separated from your Unity code.
  • Yarn Spinner adds more types of values to the language. Where you previously only had numbers, you now also get strings, booleans and null! Woo, programmer toys!

Is it Open Source?

Yes! The whole source code is available under the MIT license, which means that you can use it in commercial games if you want! The only requirement is attribution.

Where can I learn more?

Check out the Yarn Spinner page, here on our site, or the GitHub page to learn more.