Home

Awesome

๐Ÿšจ This project is going through planned refactoring and re-evaluation of goals.

This project's playtesting and syntax highlighting is not fully compatible with Yarn Spinner 2. Please use the Yarn Spinner Extension for Visual Studio Code if you need those features and have vscode instead.

To learn more about Yarn Spinner 2, please see the Yarn Spinner documentation. Yarn Spinner 2 is free and open source, and contains fantastic improvements over Yarn Spinner 1! To learn more, please join the friendly Yarn Spinner Discord community!

This project's future goals are changing!


Build

Yarn Classic ๐Ÿฑ ๐Ÿงบ

Dialogue editor created for "Night in the Woods" (and other projects) by @blurymind, @NoelFB and @infinite_ammo with contributions from @seiyria and @beeglebug. It is heavily inspired by and based on the amazing Twine software: http://twinery.org/ It supports editing, syntax highlighting and testing for Yarn and InkleStudio Ink files syntax files. It can also export from Yarn to twine and use github gistfor cloud backup!

๐Ÿงถ Live Web APP (Use it in the browser)

<a href="https://blurymind.github.io/YarnClassic">https://blurymind.github.io/YarnClassic/</a> <br/> <a href="https://blurymind.github.io/YarnClassic/"><img src="https://raw.githubusercontent.com/blurymind/YarnClassic/master/doc/yarnWebApp.png" alt="Yarn web app" height="480" border="10" /></a>

๐Ÿ“ฒ Install the App on your compuer or mobile device

  1. Visit <a href="https://blurymind.github.io/YarnClassic/">https://blurymind.github.io/YarnClassic/</a> <br/> with your web browser (chrome, chromium, opera, brave, or edge - any chromium based browser ideally)
  2. Open the web browser's menu and select "Add to home screen"
  3. When you run Yarn from the home screen, it will work in full screen mode, even when you are offline! <br/>

<a href="https://blurymind.github.io/YarnClassic/"><img src="https://raw.githubusercontent.com/blurymind/YarnClassic/master/doc/yarnMobile.jpeg" alt="Yarn web app" height="480" border="10" /></a>

๐Ÿ“ Supported formats:

Ability to save to the cloud (gist)

https://blurymind.github.io/YarnClassic/?gist=gistIdHere&fileName=yourFilename.ext

with gistId=1252aaa8f74a394b3ac5695107f16e51 and fileName=yarnExample.json in that gist, you do:

https://blurymind.github.io/YarnClassic/?gist=1252aaa8f74a394b3ac5695107f16e51&fileName=yarnExample.json

Just replace this with your private or public gist and the file in it you want to share - to create a link

๐Ÿ’ป Install it on your desktop

Please follow the steps for the PWA version of the app, as the electron one will be deprecated later this year

๐Ÿšง Roadmap

You can see planned features, vote for features or see how you can contribute at the roadmap here: https://trello.com/b/ZXhhOzDl/yarn-roadmap

๐ŸŽฎ Game engines that bundle Yarn Classic

There are a few game engines that have Yarn Classic bundled with their IDE. That means that you can use it straight in those engines, without need to save files and open files and so on. It's directly integratedin their workflow!

๐Ÿง  Yarn runtimes

The runtime is a library that allows your game engine to parse the files that yarn creates. There are a couple of popular ones that you can use. If you have created a runtime, you are working on one or want to get one included with your game engine, these can be of some use to you

Other implementations of Yarn Editor

๐Ÿฌ Features ๐Ÿฆ„

Portability

BBcode and HTML-ish markup styling in editor, Spellchecking, Autocompletion, and more!

Language, writing and debugging tools built right into it (Yarn and Ink)

Load and Save your yarns from your computer, github gists or anything you can send it to on your tablet/phone

Customization!

โš™๏ธ Compile and run web app on localhost:

Make sure you have nodejs installed. Then from the root folder

npm install

npm start

You can access it on your smartphone too if it is on the same wifi network

To build web app:

npm run build

you will find it in the /dist folder

To compile and run electron app:

First of all you need to have compiled the web app (see previous steps)

cd electron

npm install

npm start

To build an electron yarn executable yourself:

cd electron

npm run build-windows

or

npm run build-linux

๐Ÿ˜ฎ Examples

Games built using Yarn.

A short hike: https://store.steampowered.com/app/1055540/A_Short_Hike/

Screenshot

Night in the woods: https://store.steampowered.com/app/481510/Night_in_the_Woods/

Screenshot

Lost Constellation: http://finji.itch.io/lost-constellation

Screenshot

Knights and Bikes: https://store.steampowered.com/app/592480/Knights_And_Bikes/

Screenshot

Far From Noise by George Batchelor (@georgebatch): https://store.steampowered.com/app/706130/Far_from_Noise/

Screenshot

YarnTest: http://hayley.zone/bondage.js/

Test drive your Yarn files here ^

How to Connect Nodes

Node connections work similar to Twine. [[ask question|question]] leads to "question" node. Screenshot

How to Import Twine Files

One way to import Twine files into Yarn is to export a "Twee" file from Twine. (txt format) Open this txt file in Yarn as you would any other file.

Note: This method of importing will not preserve node locations, just each node's title, body and tags.

How to Run Your Dialogue in Unity

You can find basic Yarn parsing and playback example code here:

https://github.com/InfiniteAmmoInc/yarn-test

You can find a more advanced Yarn interpreter here:

https://github.com/YarnSpinnerTool/YarnSpinner

Yarn Icon

Yarn logo/icon created by @Mr_Alistair.

Icon