In Control: else { Heart.break() }

A screenshot of else { Heart.break() }.

If we could hold aloft any single attribute of videogames that offers us more than literature, film, television or music, it’s that it offers us control through choice of experience. Which enemy to shoot. Which narrative path to tread. We are fully in control - or at least, in control to a degree where many of us do not feel like we’re on a guided tour.

However, some titles are not as rewarding, and often give us the impression that we might as well be watching a Michael Bay film; John Walker’s review of Modern Warfare 3 is a poster-child of the frustrated gamer rejecting excessive hand-holding and the withholding of true control in videogames. Linear, devoid of choice — running from room to room, engagement to engagement. Those of us who interact with games because we want to change things and generate our own player-narrative require a high degree of control in order to feel satisfied, and many of these games do not meet that required level of satisfaction.

But there are a few developers — indies, primarily — that have seen the way in which we interact with videogames in 2012 and said “No, this will not do.” One of those developers has taken to offering players a means of interacting with the game that has the potential to revolutionise what we see as “control”. That game is else { Heart.break () }.

If you’re curious as to why the game in question uses a code snippet as its title, it’s because your main method of interacting with the game and solving the many problems within it is writing code. You will finally be able to pull back the curtain and toy with the machinery behind the scenes to solve problems, almost like breaking through the carefully-constructed floor of a Minecraft adventure map to expose and tweak the redstone circuitry below. It feels exciting, rebellious.

As I wait for else developer Erik Svedäng to answer my call, I think about the game he's developing, and how complex it seems to me — someone who’s only just blundered their way into the world of Javascript by way of Codecademy. When he answers, I glance at my list of questions and reject my predetermined interview structure, rewriting my own journalistic code as I go. I ask this code-wizard game designer to explain himself. “What are you trying to achieve?”

“I think everyone who has seen the possibilities of programming can understand how it makes you feel,” he replies. “You can do anything. It’s a very cool feeling, and with games it’s the opposite: You are under the control of the game designer, and you fight the game designer in a way. When you put those two things together, you see that ‘Oh, if I could change the game I’m playing, I can win over the game designer.’”

What highlights else's individuality in terms of game design is its sense of player empowerment. You are no longer bound to the will of the designer in the traditional sense. Puzzles are no longer a series of levers or blocks to be pushed and pulled. Instead, you reach into the code behind the room your avatar finds themselves in, and you tweak, write and edit it, then run it. It sounds like true power, deliriously appealing due to how mischievous I’ll feel playing around with the song that sung the game-world into existence.

But it seems like such a risk for the developer, to give a backstage pass to the player, and I wonder aloud if he’s comfortable with sacrificing his code-god status as the game's designer/programmer to enable the player a little more. Aren’t there game-breaking risks involved?

“On the one hand, you don’t want the game to crash," says Erik. "That wouldn’t be very fun — if the game crashed, or hung, in an infinite loop or something — which is very easy to accidentally do when you’re programming. Right now it’s pretty sandbox, but I want to see how far I can push it. ... The reason I want to make the game is to see how it will work out.”

He reassures me that they're using a code language he has crafted specifically for the game itself to act as a fake code-layer within the game, protecting the real script. However, it’s his mention of seeing how this project will work out that catches my attention most, mainly because — as someone who plans to play his game without having had any hand in its design or development — I’m investing my time in it because I, the player and customer, want to see how it works out. The same can’t usually be said of the designer. During an economic climate where the outlook is survival at best for many small companies, boldly striding into the unknown like this seems brave, and it's something I can respect.

But it’s also something that makes me wonder about the notion of control. I write novels. (You’ve heard of precisely none of them, but it’s a dream I have for myself.) When crafting a novel, I am in full control of what happens, but there are many writers who would argue that actually, it’s fully possible to just start writing, and stop when you feel you should, with no plan — no sense of order in the chaos of literary creation — finding savage glee in the maelstrom of characters and plot points whirling around you as you pen what you hope will be That Book. But that also feels uncomfortably sloppy, and makes me want to ensure I have at least a basic structure in place before I go to work.

Although he may not want to wield a tight fist around the reins of else, will I be able to alter the story unfolding before me by tapping into the code structure behind it. Or is this simply a puzzle-solving mechanic? “It’s hard to make AI that understands exactly what your code is doing," he says. "The characters in the game will understand that you’ve solved the problem, but they will not see how ingeniously you solved it.”

