Designing Au Contraire

Briefly, I was thinking today about being contrary as a design position. I am a fairly contrary person, particular when it comes to philosophy or ideology etc. If someone says something with conviction or takes something as a given, I always want to prod away at the assumption involved. To the point of being pretty irritating to those closest to me (those who I’m not so afraid of irritating, in short). Ask my dad, and if he ever stops rolling his eyes about it he’ll confirm.

Anyway I was doing Unity’s 2D Roguelike tutorial because I’m currently in the business of learning Unity so that I can entertain myself making highly limited 3D environments to see what that’s like. At one point they talk about implementing the Singleton Pattern for the Game Controller as being an important step (i.e. code to make sure there’s just one). The point being, they say, that obviously you don’t want multiple Game Controllers roaming around your game contradicting each other or implementing the same thing twice or whatever.

And I thought, “au contraire, mon frère…” Because it would be pretty interesting to play a game that had multiple, disparate game controller objects, each striving to be the one that determines how play should proceed, when events should trigger, what points should be assigned, and so forth. In some ways it would be a game being played by game controller objects in which you are the ball?

Anyway, who knows where that could go – my point is just that often going at top speed in the absolute opposite direction to an assumption, a heuristic, a conventional wisdom, can be fun and might even lead to a “good” “game” “design” “idea”?

Or au contraire?

Let’s Play: The Shining

All work and no play makes Jack a dull boy! All work and no pllay makes Jack a dull boy! All work and no play makes Jaca dyll boy! All work and no play makes Jack a dullboy! All work and no plaay makes Jack a dull boy!

PLAY Let's Play: The Shining

Let’s Play: The Shining is based on Stanley Kubrick’s movie The Shining, which was in turn based on Stephen King’s book The Shining. It was written in Haxe using the HaxeFlixel library. The music and sound effects in Let’s Play: The Shining were made with a combination of bxfr, Bosca Ceoil, and Audacity. The graphics were made in Pixen.

You can read my writing about Let’s Play: The Shining on my blog or even read the Let’s Play: The Shining press kit. Let’s Play: The Shining was covered on Kill ScreenMadmoizelle, and iHorror.com.

Play Let’s Play: The Shining in your browser

 

Making Sound for The Shining When You Don’t Know Anything About Sounds

Bah bah bah bah bah bah bah bah bah

I guess this is intended to be a “process post” about making the sounds and music in Let’s Play: The Shining, but it has the special(?) quality of being about a subject I know very, very little about. So really it’s about muddling through the sounds needed for a game like this, and how I managed despite my deficiencies. I can still imagine it being helpful, though, to those of you who are similarly at sea with sounds/music yet are simultaneously determined to do it themselves. So.

The easiest sounds were in the category of “anything I can make in bfxr“, because that’s a truly great piece of software for you if the kinds of sounds it makes fit in with your game aesthetic. If you haven’t used bfxr before, you’re missing out – frankly, even if you don’t make games it’s a lot of fun to click around in. It has some pre-established categories (like “laser” or “hurt”) that put together a “kind” of sound, and then you can tweak an impressive array of buttons and sliders to fit it to what you want. I generally find myself doing a lot of tweaking, but I suspect it’s at least half because I want to feel like I exerted creative agency, more than that I’m improving the sound. Most importantly, it’s a tool that gives you a “draft” sound more or less instantly, which is always the hardest bit. The tweaking is then like a little game of itself as you search for the “right sound” of whatever you’re doing (a baseball bat swinging, a head being hit, a ball being caught).

The hardest sound effect for me was the sound of Danny’s tricycle when it’s on a non-carpeted floor. The sound of the tricycle is an iconic part of the movie, so it had to sound at least evocative of that. To make that sound (which let me say up front I don’t think worked perfectly at all) I used Audacity, because I wanted something that would loop. So began an appalling process of combining different generated tones to try to make something approximating the tricycle on hard flooring (that is, something that would sound like that would sound in a game, so a kind of second order thing). As I said, I don’t think I got it right, but it was kind of fun playing with different frequencies of saw waves and square waves and sine waves overlaid. I found something, but then got feedback that it sounded too low, so started from scratch and made something a bit higher but with a lower tone in the background. All in all it was a great insight into how freaky-smart sound/music people must actually be, given their ability to construct these sorts of sounds with some confidence and naturalness.

Finally there’s the music. In a sense this was “easy” because the music already exists. I spent a fair while trying to piece together the opening theme on the keyboard in Garage Band and got close, but managed to have it in the wrong key (I’m not a pianist). Then I realised that this is the kind of thing you can look up online and found the notes nicely written down. The closing song (Midnight, the Stars, and You by Al Bowlly) was a bit harder because it proved difficult to find the melody written down anywhere (I did find guitar chords). Eventually I solved this when I found someone playing the tune on YouTube with a top-down view of their fingers on the piano and transcribed the notes manually. With the notes established I used Terry Cavanagh’s excellent little music tool Bosca Ceoil to actually sequence it. This did involve a slight “misuse” of Terry’s program, which isn’t designed for melodies of this kind (it’s more for looping music, which it’s great at), but it was fine to break the melody into chunks that fit into Bosca Ceoil’s “patterns”.

