Saturday, 26 January 2013

Making of: Under a Seering Sky

Under a Seering Sky

Under a Seering Sky is a web gamebook about a sci-fi world of cyberpunk hackers struggling to survive under big brother and a zombie outbreak. Click here to play.


While growing up in my teens i used to read a lot of fantasy. In fact i almost had the complete series of Fighting Fantasy books. Used to spend evenings locked in my room with multiple fingers of one hand marking different pages on the book while the other hand would cheat a frustrated dice roll and pretend my 7/12 character was actually good enough to beat a 12/10 giant worm or something.

The imaginary of those books had a certain call and fascination about them. When i began coding on the ZX Spectrum one of the first games i developed was a haunted mansion interactive fiction type of game. I didn't actually like playing that genre of games, I recall trying to play The Hobbit on the Spectrum and never getting very far. But i had just learned coding BASIC so the graphics of the good games was still unachievable. These kind of text based games were the ones i could invest my creativity into.

When i got a PC and started learning Turbo Pascal on MS-DOS, again those where the kind of games i developed before i started programming graphics. They were all crap, and i'm unsure if any copies of them are left anywhere, but i made them, they were mine, i invented the story, i invented the monsters, i decided the plot, i decided how the player would die! And that was a great feeling i had back then, the feeling i could create other worlds for people to explore.

I never played Zork, I liked graphic adventures much better. I disliked the interface of the first Leisure Suit Larry, where you had to figure out what you're supposed to type. It was impossible for anyone to know all the possible interactions, and that just made it frustrating. Clicking on things made much more sense. I disliked the Quest series, mostly because you could randomly die at any point. I disliked Goblins III for the exact opposite reasons, you couldn't die but you also couldn't progress, you would just get stuck in the same screen clicking everywhere you could think of clicking and not really making any progress anyways. That didn't feel like a game, it felt like bruteforce. It was equally frustrating.

When i got more into computer stuff i discovered the so called cyberpunk genre through different games and movies. Mostly Dreamweb made a big impact in me. It was very graphic and raw, the ambience it created was superb. Ghost In The Shell anime was also a big influence. Around 1997 i wrote a sci-fi short novel which i later converted into a movie script. My goal was to make it into an animated movie some day. It got thrown into some backup cds encrypted with a password i probably don't even remember anymore. I abandoned writing and focused on learning how to produce music.

Years later, in 2012, i find myself paying less attention to music and wanting to take on writing again. One night, out of insomnia and without putting too much premeditation into it i write the first chapter of Joey Crass, a sci-fi short novel about a depraved and socially inept hacker kid living in a messed up world where artificial intelligence controls society and a zombie outbreak is happening. Joey has to earn his credits by running illegal hacker missions online, most of them with zombies who got chip hacked. Guess i was inspired by having read The Walking Dead recently.

I wrote a couple more chapters, revised them abit and sent them to a few graphician friends of mine with the intent of trying to make a comic out of it. They ofcourse ignored the email or told me it was too much work. One of them told me it reminded him of Neuromancer. I had never actually read Neuromancer before, believe it or not. Only had read the 1 chapter comic adaptation of it. So i actually borrowed a copy of the book soon after and decided to take care of that. Great book.


A month ago i noticed a competition for Interactive Fiction (IF) entries at a demoparty in Boston. I recalled the old days and decided it might be cool to have a go at it. In fact, ever since having seen the Get Lamp documentary and played Nullsleep's Void Gaze that i had been yearning to do something in that area again. I did not want to make a typical get lamp go north go east open door eat grue kind of thing though, so i immediately started thinking on how to enhance the experience.

I had been trying out some things with Dan involving javascript canvas element, so i thought "wouldn't it be interesting to include animation graphics on the game?", to represent the state of mind somehow. We could have those instead of the occasional illustrations that these games usually have.

I took a look at Inform 7 and if it could be made to work on a browser. It can, but i felt like i was learning a new "natural" programming / scripting language especially for the project. It felt stupid. Plus i considered it would be hard to hack these libraries to combine it with other javascript things i was envisioning such as playing sound, canvas animations, complex puzzles, etc. So i dropped the idea of a traditional interactive fiction using Inform 7 and thought of a gamebook style of interaction instead.

