If you’re into comics even the least little bit, chances are good the name Scott McCloud has crossed your radar. He’s better known for his comics about comics rather than the franchises he’s worked on, and for good reason – Understanding Comics is something I’d consider required reading for anyone working in a creative field.
Of particular interest to me is the concept of the “gutter” – the liminal space in comics (and arguably, in writing and games as well, and films and TV to a lesser extent) where the reader supplies the details of events between panels/sentences/scenes.
This focus on reader participation in Understanding Comics began to highlight the ways in which I exploit similar stylistic choices in my chosen mediums of short and novel-length fiction, and games. For example, from “Haven of the Waveless Sea”, where Fandral Staghelm relives the death of his son:
“Again.”The meaty rip, the buzzing song, the sound of hope dying.
By now you should be aware of the fact that I love women-run anything. But I especially love women-run things in male dominated fields. When I found out that the next local workshop of Ladies Learning Code was going to be an intro to Ruby, there was no way I wasn’t going to be there.
My forays into Twine have proven fruitful, and dangerous. Fruitful, because it was a good early example of how anyone, of any age, can begin to learn code. Dangerous, because when I got hung up on an element, I would sit there, staring and googling and testing things until I got it to work. (And when it did, that fruitful feeling came back in a giddy, euphoric kind of way!)
Programming is in my genes – my mom was an avid programmer back when your code was punched out on cards. She wrote a programming for teaching a class that was so popular, it was used by the whole Board of Education. Until some enterprising jerk decided to edit my mom’s name out of the code, and put their own – when the entire program unwrote itself as a protection method. Bad. Ass.
I think programming is erroneously thought of as a strictly sciencey, left-brain activity. It’s helpful, in a way – in order to talk a computer’s language, learning how to process logical steps is helpful. But I was surprised to find out how much creativity is required for even the simplest programming. The day was broken down into learning the basic vocabulary of Ruby – classes, methods, arrays, objects, etc. As we learned about them, we did practice puzzles to see them in action. Then we used what we’d learned to create a handful of small applications.
Going through the answers together with the class showed where creativity is really important because not only do you have to anticipate how the computer is going to interpret your code, but you need to anticipate how the user running your program is going to think. For example:
Our first project was to create a short looping program that asked the user what their favourite colour was, ending the loop when either they said no to all the options, or when they said yes to a colour. BUT the solution as presented meant the user had to type in ‘yes’ (or “Yes” or “yes.”, etc) exactly as the code specified. Most people don’t do that! So the code would theoretically work, but might not be very user-friendly.
Ruby appealed to me on two levels – one in that it’s very simple and user-friendly to learn, but also because of that simplicity, it meant that it would be easy for me to ask questions about the end user product and how to improve it. (The second one, a blackjack game, I completed successfully also but there would’ve been ways to make it better, like adding in a delay feature between deals). I leapt ahead to studying more about Ruby Gems and Rails, and what I could do with that – you can’t do much with Ruby as a layperson, the instructor told me. So why limit myself to being a layperson? If you have an idea for an app and what you want it to do, there’s a way to figure out how to get your program to do it.
Plus, the setting was a comfortable learning environment to test things out and ask questions. Men were welcome to attend the event, but registration was set up so they would never exceed women in attendance. Our instructor and half the mentors were women, as well. Overall, it was an excellent experience and I’m looking forward to attending another in the future. (I’ve heard there was an HTML/CSS one coming up, which sounds awesome.) From my personal experience, the aim of Ladies Learning Code isn’t so much to teach you programming on its own, but to break down the mystifying barriers of being a “Programmer”. Not that programming isn’t challenging, or a difficult job (particularly when the competitive field is so glutted!) But it’s good to know that even people who work as developers, or software engineers get stuck and say “Fuck it, I’m just gonna google.” The developers I know are excited to get more people working with Ruby, or Python or Java – they don’t want to be some super-secret club filled with rarefied, socially awkward nerds.
Have you dabbled in programming? What was it like? What did you make?
(Or: Is that a <<print $game.PC.inventory[$item])>> in your pocket or are you just happy to see me?)
A few weeks ago (right around GDC) I took some time in my professional life to mortar up a shameful gap in my clerical history – total ignorance of using excel. I found learning it was a lot like playing euchre: you can observe someone doing it for years and be totally baffled, but as soon as someone teaches you the basics, it ends up being incredibly simple.
A few months prior to that, a lot of game critics and devs on my twitter feed had been talking a lot about Twine, a game creation tool. I sort of paid attention in the same way I do to any game item I see repeatedly, but figured most programming tools were outside my limited scope.
Cue one of the biggest and coolest stories out of GDC, in which award-winner Richard Hofmeier vandalized his own expo-floor booth to promote and allow attendees to play Porpentine’s Howling Dogs. Charmed by the story, I gave the interactive novel cum text adventure game a try. An hour of reading and clicking left me with an experience I found haunting and poetic. Then I noticed the fine print: Built in Twine. “WHAT IS TWINE?” I screamed at my screen, “TO MAKE SUCH THINGS?”
I hit the google machine, and found anna anthropy’s intro to building games with Twine. Twine, to my delight, dovetailed neatly with my new knowledge of Excel. It also, to my exceeding delight, lit up nodes of my brain that are tickled by choose your own adventure novels and text RPGs. It’s a simple tool than can create elaborate results with infinite possibility.
I don’t want to reinvent the wheel – guides to twine are plentiful and both anna’s information and the info included in the official Twine FAQ are more than adequate for a beginner, and a great deal of the appeal of Twine lies in both its simplicity and the desire to figure out why something didn’t work the way you wanted to.
I started with a text adventure played straight where you play as… my cat Gary!
The visual mapping made it easy to lay out the general flow of the idea (which mimicked the general flow of my house!), and create places for Gary to level up – the scratching post in the basement to sharpen his mighty hunter’s claws, the toy mousie for agility, the litter box to level up his … uh dignity. The roadblock? I couldn’t figure out how to get the game to save the randomly generated stats using these items gave him, which meant he couldn’t progress to fighting monsters (my fat beast of a cat, Minnow) or the next level (portal to fairyland) (because naturally GARY IS AN IMMORTAL BEING OF SUPREME POWER)
I was, I think, trying to run before learning to walk, and furthermore, not being true to my own personal strength (storytelling) or the medium’s personal strength (the human experience)(also hilarious hacker adventures). Some day, Gary’s story will be told and everyone will know he’s ａｎ ｉｍｍｏｒｔａｌ ｂｅｉｎｇ ｏＦ ＳＵＰＲＥＭＥ ＰＯＷＥR. But today is not that day.
Instead, I started a twine game about the walled city of Mzandrei, where women are the strength, the leaders and knowledge holders. Men circle the city gates at night, baying to be let in. You can play as the Queen and try to juggle resources for a city caged and besieged; a soldier, hunting a killer before they kill again, or a librarian, struggling with a secret that may be killing you.
Of course, that’s where the game has stalled so far because I am nothing if not consistent with procrastination. But fun things are always funner together and twine can literally be for anyone – check out the #pphsjam column on twitter, and see how people can take a small idea (dating) and turn it into all kinds of stories whimsical and sad and terribly joyful. You can leave your project simple and sparse, or with the use of custom spreadsheets, have all kinds of blinking, jiggling, flashing text mayhem at your disposal. You can use colours. You can use art. You can use music.
In a way, Twine is exhilarating because you can do anything. In a more visceral way, Twine is absolutely terrifying because you can do anything. When people talk about the interactivity of gaming, Twine is a good hard look at what a slog through someone else’s shoes can be like, without anything between you and your gut but the words. Sometimes that experience is a pastoral life herding sheep. Sometimes that experience is somewhat more harrowing.
It’s communal. Take a look at the aforementioned game jam. How about the active Google group? It’s not just communal, it’s open-handedly community oriented. porpentine shares the twine map for Howling Dogs, so you can see how it’s done. People share custom spreadsheets and scripting phrases for the less computer literate among us (Bless you!).
Anything and everything can be an inspiration. Anyone can develop the kind of game that causes a man to graffiti the booth of his own award-winning video game. It could be you. If you let it.
Let’s learn Twine, together.