Then it was just a matter of choosing an instrument. I started off being a purist about only using classic waveforms (saw, sine, square), but actually ended up using “Triangle Lo-Fi”, which has a warmer sound to it, for the closing theme, and then decided to just use that for the opening as well. Part of “being able” to use that instrument (which sounds ‘nicer’) was all tied up in that same struggle to establish within myself that I wasn’t making an authentically Atari-style game and could thus afford go more for things that felt right for the game/movie rather than for the imagined platform. Weird problem to have, but it’s a real one.

Anyway, that’s how the game sounds the way it does. Hopefully it’s vaguely novel to see how someone a bit inept struggles through and gets (what I think is) a pretty okay result!

On Being Blessed, a response to Dan Cook’s Minimum Sustainable Success

A post called Minimum Sustainable Success by Dan Cook has been doing the rounds on Twitter recently and so I read it because people were saying it was good. And it is pretty good, especially if you’re a bit games+money minded – as I am not. It’s a hard look at how you might address and perhaps even mitigate some of the enormous risks and problems involved in getting into the making-a-living end of our beloved videogames.

In there, Dan brings up the “supportive spouse or family” category of game developers and points out that people don’t often “admit” to being in this one, with the idea being that it’s a bit embarrassing, and that it should be talked about more to add perspective to this crazy thing called “how the hell am I supposed to make the games I love and also live at the same time?”

Fortunately I have no shame, and so I’m writing this to represent one data point of the “supportive spouse” crew. Are we legion? I don’t know. I’m definitely one of us, anyway. Hi, here’s my life story (of privilege).

So, I started making games back in 2011, which now actually feels like it’s a little while ago, but this story goes back longer than that because I’ve also been a “writer” with a supportive spouse as well. Basically I have a supportive spouse: her name is Rilla. We met and fell in love and felt generally enthused about each other beginning in 2002. We started and completed PhDs, ending in 2007, and got married at the beginning of 2008, at which point we didn’t know what to do with our lives. Cue supportive spouse mode.

For a year we lived in Ottawa, Canada, where Rilla had a postdoctoral fellowship at Carleton University. We semi-shared that one, two people doing the work of two for the salary of one. It was fun, we didn’t have much money, I started writing about games. Then we both applied for one job at IT University of Copenhagen, both made the shortlist of three, and then Rilla got the job because she is quite literally a better academic than me in every way (hi potential employers!). So we moved to Copenhagen in 2009, with Rilla as the “lead husky”, earning our keep.

Meanwhile, I kept being a writer and published a book that obviously didn’t make any money. I got contract-based teaching work at the university after a little while, which did make quite good money, and so was gainfully, if only partially, employed over that period. Still, Rilla was the one making the major amount of income. This became even more true when she got a new job at the University of Malta (as an associate professor no less!) and my part time work paid rather less than it did in Copenhagen. Now we’re moving to Montréal where I will once again be part time (though less part time) at Concordia University and Rilla will be earning the big bucks as an associate professor again.

Through all of this bucks-earning and not-earning, Rilla has been utterly supportive of me spending truly vast swathes of my time making the kinds of games that I make. You know, the kinds of games that seek to make absolutely no money and succeed at that handsomely. You probably can’t eat critical success, and so thank goodness I don’t have to try. (Way back in the early postdoc days in Canada, in fact, Rila even said she’d support me if I wanted to write a novel for a few years – which was something I wanted to do at that point – it doesn’t get more supportive than that.)

So here I am today, making a weird game version of The Shining in complete financial security, with no need to charge for it (and no need to “compromise” my “vision” for financial reasons), because, at base, I am very, very lucky to be married to a frighteningly talented, motivated, and successful woman, and because we’re both rather lucky to be doing well financially in this life (which in turn is very much due to the “supportive family” element – we lived at home throughout our student lives for example).

So, in short: luck and love and being lucky in love. Can’t beat that for a videogames career plan, right? Off you go.

The Code Comes Shining Though?

Danny

I’m still working on this game I’m calling Let’s Play: The Shining. I’ve already written the two little things I had on my mind initially, but I also have other half-baked nonsense to put down, and since I have no real sense of an audience to this blog, I think I shall just feel completely free to write it on out. So the other thing I was thinking about something like this…

I was making the scene in which Danny rides his tricycle around the halls of the Overlook Hotel, for which you can see the spritesheet in the header of this post. I’ve generally been searching for “endings” to the scenes in the game, because they don’t always have natural game-based endings. In this particular scene it ends when Danny encounters the twins, as per the movie. So you ride the tricycle into a section of hallway, hit an invisible trigger, the twins appear, and the scene is over.