It does make me think about characterisation, and how a game’s story would pan out if I could leap into the code and tweak a line or two to change a character’s personality, going further than Erik has with else. Would Mass Effect's Ashley Williams behave differently if she didn’t believe in God? Would BioShock's Jack, given an immunity to verbal commands post-plane crash, have joined his father, or still dethroned him? Although the characters in else will always be blissfully unaware of the true extent of your avatar’s talents, it’s hard not to wonder how a more far-reaching approach would alter games I know and love.

How someone’s social behaviour, even someone with no player-controller, can affect how you perceive events in a game, and even how you participate in them, is something that is often explored by us as designers, as gamers, as people, but rarely are we consciously aware of said exploration. In the case of else, it’s a single-player game, but Erik wonders whether it would work better as an MMO, so “everyone could just react to everything.” By this he likely means other players, but seeing long-term emotional residue in character dialogue on the scale of Mass Effect in games outside the RPG genre would be a memorable experience.

However, the experience I’m not sure about, thus far, is primarily the one I’ll have exploring the narrative of else, but only because Erik and his team have yet to actually reveal many details. Luckily, he decides that I am the right person to hear them.

“You come to this city, called Dorisburg..." Erik says, feeling his way around a plot in flux. "You’re just a normal guy who comes to a new city, and you’ve gotten a job to sell something there — probably soda. You come there and you live in a hotel, and you try to get to know people there. Then you get sucked into this world of... the city’s pretty strange, you realise. It has these factions: a ministry of computing, a group of younger people who have some kind of underground, hacker society that you kinda wanna be part of, because they’re cool. And you fall in love with a girl.”

As storylines go, it’s nothing that’s going to slam-dunk your brain with its originality, but that isn’t going to be what makes or breaks it. Handing people a new set of controls, specifically lines of code, and saying “change this to progress” is going to freak them out, and it’s a unique selling point that helps boost the popularity of the bedroom coder, the lone dev — exactly the sort of figure being championed in gaming pop culture right now, Minecraft creator Notch being the most notable example.

else is going to change how we view our options as players seeking to control what happens in a fictional universe. There are no cheat codes, no short bits of language that do all the work for you. You write what you want to see, and if you’ve paid attention and learned well, the game will reward your meddling with progress. It’s Scribblenauts gone insanely nerdy, and I can’t wait to jump in feet-first.

Different contexts, game mechanics and genres demand different degrees of control. Minecraft wouldn’t really work as a linear game, and Uncharted can only work using that approach. What else is proposing is simply a different control scheme. But the path that design choice leads down, leading towards emotional manipulation of your escort-quest character at a code level, or simply deleting a door and watching a group of enemies react to your destruction of the laws of physics, is exciting.

if (control === choice) {
console.log(“An experience worth remembering.”); }
else { showFace(sad); }

Comments

I should really open those Codecademy emails.

Meanwhile, I'm excited to see how much participatory narratives are expanding lately. To my mind, this fits in there right alongside the Mass Effect 3 ending discussion.

As a programmer, I am super excited about this game. It makes me think back to how awesome it was when I first discovered Space Chem.

And as a pedantic programmer, you should really move that last semi-colon inside the curly brace.

AnyLameName wrote:

As a programmer, I am super excited about this game. It makes me think back to how awesome it was when I first discovered Space Chem.

And as a pedantic programmer, you should really move that last semi-colon inside the curly brace. :-P

Really? I thought it went outside, but I'm learning, still. Will shift it. A programmer on the Rock Paper Shotgun thread about the game a while back pointed out that the game's title isn't correct code, either.

The Bonus Boss should be Edsger Dijkstra, that would be awesome.

CY wrote:

Really? I thought it went outside, but I'm learning, still. Will shift it. A programmer on the Rock Paper Shotgun thread about the game a while back pointed out that the game's title isn't correct code, either.

Hehe, well if you want to throw it back at him (her?) you can point out that the game's title doesn't have enough syntactic context to know that it's a language that actually requires semi-colons, but that's probably going to open a can of worms that you'd rather leave closed. I hope you enjoy CodeAcademy, I watched over my wife's shoulder as she used it for a first exposure to programming and it looks very well done.

AnyLameName wrote:

I hope you enjoy CodeAcademy, I watched over my wife's shoulder as she used it for a first exposure to programming and it looks very well done.

