Presented by Dove
Dove is on a mission to challenge and change female representation in video games through the global launch of its Real Virtual Beauty campaign. Learn more here.
On today's brand-new Game Developer podcast episode, we hit up Jon Manning of Secret Lab and Yarn Spinner, a narrative tool used to handle dialogue (and more) in games like Night in the Woods, Lost in Random, and A Short Hike.
We discuss everything from creating accessible tools for writers, programmers, and other developers to use in collaboration (or for non-programmers to simply use themselves), the pains and pleasures of strong community management for developers, the massive importance of good documentation for code, and how to balance a full time development studio with a tools company.
Music by Mike Meehan.
Listen now on Apple Podcasts, Google Podcasts, and Spotify.
Check out some highlights below:
Creating powerful and writer-friendly code
After nerding out a bit about my own use of the tool, we dug into the origins of Yarn Spinner and its use case for writers (who don't want to write code), and programmers (who don't want to write lines for characters):
"We ended up on a syntax that is basically you write a screenplay, and then you sprinkle a little bit of code in amongst the lines. And that's enough. And that worked really well."
"We've had a number of people who just say, 'I don't know how to program, but I know how to program in this.' And what's really interesting as well [is] we have also seen the inverse of that; we've had people who have been, like 100 percent programmers who aren't really big on writing, but they use the fact that they can temp out all of their lines, [writing something like] 'character says something funny here.' They build a logic around that they focus on…. and then a writer can then come in and replace those lines. So you can do it from either angle."
It helps (I can say this with confidence) that Yarn Spinner's documentation is rock solid, and that the developers and community have contributed a wealth of tutorials and easy-to-follow guidance for individuals who want to start Yarn Spinning. Manning was absolutely bullish on great documentation which comes through for anyone looking to get their hands dirty with the code.
Balancing Discord support and solid documentation
"Documentation is more important than code," Manning said matter-of-factly. "That's true for literally any kind of code. Like, there's no point in the code existing if you don't know how to use it, and you don't know how to extend it or get support with it, or turn it into the next thing that it needs to be. So if we aren't documenting our code, then there's no point."
We also touched on the tool's warm and welcoming community, where folks are eager to step in and help out when others encounter difficulties, and the common struggle folks have when they get into game development.
"Everybody in the various places that we are online is someone who is actively developing games, or has an interest in developing games," said Manning.
"Every person in, for example, the discord is extremely familiar with the struggles and trials of what it's like to try and build a thing that actually works, as opposed to, you know, 'when does this game come out,' or 'I have a bug with this game,' or 'I didn't like this game.' And so I think, like, I'm not gonna say that communities of makers are nicer, they're not. But I think that communities of makers tend to have a context that may not be present in other larger game related communities."
That relates as well to Yarn Spinner's flexibility and accessibility, as an open-source tool that folks making tiny "bedroom" projects can pick up and run with, as well as much larger teams making massive games with story or dialogue at the heart of their project. Manning and team expressed a desire to create a "narrative instrument" anyone can use.
"I want to make Yarn Spinner a thing that is as flexible as a guitar. Anyone can pick it up, and there's a wide range of different kinds of things they can do with that."
"I kind of want to make Yarn Spinner like a narrative instrument, it's a thing you can pick up, and you can start making something with. That something might be something very, very small. It might be, you know, the small little slice of life that you made about your difficulty getting up in the morning. Or it could be something incredibly large, like a very large RPG…"
"I want to make Yarn Spinner a thing that is as flexible as a guitar. Anyone can pick it up. And there's a wide range of different kinds of things they can do with that, whether that is a gigantic stage show or playing a small song for their friends. And that's kind of the guiding principle for the tool."
Check out more episodes of the Game Developer Podcast on Apple Podcasts, Google Podcasts, and Spotify.