In my initial writing of the underlying code, when you stop I play the standard “idle” frame of the animation (the first one in the strip above) because that’s the standard behaviour of the sprite – if it stops it is “idle” and so it plays its “idle frame”. That’s obviously fine and dandy. But then at some point I was thinking about the movie and how it feels when Danny stops his tricycle on seeing the twins and the way he stops is that he… well, he just stops. There’s not some resetting to a rest position. Importantly, part of the emotional “point” or “impact” of the scene resides in that immediate stopping, all activity instantly suspended. Which meant that in the game you shouldn’t play a separate idle frame, rather you should stop the animation at the precise frame when the twins appear and Danny stops – whatever position his peddle is in. That is more “true” to the film.

Now this is, I think we can all agree, a very, very specific and atomic detail – which frame of an animation to display at a particular moment in time – but I think it’s really clear, too, that it’s an important detail and that it’s important in relation to the film and to the “emotional truth” of that moment in the film. And I think there’s something quite interesting there. It makes me wonder about all the other very specific lines of code or frames of animation that exist in this game and to what extent they do or do not serve such purposes. Most importantly, I think it’s great that this is even possible, and I think it’s interesting in the context of the idea of “adaptation” and games – particularly because we’re adapting not just visuals or sounds but actions themselves. It’s not just how game-Danny looks or sounds but how he reacts in the moment, and how that reaction is tied to the interactivity, the actions, of the game.

There.

 

What Does The Shining Look Like?

The other thing I said I would write about concerning the current development of Let’s Play: The Shining (which is going very well, thanks for asking) is the setting of the visual style as a way of making my way into being able to make the game. As it happens the visuals is a thing I really struggled with over the last few weeks, but then, on choosing a specific style, I found it incredibly easy to put together the required images. So let’s see… let me show you pictures. This could be embarrassing? Never mind.

I started off mostly doing drawings (in Pixen) to get some vague sense of how the screens could be laid out to encompass some sort of game play (this is obviously after having watched the movie and read the scripts and pulled out scenes in the first place). So these early images looked like this for instance:

Screen Shot 2015-04-10 at 21.33.39

In other words a pretty lazy throwing together of iconic bits and pieces with a garish colour scheme I was claiming to myself was “retro”. Looking back at it (and at, for instance, the Atari colours) I’m not so sure why I thought these colours were helpful. I was also pushing myself into a very low resolution which was leaving me pretty dissatisfied with what I could do – this was another misremembering of Atari games.

Eventually I went and played a bunch of Atari stuff and was reminded of a few things. Notably how much they mix resolutions and detail (e.g. the people in E.T. versus the buildings, say) and how their colours aren’t actually all gross like the ones I was using. In fact, I started wondering if I could actually make this game such that it served as a tribute to Atari games and their mechanics. Leading to something like this:

Stairs

Yes, that’s the stairway scene with the baseball bat rendered as a version of Boxing on the Atari. I was pretty proud of this and I still think it would have turned out rather well. But in trying to commit to this idea of using diverse Atari games as reference points for different scenes, the whole thing felt like it got out of control visually – too much mixed style and colour. And further, I couldn’t always find an Atari game that made sense with what I was trying to do. The typing one was especially difficult, since relatively few Atari games focus on text.

At a certain point I made the kind of heartbreaking decision not to do Atari because it was simply diverting me too much from actually making the game. And it’s not just that it was “hard” (which it was), but much more that the trick of making different Atari-styled games wasn’t really contributing to making a game of The Shining specifically. So I made the executive decision to return roughly to the style of Let’s Play: Ancient Greek Punishment, which is one I like, that is appropriately stripped back and somewhat Atari-like, but also feels fairly contemporary to me for whatever reason. (As a tribute to the Atari idea, I’ve been using the Atari palette.)

When I made that decision, and particularly the decision of what a “person” looks like, making the scenes for the game became rather straightforward. You draw the characters and then you just draw the environments around them based on their size and on reference pictures from the movie, while making sure to abstract away as much detail as possible without killing the settings. Leading to scenes that look like this:

237

And that’s the journey of the visual style for Let’s Play: The Shining! Here are some vaguely embarrassing other images (not in the final game) to round it out with so you can see just how terrible I am prepared to be!

Screen Shot 2015-04-10 at 21.49.30 Screen Shot 2015-04-10 at 21.49.04 Screen Shot 2015-04-10 at 21.48.56 Screen Shot 2015-04-10 at 21.49.50

Jostle Parent

Won’t someone think of the children!? They need food! They need play! They need not to drown! They need not to be electrocuted! Do something for crying out loud! Jostle them!

Jostle Parent

Jostle Parent was made in collaboration with Unwinnable for their Playable project. It was written in Haxe using the HaxeFlixel library. The music and sound effects in Jostle Parent were made with a combination of bxfr and Audacity.

You can read my writing about Jostle Parent on my blog or even read the Jostle Parent press kit. Jostle Parent was covered on Offworld, Kotaku, L’OUJEVIPO, Kill Screen, Superlevel, and Forest Ambassador.

Play Jostle Parent in your browser