Wot I Think: else Heart.Break()

It was three o’clock in the afternoon when the drugs began to wear off. I was sitting on a bench waiting for the factory workers to leave the building behind me so I could sneak in and steal some important files. The drug in question was a nameless multicoloured square that speeds up time. I took it so I could break in sooner but I had accidentally clicked on the screen, interrupting the effects. I looked in my bag for more drugs. Nothing. But I did have a cigarette. What if…?

I got out the cigarette and hacked it. I typed ‘FastForward()’ into its code and then took a quick puff. It worked. Seagulls started flying around me in timelapse trails, rain came and went in seconds, the sun went down, and the workers scuttled out of the factory one by one. It was 7.30pm. Time to get to work.

Else Heart.Break() [official site] is a remarkable game. It opens as a restrained point and click adventure game set in a colourful Scandi future and blossoms into an open-ended cyberpunk Bildungsroman where you can hack coffee and cinnamon buns so they make you more attractive. If you’re already interested, please be careful. I’m going to skip on story spoilers as much as I can but so much of the game involves creative problem solving that you will miss out on some of the magic if you read the solutions I’ve come up with. Maybe you should read this after playing.

Still here? Okay. Let’s talk about Dorisburg. This is the city you find yourself landing in near the start of the game. My first night in Dorisburg I spent looking for some cans of beer to share with the homeless man on the bench outside my hotel. But since the entire city is open to you right away you can do pretty much whatever you want. There’s a popular cafe, a park, a casino on a boat, shops, apartments. The only idea of what you should do comes from the game’s opening phone call. You are employed by an ailing soda company to sell fizzy drinks. Apart from this compass needle of plot, the city is yours to explore. And what a city. Dorisburg is built like an intricate piece of clockwork. Characters go from place to place according to their individual schedule. They’ll go to work, head to the cafe, then off to a house party. I always knew, for example, that my supervisor at the soda job would be outside the nightclub smoking every night at about 10pm. In the early hours of the morning, he would chill out on a bench in the plaza.

None of this is new to games, of course, but the mechanical nature of it is important for reasons you’ll discover later. And it recreates a certain nostalgia for old games when “emergent gameplay” (yuck) meant knowing what time the shops would close. Here, the freedom to explore this mechanical city is probably one of the game’s greatest strengths, as well as its earliest problem. You can easily lose sight of what you need to do to move the story along, and although a map can be found early on, it is not very helpful in getting yourself oriented. It was probably the three hour mark when I finally joined the mysterious group of hacktivists and coders you are meant to associate with. But again, part of this is because I spent so much time wandering around, going to the nightclub ‘Yvonne’ and getting drunk with my homeless friend.

Messing around does give you a clue about upcoming events, however. There was a moment early on, for instance, when my supervisor showed me the computer outside the soda storeroom. I looked at it and realised that the company wanted the sales people (ie. me) to record all sales as we go. I decided to cook the books and typed in that I had already sold “$1,000,000” worth of soda. Immediately, my credit balance reeled into negative figures. I panicked and tried to type in “-2000000” to the same computer, thinking this would fix it and leave me a million dollars up. But it only made things worse. The soda company obviously expected me to make the sales and collect the money BEFORE registering them, taking the cash directly from my wallet. In the end, I was three million dollars in debt and still a soda salesman.

In my entire career as a soda man, I only sold one can. But Heart.Break is not really a game about selling fizzypop. It is a game about becoming a hacker to impress a girl. You meet Pixie in the nightclub and arrange to go to a gig with her the next day. Reportedly, this is a fun gig. I say “reportedly” because I passed out blind drunk two hours before the show, in an alleyway outside the hacker group’s secret underground HQ.

Later, I was given my first “modifier” by one of the city’s more brusque denizens. At the risk of sounding like a 4channer, this is the red pill moment. Get a modifier and the true scale of the world reveals itself and the game flips from being an adventure game with romantic undertones to being a mind-expanding trip through code. Almost every usable item is now hackable. And I do not mean in a gimmicky way. I mean there exists a whole complex and intricate programming language called SPRAK (based on BASIC) that governs the effects and properties of each object.

For example, the first thing I inspected was a trash can, sitting under a cherry blossom. The code for this read that if any floppy disks or keys were thrown in, they should be transported to “MonadsApartment”, wherever the hell that was. Otherwise, the bin would “Delete()” it. I realised I could reword this code to make it so that any floppy or key thrown in would be transported to MY hotel room, or anywhere else I wanted, so long as I knew the correct name of the place.

Unfortunately, I did not know the names of any places. This is one of the game’s challenges. It becomes about learning the vocabulary of SPRAK and Dorisburg. But even if you are not too hot at code, the game is generous with what can be accomplished. I went back to the soda company’s sales computer with my new found superpowers and hacked it. By deleting a single minus symbol from the code I figured out a way to credit my account with the three million dollars I needed to escape my horrific overdraft. I was back in the green! A positive balance of $36!

