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!
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!
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" />
https://blurymind.github.io/YarnClassic/?gist=gistIdHere&fileName=yourFilename.ext
with gistId=1252aaa8f74a394b3ac5695107f16e51 and fileName=yarnExample.json in that gist, you do:
Just replace this with your private or public gist and the file in it you want to share - to create a link
Please follow the steps for the PWA version of the app, as the electron one will be deprecated later this year
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
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!
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
YarnSpinner : A C# library for interactive dialogue in games! Ideal if you are using Unity3d or another C# game engine! https://github.com/YarnSpinnerTool/YarnSpinner
Bondagejs : A Javascript-based parser for the Yarn dialogue tree markup language. Ideal if your game engine uses html5 technologies to run (Gdevelop and ctjs use it). https://github.com/hylyh/bondage.js
GDYarn : A Yarn runtime for Godot engine - completely written in Gdscript https://github.com/kyperbelt/GDYarn
Chatterbox : Yarn runtime implementation for Game maker 2+ https://github.com/JujuAdams/Chatterbox
Crochet : Fork of YarnClassic https://github.com/FaultyFunctions/Crochet/
YarnSpinner Loom vscode extension : implementation of YarnClassic as a vscode extension https://marketplace.visualstudio.com/items?itemName=TranquilMarmot.yarn-spinner-loom
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
npm run build
you will find it in the /dist folder
First of all you need to have compiled the web app (see previous steps)
cd electron
npm install
npm start
cd electron
npm run build-windows
or
npm run build-linux
Games built using Yarn.
A short hike: https://store.steampowered.com/app/1055540/A_Short_Hike/
Night in the woods: https://store.steampowered.com/app/481510/Night_in_the_Woods/
Lost Constellation: http://finji.itch.io/lost-constellation
Knights and Bikes: https://store.steampowered.com/app/592480/Knights_And_Bikes/
Far From Noise by George Batchelor (@georgebatch): https://store.steampowered.com/app/706130/Far_from_Noise/
YarnTest: http://hayley.zone/bondage.js/
Test drive your Yarn files here ^
Node connections work similar to Twine. [[ask question|question]] leads to "question" node.
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.
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 logo/icon created by @Mr_Alistair.