Unless you’ve been surfing the internet the past week from a cave on Mars, with your eyes shut and your fingers in your ears, you’ve got at least a passing familiarity with Twitch Plays Pokemon. If not, a brief summary: someone decided to stream Pokemon Red/Blue via Twitch tv, and program it so that chat commands (up, down, left, right, a, b, select) correspond to the player character’s movements in game. Basically:
What’s exciting about this is, aside from the hours of entertainment watching Red navigate Giovanni’s tower maze, is that the program essentially allows us to watch and participate in a simplified version of the infinite monkey theorem. Not only that, since someone set up a competing stream called RNG Plays Pokemon, we can compare how the keyboard smashing gestalt of 80K humans hammering away compares to a computer controlling it all. (Sort of: Twitch is playing Red/Blue, while RNG is playing Silver). All the same, gestalt beats singularity by 1 badge currently.
Obviously, with only 6 key presses to complete a game compared to the infinite monkey theorem of 26 key presses to complete a play, we’re looking at probability many magnitudes larger in favour of Twitch. Plus, to be fair to the monkeys, they’re probably not as familiar with Hamlet as most of the under-40 set is with Pokemon. Even so, completing simple tasks in Pokemon has been taking anywhere from hours to days. The length of time required to watch until something significant happens is so prohibitive, it’s baffling in its popularity.
At some point, the creator added in a new form of play in addition to the chaos of the PC responding to every keypress, called democracy.
Players vote by either typing in “anarchy” or “democracy” into chat to move the bar in one direction or another. Democracy mode only moves the character after a key has received a certain number of votes within a 20 sec period – for example, if ten people type “down”, and five type “up”, the character will move down. It’s slower, but progress is surer. A lot of viewers (myself included) feel that anarchy mode is the purer method of play. Think of it as a Nuzlocke challenge for thousands of people at the same time. Released your Charmander? Tough nuts, only Pidgeot can save you now.
Here’s the really fascinating thing about TPP, though. Not only is the game progressing, but people are weaving in narratives and stories relating to the canonical journey of the player character. The aforementioned release of Charmander (nicknamed “Abby”), really did happen. An attempt was made to evolve an Eevee into a Vaporeon to enable Red to use surf, but due to a series of unfortunate spending events, he was unable to acquire a water stone, and they ended up with Flareon instead. When trying to deposit Flareon to withdraw another pokemon capable of using surf, Abby was released, and the myth passed into legend:
The Helix Fossil, due to its inability to be used or thrown away, gained a great deal of favour, as did the Moon stone.
The deep-seated philosophical urge to narrate the progression of Red in the game echoes the concept of existential angst, as Sartre saw it, where human recognition of the utter indifference of situations and objects. There’s no sense of consciousness in them, which can cause great distress to the soul. We might not think of it so much when looking at a stapler, but it’s certainly present when gazing out at the infinitely expanding universe – a panicky fluttering of uselessness.
Some of this is alleviated by the nature of the game – there is a defining end, a sense of accomplishment in beating the game. (Whether that’s beating the elite four, or catching every pokemon varies from player to player.) despite the fact that most of the situations in the game result in no proper “progression”, so to speak, there is still a heady sense of freedom in being that dick who types “down” instead of “up” to consult the Helix Fossil. Again.
But all of those individual situations of themselves are not linked in any meaningful way. They’re the immediate expressions of actions taken by others, and expressed through an object (in this case, a computer program.) In between watching Red circle loops through Team Rocket HQ, there’s still a powerful need to extract meaning through connecting these actions via narrative. Hence, False Prophet, Bird Jesus, and so on.
Twitch plays pokemon is fascinating because it’s an 8-bit representation of all that German philosophical bullshit about the nature of being that you strained to wrap your head around in undergrad. How do we tell our stories? What is the meaning of our lives in a cold, uncaring universe? When we’re on our deathbeds, we can look back at the journey, all the ledges we fell of off, the hours spent in a dark elevator alone, and say to ourselves, “At least we beat Blue.”
In Pidgeot’s name, amen.
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.
What if every time you kited a Fel Reaver to Shattrath, the Shattrath Guards start to remember your face? What if you had to navigate the father-son relationship between Varian and Anduin Wrynn via a series of complicated, spiraling quests that adapted to your solutions? What if you were able to bring Mankrik back his wife’s bones?
As a World of Warcraft player for over five years now, I’ve pretty much come to terms with the idea that there are just too many big damn heroes in the game. You solve all sorts of problems for NPCs from the hugely heroic (“Please stop this Old God from subsuming the entire planet in a waking nightmare.”) to the incredibly mundane (“Please deliver this message to Jolene Draenei standing just over there.”) And yet, no matter what you do, there’s very little change in either the world or your relationships with the NPCs. Blizzard has made some headway with the former, when they introduced phasing to the Wrath of the Lich King expansion, and even threw a bone to the latter: if you encounter Gryan Stoutmantle in Grizzly Hills after completing the Defias chain for him in Westfall back in your teens and twenties, he’s flagged to recognize that – but nothing specific.
<name>! I hardly recognized you in your new outfit. Still have that tunic… or did you take the chausses… or was it the staff? I can’t recall, it was so long ago.. Well, I’m glad you are here to help out again. We could use all the help we can get. <name>, if you perform the way you did back in Westfall with the People’s Militia, we have a chance. These are dire times, if we don’t win this battle, there may not be a Westfall to return to.
It’s like the need is recognized, that people want to connect with their games, but no one is quite sure how to accomplish it.
Except of course, the game developers at Namaste who are aiming to do just that with their new Storybricks toolset. Frustrated with the lack of character development and progression in traditional MMOs, Storybricks was born out of a desire to have an evolving sense of story and relationship in gaming. I was lucky enough to chat with community manager Kelly Heckman as she walked me through a demo of the toolset and answered some of my questions. The team brought Storybricks to GenCon after just 10 weeks of development, but what they were able to demo there is already impressive. Kelly built a small tableau for me with a citizen, a guard and a brigand.
From left to right: Citizen, player, guard, brigand.
With just three NPCs, there’s already a number of conflicts here. The emotive AI of Storybricks allows the NPCs wants, needs and motivations. For example, the city guard wants peace and order; the brigand, on the other hand, want chaos, presumably to aid him in his devilish pursuits. This puts the guard and brigand into conflict before the player character even arrives on the scene.
Behind the scenes of the same tableau as above.
The summary of the scene is this: The guard and the brigand already have predisposed feelings towards the player character. The brigand is unfriendly to the player character – maybe not attack on sight unfriendly, but not predisposed to making things easy for the player either. The guard, on the other hand, is friendly towards the PC. Because of the presence of the brigand on his patrol, though, he’s also unhappy. He wants the player’s help, but like the brigand, because of his needs and motivations, he might need some coaxing to become peppy and helpful. This leaves the completion of the quest – to get the Gorgon heart for the guard – entirely up to the player. You could kill the brigand and take the Gorgon’s heart: will the guard be grateful to you you got him the item he wanted, and also removed an annoyance from his patrol? Or will he be annoyed that murder has caused further chaos in his desire for peace and quiet? If you try and steal from the brigand and fail, now you’ve potentially got a very unfriendly bad guy on your back, as well as an annoyed guard who might not be feeling so friendly towards you.
A more complicated scenario. Note how the different motivations are coded to be easily recognizable.
But even as the toolset allows the developers to create more and more detailed character maps, the toolset remains refreshingly understandable to my untrained eye. I’ve toyed with the Neverwinter Nights Aurora toolset before and come away totally frustrated. Storybricks, on the other hand, is both colour- and symbol-coded to make building the character personalities simple. Which makes sense, because their intention is, as Kelly puts it, “building a toolset with the players, rather than for the players.” Their reason for including both symbol codes, as well as colour coding the toolset? To be inclusive of those with colour-blindness, which affects a large percentage of the population. Another exciting feature of the accessibility of Storybricks is that users will be able to run the client on both Mac and Windows OS, as well as being compatible with Android’s SWYPE feature, allowing them to build on the go.
The people at Namaste really want this program to be user-friendly, so the gaming community feels comfortable in creating their own content. However, the plan is for something that is more Dragon Age mods than Second Life.
Namaste isn’t interested in players creating a universe to play in, so much as allowing players to add to the already-existing game Namaste will be making. Think of it as in-game fanfiction you can play.
As a writer, I had particular interest in this element of Storybricks. I asked Kelly if she could answer a couple of questions about the ways in which the toolset will affect gaming, from both a story developer POV as well as a player’s:
CT: I read that Storybricks was born out of a frustration with your standard MMORPG format as found in, say World of Warcraft, and it seems like the other games (Aion, Rift) that are trying to unseat WoW still suffer from the same kinds of grindy, linear gameplay. Do you think Storybricks will lead to the breath of fresh air MMORPG players are looking for?
KH: We took our prototype to Gen Con and later PAX trying to answer that question. Do we have something players want? Or at least think they want? Storybricks is a newer, better solution to a problem that’s been solved poorly in the past – allowing players to create their own stories in the worlds they love. NeverwinterNights did it; City of Heroes and Star Trek Online have done it. But the tools have been onerous and the content limited to a few with specialized skills and a lot of time. While we expected the answer to, “Is this is a toolset you’d like to use?” to be yes, it is the implications of the emotive AI and what it does to the game experience that required feedback. The type of game we are attempting to make is difficult to describe because there’s no real comparison; we can only describe what it isn’t. It’s not combat-focused; it’s not level-centric. But it is about stories and the relationships one develops between players and NPCs so that one’s actions in the world affect those relationships.
CT: How do you think this toolset will help game story developers and writers? Storybricks personally appeals to me because of how, as a writer, you spend so much time and energy devoted to world building – character motivations, faith systems, magic, fighting skills, etc. – and sometimes it feels that so little of it ends up in the game or story proper. This seems like a great way to have all of that work pay off in a genuine reaction between an NPC and a PC.
KH: Storybricks does a lot of the work of designing characters for the writer “under the hood” so to speak. For example, a guard may be an NPC who is defined by the traits honor and duty, but what does that mean? Honor and duty become the primary drives for the NPC guard; this allows for what we call Moods, or the types of relationships that are open to this NPC. These Moods might be neutral, caring, inflexible, lazy or solemn – ways the guard might feel in particular situations or between other players/NPCs. Then each mood allows for particular interactions. Inflexible interactions might be denounce, stonewall and calm down; yet if the guard is “feeling” lazy it might only dismiss. All of this is done for the player and the developer. This creates deeper characters.
And this only defines the NPC guard – a generic guard. If you wanted to make a particular guard you could give him drives of love, riches and fame on top of honor and duty and it would be a truly interesting NPC!
CT: Another aspect that affects writers quite a bit is the lore and media that occur outside the game – Ubisoft has recently put out an extensive encyclopedia for their Assassin’s Creed games, and Blizzard has books released regularly detailing events that happen in the Warcraft universe. On the other hand, both franchises have rich fanfiction bases as well. Do you think Storybricks will enhance one side of the coin, or the other? Will player-created content have the kind of feeling of fanfiction (fun when you don’t want the story to end, but no big deal) or something more like player created Neverwinter Nights toolsets or Dragon Age mods, that have become crucial to the main game for a lot of players?
KH: We hope that it will affect both! But we realize that most storytellers are not writers in the strictest sense of the word. They don’t create worlds out of thin air. However, once a person knows enough about a subject he/she can tell a story about it. We suspect that most Storybricks stories will be of the fan fiction-type which opens up a world of possibilities. We envision a marketplace like Apple’s app store for stories where players can rate a la Netflix the stories they play. Players that don’t develop stories of their own can still purchase pieces of dialogue or campaigns developed by others and place those into their own game. Those stories that fit the lore and are highly rated and played frequently would be those we would work with the player to make a permanent part of the world.
On the other end of the spectrum, there will be players who simply want to use our game’s assets and toolset to create their own stories that have nothing to do with the gameworld and that’s just as fantastic. Whatever we need to do to allow players to tell the stories they want to do is what we’re aiming for.
CT: Open-ended games where you can achieve different endings aren’t new – I remember trying to get all the endings to Crono Trigger back when I was a kid. But when your in-game decisions affect someone as small as a farmer or a city guard, it seems like it fogs up the idea of game endings. How will the fluid storytelling of a game created with the Storybricks toolset affect the endings of a game?
KH: Well, if you can achieve different endings they aren’t really open-ended games, just games with multiple endings. In our game, because of the nature of the relationships you’ll have with NPCs, the “stories” never really end. You may get the Queen’s necklace for her and she may be grateful – for a time, but because you’ve saved that other King’s daughter from the monster she is now angry with you and if you care how she feels about you, you’ll need to determine a way to get back in her favor. What’s more, it may not be something you can do directly but require you to work on a relationship four degrees away, which may anger somebody else…
CT: How do you think this will change player attitudes towards NPCs? Everyone who’s played Warcraft probably remembers or has heard about ganking poor Gamon in Orgrimmar (before he became a massively powerful elite, anyway) But it seems likely that if kiting Gamon out to the auction house steps and killing him results in the NPC being accosted by or turned away from, say, an important vendor because she was Gamon’s sister, that might cause them to re-evaluate certain kinds of griefing. Or, I suppose, play as an utter sociopath.
KH: NPCs will no longer be simple quest givers. The quest “Kill Ten Rats and bring me Ten Rat Tails” simply doesn’t exist in our world so skipping all of the flavor text to find those words won’t work. If by chance you had an “I need ten rat tails” quest, then you would want to pay close attention to the mood of the NPC – how is she emoting? what interactions are available? – and really read whatever text is available. How you get those ten rat tails (kill ten rats, steal them, barter, buy then, persuade for them, etc.) becomes important when your actions can affect your relationship with the original quest giver.
CT: Exactly. Will there also be NPCs who will be the object of quests that can affect your relationship with them as well as the quest givers? Say you get the quest for the rat tails, and you kill ten rats to get them. Would this affect the PCs relationship with the local rat guy because you’ve suddenly killed all his pets?
KH: This is why you have to pay attention to everything you do.
According to Kelly, the delivery on Storybricks continues at a breakneck pace; they’re hoping to start betas within the next 30 days, and have the tool complete within 4-6 months. It’s a lot of work to build a new toolset in order to create the game Namaste wants to make, but she told me “Sometimes you have to build the hammer before you start work on the house.”
If you’re interested in more information on Namaste and Storybricks, be sure to check out Mana Obscura’s excellent look at the tool as well.