So you don’t need to be able to write whole “sentences” to have fun. Most of the game allows you to saunter through just modifying bits of existing code, or copying and pasting other code on the floppy disks strewn across the city. Still, the sheer possibility encourages you to be playful. I hacked buns, beer, coffee, flowers, turtles. Once, I hacked a glass of liqueur so that it would make me smell great AND make me impossibly drunk. Then I thought: why stop there? I added the lines: ‘Charisma(100)’, and ‘Say(“Wonderful!”)’. My thinking behind this last hack was that drinking the liqueur would make my character say how refreshing it was. But obviously, the code pertains to the object itself. So now I had this new superdrink that not only made me beautiful, fragrant and drunk, but also exclaimed “Wonderful!” anytime I drank from it.

But this isn’t the limit of SPRAK’s joy. It’s just the start. Apart from the cigarette I hacked to bend time to my will, I also hacked doors so they would take me to places streets away. I hacked together a device that revealed a person’s name and how charismatic they were. I hacked innumerable beers so that they gave me energy to run, instead of making me drunk. And I threw together an extremely inelegant program that allowed me to teleport from one end of the city to another through any compatible machine using the dubious ‘Slurp()’ function. I pasted this code on a floppy disk, and carried it around with me, so I could copy it whenever I needed to. It was garbage code, but it worked and it was mine.

Yet no code I whipped up or mutilated made me as happy as the code I wrote on my hotel room key. Each locked door in the game has a keycode which can be (as far as I know) any range of numbers, from a single digit to tens of digits. But lots of them seemed to be five digit codes or less. I began hacking my hotel room key and instead of having it just operate my own door’s code – ‘Toggle(1111)’ – I concocted a script that cycled through 99999 combinations whenever it was used on a door, then cracked it open if it landed the correct keycode. I tried it out on the hotel room next to me. Click! It worked. I had made a cracker that could bruteforce almost any door. At this point, I felt like Edward fucking Snowden.

Cracking stuff.

Obviously, I am in love with Heart.Break(). But it isn’t without its pains. The camera, which takes a quasi-isometric position, is often a jerk. You can change the angle around and zoom in and out with the WASD keys, but buildings and objects will still sometimes get in the way from all angles. It will also periodically swing down to a lower angle during story moments and then forget to swing back up so you can see more clearly.

The story and dialogue itself is also super simplistic. I actually appreciated this more and more as the game went on. The whole thing had a flavour of Final Fantasy about it – you join a band of activists in an unfamiliar city, fall in love with one of them and fight against a mysterious and dodgy regime. At the beginning, the romance angle made me tut. It is a pet peeve of mine when games try to force a very particular romance on you when the game is otherwise so open-ended. It is obvious and necessary that your character is trying to find Pixie because he fancies her, because all your conversation options are about how you “have to find her!” or “just need to see her again”. And she rightly points out, when you do find her, that this is the behaviour of a creepy stalker.

Apart from that, I quickly just let the story’s JRPGish simplicity take hold. I learned to love all the fellow hacktivists, and all their heartrendingly cool lives. Their side gigs as DJs, the way they fell for each other, the way they always had a house party after an illegal break-in. And all this hipster pathos achieved with the tiniest amount of dialogue and some cool neon clothes.

Here’s a real-life side note. When I was 16 years old, a teacher told me to work at something I loved. I loved videogames, that was easy to figure out. And I was good at both computing and English. So there appeared, somewhat fittingly, a binary choice to make. I could program games, or I could write about them. You can see plainly what I decided to do. else Heart.Break() is a game that makes me regret that decision.

But it also glows with genuine warmth and encouragement. At a late stage of the game, I would find a floppy with no code on it, just some comments about programming and why people should not be afraid to try it. A micro-treatise on coding. This simple floppy felt to me like the real ‘heart’ of the game. else Heart.Break() helps you to see programming for the magic it is. It may have made me feel I had neglected an entire realm of the world. But it also showed me that it’s never too late to learn.