I wasn't even aware these things were called gamebooks at this point, didn't even knew computer games based on this system existed, but i figured it probably did so i looked it up. Some research online made me realize there was actually a strong community of folks who had migrated the definition of a gamebook into a computer game genre. There was also an ongoing dispute within IF circles discussing if gamebooks are considered "real" IF. Some claim "real" IF requires a world and language parser, or atleast having puzzles instead of pure plot branching. Now, if you know me, you should be aware of what my thoughts are on any "real" definitions of anything. I don't care much for them. I just want to make something cool with my ideas. Categories are good for references, not to serve as bounding boxes.

So now apparently i was developing an IF / Gamebook for the browser. "How can it be improved with todays technology?" That was my challenge. Compared to standard IF, i could easily do more advanced things with state machines, variables and algorithms than if using a standard language parser. And compared to gamebooks, i could also do more complicated puzzles and interactive things. Having a programming language to abuse that books never had. Even modern videogame adaptations of the gamebook genre tend stick to those deprecated formulas of rolling dice and entering your paragraph. It might have a certain nostalgia charm to it but it completely wastes the potential of the platform, which in my case was the modern day browser. Of course different folks have different motivations to chose their battle grounds, and they might be just as valid for them as these are for me, but these were my own reasonings and ethos for action.

I wanted to do something immersive, something that didn't explain itself to the reader. I always preferred those kind of scenarios, the kind where things aren't explained to you and you just have to explore your way around to start to make sense of it all, to figure out the rules of the game. At the same time i wanted to do something that could be finished victoriously on a first attempt. Provided the reader was careful enough while playing ofcourse. Might not happen for some folks, but i tried not to make it completely random choice, always giving a slight hint to the right course of action.

So i got started work on a new story, based on the world of Joey Crass. Developing a storyline as more forks were branched. Eventually i came up with the koreans situation. I then decided to focus chapter 1 on escaping the koreans. Chapter 2 on unveiling the world and thickening the plot. And chapter 3 was left for the conclusion. I must confess i ran out of time on chapter 3 so the ending was a bit sloppy. Might still improve that at some point. Revising chapters 1 and 2 with more graphic animations and soundtrack felt more important at the time.

Wanted to keep the graphic animations abstract, not use actual illustrations. The idea was to let the user imagine the world for themselves instead of showing it to them. That is what sets the literature and game worlds apart after all, the former always leaves more room for the reader to imagine how things are, the latter aims for immersion.

Adapted two libraries to run with the project. The first one StripThis by KesieV, an awesome webcomic tool, which was used to picture an instant messaging interface in the game. The second MetaGenHaiku, a javascript generative haiku system developed by myself a few years ago. This was used to create generative haikus which were used as part of a puzzle in the game.

As the project was being developed i was tweeting about it and got some folks curious about the project. I sent a few mails and got help from Dan, Antti and Timo to polish things up. Also asked Havoc to deliver the entry at the partyplace to earn a few extra days for development. Finally finished things up the best way i could. And waited for the competitions to show on the party stream at scenesat.

The entry was shown in the wild competition. The audience seemed interested with it and clapped in the end, so things were looking good.


The day after the compos i got a mail saying the entry was disqualified. I mailed them back asking why, tried catching the orgas at irc, no reply. Later on got another mail saying i was undisqualified, "but just barely", still not mentioning why. I dismissed it on organizers being busy organizing and waited for the compo results. Looking back it might as well had gotten disqualified since it ended up being placed last in the compo. Was quite a disapointing outcome after all the time i invested in it.

On the bright side i got a few people playing it who told me they loved it. That motivated me to iron out a few bugs, add support for Safari, place it online and announce it as an Enough Records experiment. For those who don't know Enough Records is the netlabel i curate and where 90% of the soundtrack from Under a Seering Sky was taken from.

The source code is available at github.

This report was originally posted at The Herring and xDA.

No comments:

Post a Comment