It's great! Finished the first HTML course and project pair today.

I've been approached by people, including my wife and kids (by proxy, at least), about learning how to program. There is frequent mention of late of how important it is, or will be, to understand how computers do what they do for us. In even the simplest of syntactic tutorials, a la CodeAcademy, the author typically assumes a comfort with the abstractions inherent in a "computer program." Folks already tinkering with some sort of language, whether markup or programming, are usually comfortable crossing that bridge, but for some, the bridge needs some work.

What I gather, from else, is that the game context provides this bridge. I've wondered at ways to create this, by defining some set of tasks and their context, and helping my wife make her way through that. Recently I've toyed with the idea of making a spy game out of it, using geo hashes and fake email addresses/web sites, drop points, etc. Could even work in some rudimentary mathematics, e.g., create an algebraic group of items and their interactions (binary operations) and unveil the algebraic structure only after it's constructed (else the player's put off at the idea of "doing math"). else kind of does that work, and the visual part will really help some.

Can't wait to see it.

muraii wrote:

I've been approached by people, including my wife and kids (by proxy, at least), about learning how to program. There is frequent mention of late of how important it is, or will be, to understand how computers do what they do for us. In even the simplest of syntactic tutorials, a la CodeAcademy, the author typically assumes a comfort with the abstractions inherent in a "computer program." Folks already tinkering with some sort of language, whether markup or programming, are usually comfortable crossing that bridge, but for some, the bridge needs some work.

Have you looked at Scratch or Greenfoot?

wordsmythe wrote:
muraii wrote:

I've been approached by people, including my wife and kids (by proxy, at least), about learning how to program. There is frequent mention of late of how important it is, or will be, to understand how computers do what they do for us. In even the simplest of syntactic tutorials, a la CodeAcademy, the author typically assumes a comfort with the abstractions inherent in a "computer program." Folks already tinkering with some sort of language, whether markup or programming, are usually comfortable crossing that bridge, but for some, the bridge needs some work.

Have you looked at Scratch or Greenfoot?

Even taking a look at App Inventor (if it even comes back) or StencylWorks would be good - both use Scratch's drag-and-drop jigsaw approach to coding, and Stencyl will happily show you the actual code as well as the more visually-friendly layer above both.

Did you forget any kind of a link to the game? Is there nothing more to read about?

Malor wrote:

Did you forget any kind of a link to the game? Is there nothing more to read about?

It's not been released yet, but you can follow the developer's discussion here.

Malor wrote:

Did you forget any kind of a link to the game? Is there nothing more to read about?

Sorry about that, Malor! You're totally right. But no, at the moment there's not a shedload of information out - in fact, I think/hope some of the details in that article might have been exclusives!

CY wrote:
wordsmythe wrote:
muraii wrote:

I've been approached by people, including my wife and kids (by proxy, at least), about learning how to program.

Have you looked at Scratch or Greenfoot?

Even taking a look at App Inventor (if it even comes back) or StencylWorks would be good - both use Scratch's drag-and-drop jigsaw approach to coding, and Stencyl will happily show you the actual code as well as the more visually-friendly layer above both.

My younger boys have played with Scratch, but just as my very-youngest typically runs amok in Minecraft rather than taking too much time trying to plan things, it hasn't really stuck. In fairness, I haven't sat down with them and shown them much.

I'll take a look at Greenfoot, but these environments still seem to presume comfort with abstraction that a game like else might help bridge.

muraii wrote:
CY wrote:
wordsmythe wrote:
muraii wrote:

I've been approached by people, including my wife and kids (by proxy, at least), about learning how to program.

Have you looked at Scratch or Greenfoot?

Even taking a look at App Inventor (if it even comes back) or StencylWorks would be good - both use Scratch's drag-and-drop jigsaw approach to coding, and Stencyl will happily show you the actual code as well as the more visually-friendly layer above both.

My younger boys have played with Scratch, but just as my very-youngest typically runs amok in Minecraft rather than taking too much time trying to plan things, it hasn't really stuck. In fairness, I haven't sat down with them and shown them much.

I'll take a look at Greenfoot, but these environments still seem to presume comfort with abstraction that a game like else might help bridge.

Greenfoot's definitely more abstract than Scratch. Some folks think that Alice is a good in-between.

I'm working with my older son in SmallBasic currently.

http://www.teachingkidsprogramming.org/ has some good resources for it as well.