else Heart.Break() is out now for Windows, Mac and Linux from Steam, GOG and Humble.


  1. caff says:

    Interesting. Mr Walker found a lot of faults with this in his impressions piece. Good to have a different perspective I guess.

    • Jac says:

      I picked this up after John’s piece as it seemed that there was enough in there that id enjoy despite him bouncing off it.

      Have only played a couple of hours but have a good feel and from this review I haven’t even scratched the surface.

      My only disappointment is the dialogue, touched on in the review, but it leaves me very cold. I think its because the devs are Swedish(?) so it just doesn’t come across very naturally at all (obviously understandable if it’s a self translation but would be nice if somewhere down the line it could be updated)

      • LimEJET says:

        I’m playing it in Swedish, and the language is very informal and uses a lot of weird colloquialisms that really don’t transfer very well. The dialogue still feels sort of cheap, but it’s cheap in a way that I recognise.

        • Angstsmurf says:

          I haven’t played a lot of it yet and not tried it in English, but I find the Swedish dialogue pretty good. More naturalistic and true to life than most games, sometimes too close to home.

    • padger says:

      You guess?

      For me that’s indicative of the best websites. RPS actually makes a thing of the subjectivity in its tagline. It recognises that people are different, and that’s there’s no universality of taste or interest. People will be like John and bounce off, people will be like Brendan and write gonzo noodle in response to it. Other people will react differently still.

      To conclude: I think RPS’ editor(s) has the smarts to realise this complex and difficult game needed a full and proper review, from another viewpoint. It got one, we all benefit.

      • caff says:

        Fair point! I’ll actually have to use my brain to decide whether to pick this up.

  2. theycallmeIRISH says:

    Very nice article. It definitely has me interested in the game.

  3. Merlin the tuna says:

    Haven’t played it, but remembering John’s Impressions piece, I’m a little surprised that they don’t (A) give you a basic journal early on, and (B) give you a read-only access to code up front. That sounds like it’d have been a much better intro than “wander around aimlessly for hours until you figure out how to start the game.” Especially if the journal is only semi-functional! Let it cover the basics to start, then throw in a few options that either don’t work correctly (requiring you to fix up existing code) or simply spit out a “Coming soon!” message (requiring you to actually write them).

    Purposefully making certain aspects of the game obtuse with the expectation that you’ll hack them in more convenient ways is a cool idea, but this sounds a little like teaching someone to code by giving them a blank text editor and walking away.

    • bonuswavepilot says:

      Hmmm… Should preface this by saying I’ve not actually played the game yet (though I plan to), but wandering around for a while before you gain the hacking tool could be a good way both to introduce the world as it runs normally before you start messing with it, and for you to naturally accrue some hurdles that hacking will allow you to bypass. I suspect how well it works in practice will come down to how linear the ‘main quest’ plot is – having to hunt for the proper thread just to end up on rails would be quite annoying, but in a decently put together sandbox or knot of sidequests it could work I reckon…

  4. silentdan says:

    Thanks for writing this, Brendan. Walker and I have very different tastes, so it was great to hear from someone else on this game. In fact, I went ahead and bought it. As a software developer, I’m really looking forward to some reckless, irresponsible coding that won’t get me fired. :)

  5. Ivan says:

    It’s weird that one of the tags for this article is simultaneously interrogating and emphatically expressing emotion at me.

    I don’t know if that means I should get this game or what.

  6. Damien Stark says:

    “becoming a hacker to impress a girl.”

    Now there’s a phrase you don’t see often…

  7. anHorse says:

    What if I don’t give a shit about coding (and know nothing about how to do it)?

    There’s so many games of late that seem to assume the player is an amateur programmer

    • JuJuCam says:

      The game features enough tutorialising to get you through and teach you the basics of how to code, and you could progress through the game pretty far by simply copy and pasting useful bits of code and modifying bits and pieces. I suspect amateur programmers would in fact be frustrated by how slowly the game introduces programming features in the in-game language, and how unnecessary the high level stuff is to progress.

    • horrorgasm says:

      If only there was some alternative option that you could select to deal with games you have no interest in. If only…

      • anHorse says:

        It’s not a case of having no interest, if you’re going to be a condescending twat get a grasp of basic subtext first.

        It’s an issue of not having a skill that the game may require (see human resource machine for a game that absolutely requires coding knowledge) and having no interest in learning said skill purely to enjoy some games.

        • Spakkenkhrist says:

          But if coding is the core game mechanic then clearly that game isn’t going to be for you.

          • cpt_freakout says:

            The OP didn’t say “I hate coding”, he just said he didn’t care for it. The question was: if I don’t know anything about coding, will this game be easy for me to get into? I think it’s a fair question, it’s not demanding anything from anyone like I think you’re assuming it is.

          • Spakkenkhrist says:

            I was replying to the guy above me not the OP, and I think it should be fairly obvious that if a games core mechanic is something you don’t enjoy or have an interest in learning it’s not going to be something you’d want to play, and it doesn’t prevent you from playing other games that don’t involve it.

        • Writhe says:

          see human resource machine for a game that absolutely requires coding knowledge

          No, it absolutely does not. Sure, it involves coding, wrapped in a convenient metaphor and introduced along a rather gentle difficulty curve. But no, you don’t have to take any CS courses to enjoy the game.

  8. JuJuCam says:

    Point of information: SPARK is based on Ruby, it only shares as much in common with BASIC as any modern language does. It’s quite a bit more interesting to use and useful to learn, too – Ruby is in the top ten most popular programming languages in use today, and one of the top three for back end web development, and it’s part of a language family that includes pretty much all of the other popular languages.

  9. Laurentius says:

    I totally picked this seeing John Walker trashed it, same with Tis-100 and SR:HongKong. This site still has its uses as place for finding recomendations for new and unknowen games, It’s all a bit other way round as it should be as seeing glowing reviews for Mushroom 11 and Downwell on RPs I am lik meh.., Maybe in a half year this will wear off and I will pick them too.

  10. JiminyJickers says:

    I definitely enjoyed this game. It has many many bugs which may require a restart, but the story is very short too. Most of the fun for me came from reprogramming things and finding secrets.

  11. Jeeva says:

    Well, I’ve been converted from avoiding the game to actively seeking it out. Sounds much more fun!

    …is it appropriate to stick the RPS Recommended tag on it, though, given the 50%-of-publicised-opinion thing?

  12. Cederic says:

    So basically the game’s title is describing your reaction when you stop playing it and realise the real world doesn’t work that way?