[{"content":{"text":"I have a confession to make. Until recently, I never built an electronic game by myself. Every day at Schell Games, I work in Unity3D, writing, placing and manipulating objects in the world, and managing certain features; I decided it was time to prove to myself that I can build games, as Captain Jack would say, \u201cAll by me onesie, savvy?\u201d<\/p>"},"id":"eeed8734-1e80-4524-b766-08659fb70bd1","isHidden":false,"type":"textBlock"},{"content":{"location":"kirby","image":["file:\/\/Z0aUXs2W2927ZgnF"],"src":"","alt":"","caption":"","link":"","ratio":"","crop":"false"},"id":"e033584f-8359-4fad-b71c-f25494018194","isHidden":false,"type":"imageBlock"},{"content":{"text":"I have a project I\u2019m trying to prepare myself for, which I plan make during Jam Week, but it requires learning new tools. (Jam Week, by the way, is the one week per year when Jesse<\/a> lets everyone in the studio pursue whatever passion project we want, in the name of discovering new projects and learning new things; it\u2019s the highlight of the year around here!) I came to this industry as a writer with absolutely no technical experience. I\u2019ve improved this over the last four years, but I want to become even better. I found the idea of digging in and building something exciting, but also\u2026intimidating<\/em>.<\/p>"},"id":"3ad873de-6530-4ecb-9d26-e983db3fc1fa","isHidden":false,"type":"textBlock"},{"content":{"location":"kirby","image":["file:\/\/c32PSlcXL9nSflga"],"src":"","alt":"","caption":"","link":"","ratio":"","crop":"false"},"id":"b2552370-cc47-4fc6-a257-c0a9a4d11f51","isHidden":false,"type":"imageBlock"},{"content":{"text":"I decided to learn Twine<\/a>, a well-known freeware tool for interactive adventures. The online documentation is precise, but not always well organized; thank goodness for Anna Anthropy\u2019s tutorial<\/a><\/u>! My non-programmer mind understands a well-explained step-by-step guide better than a table of expressions. Most of the online Twine examples I saw involved \u201cClick to continue\u201d rather than meaningful decisions. Because I wanted to offer a deeper experience, I needed to use the advanced functions in Anna\u2019s tutorial: macros. (Ominous \u201cdun dun DUNNNNNNN<\/a>.\u201d)<\/p>"},"id":"a9ecc4c2-cdcc-4f1e-a0a9-f3da2160957a","isHidden":false,"type":"textBlock"},{"content":{"location":"kirby","image":["file:\/\/XTZIZJj2G3PYtsg1"],"src":"","alt":"","caption":"","link":"","ratio":"","crop":"false"},"id":"1a231392-b51d-4318-acd4-83aa9effb403","isHidden":false,"type":"imageBlock"},{"content":{"text":"My 11yo son loves Minecraft, and Telltale Games just announced a new story mode for Minecraft<\/a> which has him excited, and he is ravenously awaiting the first episode. I decided to build a Telltale-style Minecraft adventure for him to enjoy while he waits. The first thing I did was write down the story basics. I named the planet where my adventure takes place \u201cEupraxia,\u201d after the greek goddess associated with a sense of wholeness and well-being.<\/p>Using Google Drawings, I flowcharted the story. (That thing you see below is less than one half of the flow chart, which took a weekend.) I can\u2019t imagine having even opened Twine without having this document already finished.<\/p>"},"id":"ebcf909e-a5da-482a-b844-e3a18cb6a36e","isHidden":false,"type":"textBlock"},{"content":{"location":"kirby","image":["file:\/\/FRoQrwNqeWQAasCK"],"src":"","alt":"","caption":"","link":"","ratio":"","crop":"false"},"id":"c8a5f3eb-8f99-4e57-b329-6a3fb5d040c2","isHidden":false,"type":"imageBlock"},{"content":{"text":"Many have advised me that the best way to learn a tool is to just dive right in, and learn through failure, so that\u2019s exactly what I did. Here are some things I learned:<\/p>Draw a visual map of the area(s) your story takes place in<\/strong>. This helps a lot in knowing which directional options to offer players. Note: when you\u2019re approaching the same destination from the opposite direction, you can\u2019t say \u201cit\u2019s on the left\u201d anymore.<\/p>"},"id":"c2fa17b2-525d-4904-85af-1da54c5ddd0a","isHidden":false,"type":"textBlock"},{"content":{"location":"kirby","image":["file:\/\/U3Q7HjH8woUc5Gli"],"src":"","alt":"","caption":"","link":"","ratio":"","crop":"false"},"id":"6ec81bf9-fd16-42c9-b809-46398590276a","isHidden":false,"type":"imageBlock"},{"content":{"text":"Twine documentation favors 2.0<\/strong>. I followed the syntax exactly, but was experiencing errors, and couldn\u2019t find an explanation. I was using version 1.3. I upgraded to 2.7, but then couldn\u2019t open older file and had to painstakingly copy-paste about half the game into a newer file. The syntax then worked perfectly. Note: Twine 2 makes testing and de-bugging a lot easier than Twine 1, but you have to validate nodes individually or else painstakingly play the game over and over to find all the bugs in all the story strings. Twine would benefit from one-button validation, to find all errors in the file at once.<\/p>You can\u2019t set variables in the Start node<\/strong>. At the beginning of the game, I had 20 or so variables I needed to set, but found that you can\u2019t do this in a Start node. This is one of the reasons my game has a \u201cDedication\u201d at the front \u2013 I needed an extra node to set variables in.<\/p>Don\u2019t fear the macros<\/strong>. Macros, once you stop being intimidated by them, are incredibly helpful and save a lot of work. For instance, with <<print $npcName>>, I was able to replace a long \u201cif\u201d statement or save myself from making separate nodes for separate NPCs. As I build more things, I\u2019ll find more ways to be efficient; but macros are important. Note: Punctuation counts!<\/p>"},"id":"4a7de8c4-1b2c-4de1-ac7f-8cedb597e724","isHidden":false,"type":"textBlock"},{"content":{"location":"kirby","image":["file:\/\/HQpmYxnlQK2XSjdZ"],"src":"","alt":"","caption":"","link":"","ratio":"","crop":"false"},"id":"9f89acb9-96b4-4a3b-9f39-dc706965c289","isHidden":false,"type":"imageBlock"},{"content":{"text":"Macros I used in Eupraxia:<\/p>Setting and changing variables<\/p>Conditional statements (sometimes using three variables at a time)<\/p>Selecting a random line of text from a list<\/p>Integer tracking<\/p>Selecting a number randomly from a range<\/p>Naming shortcuts<\/p>Eupraxia, my first Twine (which took about 12 hours to flowchart, 36 hours to build, plus a week of my friends playtesting and me de-bugging), is available on my personal website<\/a>. It has five zones, an animal companion system with five animals you can find and tame (each with their own abilities), a specialization system, an inventory system with 29 unlockable backpack items, and the ability to play as a female or a male adventurer. I wanted it to be fun, action-packed, and replayable. For this game, I was mainly concerned with getting choices and systems right, so players could feel like they were actually traveling, not clicking, through an adventure. My next goal with Twine will be to tweak the visual formatting, and to add images and audio to make an even more compelling experience. From there it will be building visual novels\u2026which I\u2019ll need for my Jam Week project!<\/p>What about you, readers? Do you Twine? What awesome Twines have you played? If you played Eupraxia, what do you think?<\/p>"},"id":"05172dca-add4-4707-8572-4506ee482744","isHidden":false,"type":"textBlock"}]