“A new tool has emerged that empowers just about anyone to create a game.”
Carolyn Petit, Gamespot
Having wanted to get into video game development over the last few years, I’ve been having a hard time figuring out where to start. A lot of people seem to disagree as to what is the best way to dive in to this industry. Some people say that you should put your nose to the grindstone and just learn a few languages like C++ and what not. Others say that you should explore different engines/IDEs before settling in and committing to making a game.
Neither of these options seem appealing to me, which is probably why I latched on so strongly to something I heard on a recent Idle Thumbs podcast. While reading an email from a listener that was basically going through the same thing as me (lots of writing experience/no game making experience), they suggested that he try a program called Twine. Having read about so many different engines and development tools over the last year, I felt the same level of fear and wariness when they mentioned Twine, but as they kept going, I started to feel my fear back down a bit and be replaced with excitement.
This program is undoubtedly a great way to start learning about how games work. It only took a few minutes to get the gist of how the player’s decisions effected the flow of the game and without having to learn anything other than one simple programming function! This was a great feeling, especially after looking over the interfaces of the Unreal engine and Unity.
I first tested out the mechanics of Twine with a simple scenario where the player fights a bouncer after unassumingly bringing a knife into a busy bar. It worked great: the layout of the game/story that you make is extremely easy to use and makes it extremely easy to keep track of the flow of the game, something that I now realize is extremely important when mapping out something that can have so many different path (contradicting paths, diverging paths, and especially re-merging paths so that your main story is intact). So far, I’ve had a lot of fun.
One thing that might seem a little daunting to complete newbies is the use of html. If you’ve never used tags before, prepare to get a crash course in expressions and just general html syntax (which is a little confusing because it seems like Twine has its own syntax as well). That being said, there are tons of great online resources that I’ve found already to help out with keeping tags and just general coding issues. Here’s a list of expressions you can use in Twine to make things a little more interesting. I’m finding, having learned the basics of html two winters ago, that it’s coming back to me fairly quickly. Html is, thankfully, a fairly simple and straightforward way of organizing what you want to do, even if it can seem repetitive at times. Twine also supports CSS, if you feel like you’re up for that.
The output of Twine is a block of html code that you can copy into your browser. I use this website to test my code just because it’s pretty lightweight and easy to use. If there’s a better way of testing html code, let me know (especially if it’s possible to do offline). When you run your code, you get a “text adventure” of sorts with a fairly basic layout. Your title and any other tags or paratext bits you added in Twine will show up next to your actual text in a fairly simple design, but I’ve seen a few games so far that, using CSS presumably, looked fantastic all decked out with inline images and even sound! Here’s a pretty neat but still basic example of a Twine game.
Anyhow, I’m still learning on how to set conditions in Twine, like making the game remember that you chose a certain path and having that provide you with a different ending to the game (think: you chose to pick up a torch earlier and that means you can sneak through a cave later instead of a fighting a troll). It’s definitely a little more complicated than what I’ve done so far but the results are pretty encouraging!
I definitely recommend Twine. It’s free and there’s a decent community out there from what I can tell after a day of searching here and there for answers to some of my questions. Try it here: http://twinery.org/