JRPG Song Forms

I love classic Japanese console RPG soundtracks like Final Fantasy VII and Secret of Mana. The idea of writing in that style appeals to me. But one thing that saps my confidence is when I struggle to find a section to follow a fragment I’ve already written. I tend to grab at the first possibility, even when the connection is weak or forced.

It would be great to have a general idea of how sections are shaped and connected in these songs.

So today I’ve analysed ten of my fave tracks by Noboe Umatsue (Final Fantasy VII) and Hiroki Kikuta (Secret of Mana 2, Seiken Densetsu 3). I wanted to know:

  • How long are the songs and sections?
  • What elements are repeated, and how many times?
  • What textural and harmonic progressions connect sections?

I ended up with this giant chart (which you can see in full size here):

TMI

Let me try explain this crazy chart. As you can see, I laid out a timeline for each song, boiling down everything in it to the following abstract categories:

  • beats & riffs – 1-4 bars long:
    Sometimes riffs change their note content to match a chord progression. But I still view it as the same riff. E.g., the synth arpeggio in ‘Prelude’.
  • phrases – the units of melody, 2-6 bars long:
    Of course, the judgement of phrase length can be arbitrary. I just decided these cases intuitively, trying to avoid fussiness. So, my chart doesn’t show every little motif.
  • sections – the large-scale divisions

If you’re familiar with sequencer software, you’ll recognise where I got the idea for all this. It’s how these tracks would look in a sequencer’s “Arrange” window: horizontal lanes containing MIDI clips: short, repeated grooves and beats, and longer melodic or chordal themes.

However, I’m not representing every instrument. I use the “Ostinato” lane for any repeating figure or combination of repeating figures, and anything that I deem to be a melody or theme (whether single note, harmonised, counterpoint or chordal) goes in the “Phrases” lane.

I’ve done the jazz musician thing and reduced the harmony to chord symbols. I don’t condone this in general. It’s just to sketch out what’s going on for skimming purposes. And while I’m confessing sins, I also used mode names to describe chords. In a past post I complained about overuse of modes as an explanatory device. However, I think modes are the best explanation for aspects of Hiroki Kikuta’s music.

Let’s analyse!

Now, these are game soundtracks and the structure is first and foremost determined by having to loop indefinitely. Every one of these tunes has a section, the loop, that will cycle for as long as your game character stays in that location or game state (e.g. the battle screen). Four of the songs also have a preceding section that I call the intro.

The looping is part of the aesthetic, providing a hypnotic dreaminess, a melancholy, an escapism into something both boundless and yet safely predictable.

Obviously, looped music needs both variety and smoothness if it’s to avoid annoying the listener.

I never completed Final Fantasy VII (or even played either Secret of Mana or Seiken Densetsu 3) but I remember songs getting annoying when you had to redo a task too many times, like the Chocobo race. Or even the battle music, sometimes it’s the last thing you want.

Entrances and starts of sections are almost all square and on the beat. Melodic pickups are used for sure, and drum fills, but there’s never a sensation of skipping the downbeat or disturbing the start of a section. The music, after all, shouldn’t demand too much attention. It should provide drama and atmosphere, and depth for repeated listening, without snagging the ear. This doesn’t prohibit dissonance, strange sounds or unusual time signatures. But they must be safely contained in comfortable box-like structures.

Changes in instrumentation or texture are obviously important to provide diversity within the short loops. I tried to depict the instrumentation changes in the following chart:

4 songs have a (purple) intro section. Each cell of text stands for a musical texture. So, ‘Prelude’ has two textures, synth for the intro, and synth, strings & woodwinds for the loop. ‘Tifa’s Theme’ has no intro, but 5 distinct textures (instrument combinations).

Full size version here.

Again, I’m not happy with this chart. The bars look like a bar chart, but although I am depicting the song structures chronologically from left to right, longer bars don’t represent longer time periods: instead, they represent songs that have more instrumentation changes.

That’s confusing and I’d like to improve on this in future.

Generally there’s a lot of keyboards, woodwinds, strings, mallets. Bit of voice, reed instruments, plucked strings. And a leaning towards kitsch things like barrel organ, accordion, music box.

The orchestration is not dense. I counted at most five different instruments at any time. This has to do with available tech, of course. These tracks are in a sample-based format, similar to tracker music, with (I’m guessing) 8 or 16 simultaneous samples permitted at once.

I presume the instruments were sampled from Yamaha digital synths. It can be hard to tell if something is meant to sound “like a synth”, or like a synthesised version of something real. That kind of stuff gives a lot of the aura of these soundtracks. I’ve spoken about it a bit before.

All right, let’s get onto the structures!

About half of the tunes have a loop length below a minute, while half have a length from 1:30 to 2:30. If you are composing in this idiom, you’ll be writing stuff shorter than a short pop song. Maybe that’s part of the appeal: a bijou version of generally long-winded genres like classical, prog rock and fusion.

‘Prelude’, ‘Tifa’s Theme’, and ‘Fond Memories’ (Uematsu) and ‘Still of the Night’, ‘A Curious Happening’ and ‘Raven’ (Kikuta): all these have a roughly ternary form for the loop. Kikuta in particular uses an AAB form with no variation between the As, a couple of of times.

‘Few Paths Forbidden’ (Kikuta) and ‘Anxious Hearts’ (Uematsu) have four equal sections in the loop. ‘Sending A Dream’ into the Universe (Uematsu) has only two but the theme’s phrase form is compensatorily more complex. ‘Now Flightless Wings’ (Kikuta) is a special case which I’ll discuss later.

Five of the tunes use repetitions with variation. Strategies for variation are all very familiar:

  • add (or remove) a countermelody, as in ‘Prelude’ and the second part of ‘Now Flightless Wings’
  • octave shifts, that old classic
  • change instrumentation, like flute to oboe in ‘Tifa’s Theme’

Most of the tunes centre around a continuous chunk of thematic melody of around 30-50 seconds’ length. It depends on the tempo, but often that’s 16 bars long. Perhaps because I chose a lot of melancholy and pensive and nostalgic pieces, many of these tracks have a similar moderate 4/4 tempo. Both games feature some 3/4 or 6/8, but less than I expected.

8 out of the 10 tunes have an ostinato of some kind, so that’s definitely a technique to reach for. Of those 8, 6 of those have it basically throughout.

Finally, let’s mention rests and breaks. All of the songs except for ‘Still of the Night’ and ‘Tifa’s Theme’ and the tiny loop of ‘Now Flightless Wings’, feature a tag or a breakdown to rhythmic hits. This provides a relief from the main melody, within the loop. ‘Raven’ has two different rhythmic breakdown sections.

‘Tifa’s Theme’, ‘Few Paths Forbidden’, ‘Now Flightless Wings’, ‘Anxious Heart’ and ‘Sending a Dream into the Universe’ (all lyrical, emotive ones!) feature prolongations of melody endings by a bar or two, either of a V chord or a I. Nothing too surprising, but another little technique for the toolbox.

In the end, I think I’ve reached the limitations of this kind of analysis. I could try eke out some conclusions about the phrase divisions of these melodies, but we’d learn more by transcribing a couple and talking about them as, you know, melodies.

Okay, time to wrap up with individual comments on each tune.

I apologise for presenting the tunes in no sensible ordering. It’s because I (rashly) chose LibreOffice Calc to lay out my data. Putting the tunes in a sensible ordering would involve too much layout hacking to be worth it.

I gotta say, I haven’t been too impressed with Calc. I encountered a fair few tiny glitches and the export functions are unfinished: I couldn’t find a way to choose what page or what cells to export to image, and the pagination options in the PDF export appear to do nothing.

Anyway. Now comes the fun part!

‘Prelude’ (C major) – Noboe Uematsu, Final Fantasy VII

This is the first thing you hear when you start the game. Confidently, for 16 bars it features only solo synth arpeggios that climb and fall through 4 octaves with a calm wave-like effect. The synth is warm and woody in its lower registers and chime-like at the very top. An echo effect adds magic dust. The triads are decorated with 9s and, at the end, 7s, providing a bit of extra colour.

Harmonically, it’s a four-chord trick until the parallel minor chords – all familiar but powerful stuff. The mood is mystical but noble. After that full round of synth, a majestic theme, with full chords, in strings and woodwinds, begins.

One smart detail is the order of the theme variants: first a version with ascending countermelodies in the accompaniment, then a plainer version without countermelodies, providing some easing and rest.

‘Still Of the Night’ (A minor) – Hiroki Kikuta, Secret of Mana

This isn’t a million miles away from the hypnotic, chimey, magical mood of Prelude, yet Kikuta’s style is distinctive. It’s more mysterious and warmer, cheekier. This stems from a static dorian modality, alternating with major chords off flattened degrees like bII, bVI and even bI. That sense of mystery comes from the ambiguous voicings (there isn’t a clear bass note) and tensions created by the shifting, slow ostinato against a droning tonic note.

This particular tune is very open in texture though we’ll see him do busier stuff elsewhere. Sonically, we’re in chimy, dreamy land again, but Kikuta’s sounds are warmer. He famously crafted the samples himself rather than leaving it to an engineer, and the result is gorgeous.

‘Tifa’s theme’ – Noboe Uematsu, Final Fantasy VII

Wow, this is such a catchy theme, I’ve had it in my head all day. Like Prelude, it’s in a major key with some colourful chords from the parallel minor. Also like Prelude, the progression is basic and powerful. Legato orchestral sounds plus a near-constant vibes arpeggio combine in a mood I’d call soulful.

The strings are done in a bit of a hurry, I think, but we get some contrary motion from variations in the vibes. There’s some not-particularly-subtle symbolism in the melody textures, that nonetheless drew a tear from me, about how Tifa wants a man to love and a return to the happiness she had with her childhood friend Cloud: flute and oboe together, then flute alone, then oboe an octave lower with flute finally rejoining.

The loop back to the start harmonically goes to I from a II, although the melody does strongly lean on the V note. It’s as if the theoretically necessary, bridging V7 chord is only briefly hinted at.

‘Few Paths Forbidden’ – Hiroki Kikuta, Seiken Densetsu 3

What a groover! This one has an awesome syncopated drums and bass guitar groove, a warm hooting synth harmonised melody, with wheeling syncopated marimba riffage in the background.

We’re getting into Kikuta’s secret sauce here: notice how the marimba has a quiet lower harmony line which subtly contributes some pulsing bass activity alongside the expertly sparse bass guitar throbs. The slapback echo adds texture and emphasises the woody quality while pleasantly obscuring that lower line – just another example of Kikuta’s gorgeous (yet economical) sonic layering – pleasant depth like a bed of bracken.

The slightly out of tune mallet sound adds vibe and realism.

The pumping bass uses the slab-like weight of bass guitar as a powerful device in itself. This is a composer who gets it.

‘Now Flightless Wings’ (Ab major) – Hiroki Kikuta, Secret of Mana

This one’s a special case. From reading the Youtube comments, I glean that it’s the last song heard in the game and it’s there to deliver an emotional payoff at the story’s end. Tense strings chords get harmonically warmer, into a gorgeous glowing barrel organ and music box infinite loop. So, I haven’t played the game but even so the bittersweet life-is-sad loveliness is pretty affecting. I’d tentatively suggest that looping here is used aesthetically. The extreme shortness and simplicity of the loop makes it like a lullaby, childish, vulnerable and ephemeral. That said, some subtle counterpoint and harmonic variations bring depth and ornamentation so it’s not too plain. Brilliant stuff.

‘Anxious Heart’ (F minor) – Noboe Uematsu, Final Fantasy VII

This one starts with cinematic string swells. The harmony is tenser than in the other Uematsu pieces we’ve seen: minor to parallel major shifts with roots moving in thirds, featuring that awe-inspiring shift from a major to a minor 3rd degree. A lot of emotional payoffs in music happen on these type of big, simple colour shifts. So good!

Then it goes into what I think of as “rainforest” vibraphone, after this amazing Jay Hoggard exotica track that I’ve always loved.

The intro is in 5/4, I think, just to lengthen out the chords.

‘A Curious Happening’ (C minor) – Hiroki Kikuta, Secret of Mana

Swung sixteenths sleazy freaky noir funk. There’s probably something that could be said here about Japan’s relationship to African-American culture, but I amn’t informed enough to grasp it.

This track has very funky timbres. Both the synth and the xylophone in the intro vamp are primarily sonic/timbral. Although they’re outlining a Im6 to I-7b5 jazzy chord alternation, what we’re most aware of is the warm, nearly buzzing fatness from the synth, and dry niggling woody oddness from the percussion. Both are staccato sounds, putting that African emphasis (speaking very, very, very broadly) on note onset (and hence rhythmic expression) over the continuous pure tones of classical music.

In this context, the simple clave rhythm for the breakdown was the perfect choice.

‘Sending a Dream into the Universe’ (C minor) – Noboe Uematsu, Final Fantasy VII

This one has, I dunno, maybe “Celtic New Age” instrumentation? Keening woodwind, acoustic accompaniment, slow rock drums and synth pads.

There’s a cool programmatic sequence in the harmony. Three times, we change to a minor key a fifth above, via a pivot chord sitting a third away from each key. E.g. Cm Eb Gm. Then Gm Bb Dm. The effect is simultaneously uplifting and sad. Doing it three times in a row emphasises the theme of the title, with a feeling of hopefully, nobly surging upwards. Nice work, Uematsu-san.

‘Fond Memories’ (C major) – Hiroki Kikuta, Secret of Mana

It’s little wonder people get nostalgic about these games… they were made with a clear-eyed understanding of the mechanics and value of nostalgia! This sparkling gauze of single-note piano and faint accordion, with its shimmering delay effect, just gets right down to the business of plucking your heartstrings. Nice balance between the 4-bar major part and the 16-bar minor part. The harmony is triadic, diatonic then relative minor and finally just a bit of parallel minor in the form of a bVII to get us to a colourful and rather inexplicable, but definitely good VI7 chord before going back to the tonic.

‘Raven’ (A minor) – Hiroki Kikuta, Seiken Densetsu 3

This one’s a pure groove/riff tune. A foot tapper! Like in ‘Few Paths Forbidden’, Kikuta does his dorian two-part harmonising thing in the marimba, and also in the woodwinds. This tune just stays on one chord though, with a stomping rhythmic breakdown followed by an ominous, pulsing, pizz strings and flute tag, for variation.

Thanks so much for joining me. Hope these classic JRPG songs warmed your heart! And I hope I put these lessons to use some day soon myself!

P.S. Here’s a playlist of all the tracks I analysed, here’s the full Secret of Mana OST, here’s Seiken Densetsu 3, and here’s Final Fantasy VII.

Eleven Favourite Quotes from “Permacomputing”

Apologies for the clickbait format, which is hardly in keeping with the concepts I’ve been absorbing from Ville-Matias “Viznut” Heikkilä’s remarkable recent article. Think of it not as a push for attention on an ephemeral feed, but respectfully memorialising another’s inspiring vision here on my own site.

Today I will summarise some of that piece’s most remarkable insights for you. I’ll react to quotes, picked for their awesomeness, in turn.

(My WordPress stats suggest that most visitors are here for the jazz content. If that’s you, you are most welcome to stick to that stuff. But consider reading on to ponder alternative visions of the internet and entertainment technology that makes this very blog possible.)

BTW, Viznut is not writing in his first language, and uses “would” where “should” might be more idiomatic, when discussing idealistic futures.

Let’s go!

1. Computers have been failing their utopian expectations. Instead of amplifying the users’ intelligence, they rather amplify their stupidity. Instead of making it possible to scale down the resource requirements, the have instead become a major part of the problem. Instead of making the world more comprehensible, they rather add to its incomprehensibility.

Pessimistic, yet I agree. “Amplifying stupidity” is quite precisely what Twitter does, intentionally spreading wildfires of outrage through our nerves and networks. ICT is projected to take up between 8% and 20% of all energy worldwide by 2030. And incomprehensibility… Jesus. I feel so strongly about how non-technical folk (my parents, for a start) are made fearful and humiliated by corporate tech like antivirus software, operating systems, bank and telecoms billing, touchscreen interfaces, and so on. Yet technologists (I’m one myself) always blindly return to their comfort zone: abstractions, services, always-on internet, new languages and upgrades and frameworks. “Increased controllability and resource use.” And increased incomprehensibility, infantilisation and frustration for everyone else.

Am I being hypocritical? Totally. I depend on myriad frameworks and the seemingly-invisible, actually aggressively-corporate-sponsored development work that keeps big platforms, and our whole civilisation, going. The point is not to deny that but rather observe it and judge it from a dispassionate viewpoint, asking what do we really need, in the long term?

2. Permaculture trusts in human ingenuity in finding clever hacks for turning problems into solutions, competition into co-operation, waste into resources. Very much the same kind of creative thinking I appreciate in computer hacking.

So, Viznut turns to permaculture, a gardening philosophy. Actually, in my long list of article ideas for this site, is one about how my grandfather manages his large garden, despite being in his mid-80s. The point was that due to an inherent rightness in his methods and tools, and a humble reliance on nature to do the work, his garden is still productive and pleasant no matter how physically weak he gets. His work is opportunistic and adaptive. Son-in-law visiting? Make him sharpen my tools. Grandson loafing about the house? Get him to plant lettuces, or pull down vines. Can’t walk much? Put a trailer on the lawnmower. Even when sinking into decay, everything still works, just at a lower level. His old greenhouse, lean-tos and cages are merely waiting for when he has the energy to put one or the other to use.

What has that to do with staring at a screen and tapping away at a keyboard?

3. Any community that uses a technology should develop a deep relationship to it. Instead of being framed for specific applications, the technology would be allowed to freely connect and grow roots to all kinds of areas of human and non-human life.

Could technology – or one or a few specific, locally chosen technologies – fit into our lives like a well-stewarded garden? Like leaving a garden to grow in rain and sun, we would let it do what it’s good at. When resources were at hand we would apply them, if not we could wait. We could deploy it in new ways all the time, like using a garden for meals, sunbathing, athletics, meditation, crafting, cooking, drawing, retreat, nature watching and so on. Even with minimal maintenance it would function, while occasional bouts of serious group work would provide exercise, catharsis and new directions.

Dream on, Kevin.

But I’m basing these ideas off a real scene, as Viznut does with the demoscene. Since about 12 or 13 I’ve been interested in Quake modding, a scene in which enthusiasts create new levels, monster types, versions and toolchains for the first person shooter game, Quake (1996, id Software). There’s something more than a little amazing about how this online community has grown while nurturing a set of powerful, well-maintained software tools, and releasing hundreds of fun things to play. Which also provides a strong, common base for engineering experiments. All with no money changing hands!! Just people doing things out of pleasure and dedication, making the world better.

The DOOM community, based around a similar but earlier and simpler game, is if anything even more broadly creative and supportive.

I won’t go on – I think you get how I feel about this.

4. At times of low energy, both hardware and software would prefer to scale down…. At these time, people would prefer to do something else than interact with computers.

This is where the radicalism comes in. Viznut doesn’t believe our current civilisation can continue. His is a worldview directly in opposition to values we absorb in school, college courses, news, and so on. (For example, in my one-year computer science course, it was absolutely unquestioned that e.g. ever-increasing virtualisation and cloud storage, or working in a monopolistic platform giant, were desirable things.) None of my close friends, who work in engineering or finance, would find it digestible. I haven’t read up myself on degrowth ideologies although I did learn a lot from the fearsomely knowledgeable Dutchman Kris De Decker who runs Low Tech Magazine. But the highly unpalatable idea is that we’ll all have to stop depending on things we’re used to: unlimited flashy content, new phones and personal gadgets, and quite a lot more; because they take too much energy which ruins the planet.

5. People would be aware of where their data is physically located and prefer to have local copies of anything they consider important.

There are countless ways, most of them still undiscovered, to make low and moderate data complexities look good…. For extreme realism, perfection, detail and sharpness, people would prefer to look at nature.

My quick take on this is I don’t know. I don’t know if Viznut is right. However, my intuition says yes, it is healthier to check out some bark patterns, dewdrops and butterflies in your local park, than clicking through 1080p videos on YT. And that yes, something doesn’t add up when Google offers to host gigs and gigs of my data forever on a server for free, even though it would be a notable responsibility and an effort if I resolved to keep it safe on a disc at home.

(Y’know, on that seemingly facetious point about going outside: I think that could be the unexpected philosophical realisation from our constant exposure to high-quality computer graphics – yes, we human beings like looking at realistic, crisp, crunchy visuals… and they’re all around us, all day long, lit by the sun for our convenience.)

More broadly: maybe the saturation of network bandwidth and processor power that now surrounds us is neither necessary nor desirable? Maybe this thing that we’ve had for the last ten years and not in the preceding ten millenia isn’t yet being used right. Maybe we don’t benefit enough from guaranteed industrial strength computing and data streaming at our fingertips day and night, to justify the environmental cost.

6. Integrated circuit fabrication requires large amounts of energy, highly refined machinery and poisonous substances. Because of this sacrifice, the resulting microchips should be treasured like gems or rare exotic spices.

A great way of putting it! The demoscene that Viznut came from is all about getting the utmost from old technology and systems instead of relying on Moore’s Law. So he has come up with a sound justification for this aesthetic interest, which can often otherwise relapse into mere nostalgia. He’s careful not to tie himself to “junk fetishism” as an end in itself.

7. The space of technological possibilities is not a road or even a tree: new inventions do not require “going forward” or “branching on the top” but can often be made from even quite “primitive” elements.

And here’s a justification for playing with old tech, from the point of view of innovation. It does make sense. Again, what I like about Viznut’s writing is the confident, autodidactic, outsider’s perspective. From there I can look at computing, whether enterprise systems or game modding or web content management, quite afresh.

8. Computer systems should make their own inner workings as observable as possible.

Another lofty ideal. I am strongly, instinctively behind this one. In all the software I’ve coded, I came back to real-time feedback as a tool again and again. Observing changes in a feedback loop suits my short attention span. In my computer science course, I most enjoyed the sensation of tunneling into the depths of a system and making them comprehensible and useful. Even a routine backend database like I made for my e-commerce project gives me this pleasurable feeling.

My site (made for a college project) plucking content from a backend database.

9. Any community that uses computers would have the ability to create its own software.

I interpret this not as a call for us all to be hackers, or teaching “kids to code”. Rather I think it’s a call for a smooth continuum of complexity to be available, from newbie use to full control of building the software. For example, I would say Excel formulas, Access pivot tables, and any kind of macros are an absolutely legit place to start programming. Same with game modding, or shell scripting, LaTeX, whatever. (This philosophy developed from ideas from the lovely, now-defunct blog by James Hague.)

The tricky part is for each level of complexity to bleed naturally into the next, tempting the learner to try new things.

This is where gated platforms, whether that’s FB posts or software on the cloud, can be the enemy of creativity. I’ve discussed that issue before.

10. The ideal wieldiness [of a program] may be compared to that of a musical instrument. The user would develop a muscle-memory-level grasp of the program features, which would make the program work like an extension of the user’s body (regardless of the type of input hardware).

Not much to say to that, except that most of the programs we use day to day haven’t reached that standard.

11. Artificial intellects should not be thought about as competing against humans in human-like terms. Their greatest value is that they are different from human minds and thus able to expand the intellectual diversity of the world.

Viznut’s interest in AI was perhaps the most disconcerting part of his article and the one that changed my outlook the most.

For the last few years I’ve viewed AI as a tech buzzword whose visible manifestations (neural upscaling, Google DeepMind, GPT-3) are distinguished by aesthetic hideousness. And as you might gather, fear underlies that dismissal. I found the thought of AI disturbing.

Viznut gave me a different view. While emphasising the computational expense of training machine-learning systems, he mostly views AI as a welcome new type of entity for us to exist with. Criticising it for being inhuman isn’t saying anything. Rather it can be judged by how well it helps us humans to survive. Pragmatic, yet (in a nice change from how we started this piece) optimistic stuff!

Thanks for reading!

[Cover image is nabbed from Kris De Decker’s astounding Low Tech Magazine website. Do yourself a favour!]

Postmortem for my First App

Three and a half months ago I started a software development course, to build a new career as a programmer. I’ve also quit playing music. As we come to the start of a new year I’m very happy with these choices and with the prospects ahead.

One of the things I’ve loved for a long time about programming was the culture of sharing knowledge. It directly influenced the tone of this blog. So, while I don’t know whether I’ll continue writing about programming on Drum Chant or make a new blog for it, today I want to try my hand here anyway at a software postmortem.

Following the time-honoured format (which I first saw on gamasutra.org I think, and also used on this blog before), I’ll introduce my project, discuss what went right in the production, what went wrong, and what lessons can be learned about software development.

Introduction

I developed my first app in Java this month. It’s a number-guessing game simulating a lottery draw. I call it Gambler’s Delight. I had previously worked on a similar brief for a group project in school which I enjoyed enormously. So I decided to remake that idea on my own, using a more elegant, manageable design.

The game affords multiple rounds of attempts to win the lottery. In each round the user fills out a lottery ticket of 1-3 lines, where each line is a guess at the 6 random lottery numbers which will be drawn. When the user decides to play their ticket, the application draws the 6 random numbers and tells the player how good their guesses were, awarding fictional cash prizes depending on performance. Finally, the app keeps a record of all the rounds played and displays this when the user requests to end the play session.

So, it’s rather like the Irish National Lottery‘s digital play platform. I didn’t refer to this when designing my game, but my effort converges on the same concepts.

How the pros did it

You may be already seeing some of the design issues I faced:

  • how to make sure the player chooses six unique numbers
  • how to have automatically chosen (“quick pick”) numbers
  • given that some lines are active and ready to play, some not, how to deal with the transitions from inactive to active and back

My own learning goals for the project were to get my head around Java’s Swing library, which provides platform-independent graphical user interface (GUI) widgets, as well as some intermediate programming concepts like interfaces, events, exceptions, and of course the object-oriented programming principles of encapsulation, inheritance and abstraction. (The fourth technique always mentioned with that group, polymorphism, didn’t really come into my app.)

Or, to put it crudely, I wanted to make a simple game but:

  • split it out intelligibly into classes representing real-world objects,
  • use the premade Swing classes more or less as they’re meant to be used, and
  • keep a handle on the structure and proliferation of my code.

What Went Right

A clean GUI: I designed the look of my program in one blast of inspiration, which luckily was then realisable in one of Swing’s layout manager classes, the euphoniously named GridBagLayout.

I decided that each line of 6 numbers would be built as 6 text fields, similar to a licence key or credit card number entry form. And I was able to have all necessary user actions available on this one, small window, in a layout based on the number 3.

The concept ((also demonstrating the importance of having appropriate stationery on hand 🙂 )
My GUI in action

Encapsulation: as you can see in the source code, I split the functionality of my game into 9 classes and and an interface. Many of these are satisfactorily neat and conceptually self-contained. Even the bigger ones use some basic principles to hide their data, i.e. private variables. Also, I followed the correct convention for passing arrays – copying their contents into a new array before passing that – to avoid giving the requesting class access to a private array in cases where this matters, e.g. the LottoTicket’s getResults() method.

Keeping control of my code: I was pleased that by the end of this project, I still knew clearly what everything did and where to look for any particular functionality. I could skim my code and know what I was looking at thanks to nice variable and method names, whitespace and my reasonably clear class structure. I’m an ultra verbal thinker so writing lines like “history.updateWith(ticket.getResults());” that do what they sound like they do in approximately readable English, pleases me no end.

Use of Java classes: the built-in classes I used – probably around 12 or so – were rewarding to study and build around. Of course they are, they’re made by top people! The experience of using things like Swing’s InputVerifier or Container classes, say, is of initial simplicity giving way to great depth and flexibility. The big but logical inheritance hierarchies of these components are inspiring. I’d love to make something someday as worked-out and usable as these. The only downside of my plug-and-play approach is that I ended up using a good few classes quite superficially. I can see how later it’d be all about digging down deeper and overriding parts of fundamental classes to put my desired custom behaviours in more unified containers that match their purpose more elegantly.

Use of events: I used a good few of Java’s event types and wrote one of my own, so now I have at least some insight into event-driven programming.

Bullet-proof UX and validation: I’m proud of this achievement even though conceptually, behind the scenes, it could’ve been cleaner. My interface instantaneously reacts to invalid input with an appropriate error message and an updated count of how many lines are ready to be played. The only exception is, I allow the user to leave fields blank for smoother navigation. It’s impossible to leave an unplayable input in a field, and impossible to play a line that doesn’t validate correctly (e.g. has blanks). There are two subtleties to this. First, I had to use multiple kinds of events to make sure and cover all interactions: DocumentEvents, FocusEvents, ActionEvents… and then pass the appropriate EventListener classes back and forth when building all the objects (lines, fields, verifiers) in my game. That’s overly complex for sure. On the plus side, I had to take care of weird player behaviour like going back and deleting numbers from previously finished lines. That involves some slightly tedious code but the result is robust.

Minimising hardcoding: I kept crucial gameplay variables in a separate LottoRules class and made sure that they only need to be changed once to correctly change the game’s behaviour. However, I chickened out of following this to its proper conclusion of allowing customisable line lengths and number of lines per ticket – the game logic can handle this, but the user interface wouldn’t dynamically adjust.

What Went Wrong

Having no target audience: the game was inspired by a brief for a college project. It doesn’t fulfill any real user’s needs and therefore there’s no point continuing to develop it. Honing in on excellent design becomes arbitrary in this situation. For my next project I’ll come up with something that I, and hopefully many people, definitely want.

Insufficient use of exceptions and defensive programming tactics: changes in one part of the code could easily cause crashes or undetermined behaviour because I don’t check the validity of values or handle wrong values (apart from the user input discussed above). That said, I think I’m right to move on without polishing this more.

Hardcoding: this point also contravenes good programming practice. The UI I made isn’t adaptable to different line lengths/amounts, and has some per-pixel hardcoding. But here I was coming up against the fact that system-independent GUI design is hard. Java’s Swing layout managers are pretty flexible and wide-ranging, but with that comes a lack of predictability and precision. I think next time I might try a different GUI technology – AWT, or something web-based – just to keep learning new stuff.

Lack of reusability: although I made one class explicitly for future use, (TextNiceties which deals with plurals and counting words) I mostly failed at designing for reuse which is, so my software engineering teacher says, the holy grail. Partly this is due to the trivial but finicky task: much of what I wrote is for the necessities of this particular game. Then there was the spreading of GUI code throughout my classes, which I’ll discuss below, but which obviously makes my code specific to one task.

Refactoring is hard: “restructuring existing computer code—changing the factoring—without changing its external behavior” as Wikipedia defines it, was challenging. I already had a working prototype at the start of this project, from my school group work. Unfortunately I tended to unthinkingly take elements of the previous design into my new one. And I also assumed that problems were already solved without noticing that with changed design assumptions, my previous techniques were now invalid. So, I made two failed attempts at restructuring my GUI code before settling on a pattern of passing a window (JFrame) object into my various classes so they could paint themselves onto it.

Deciding what object should have what responsibilities: I had the concept of an overarching “app” creating a lotto “ticket” containing “lines” which each contained number “fields”. Reasonable enough, but the question of which object should know about which other objects was hard! This applied to the UI creation, the validation, and the game state changes… I have tons to learn here.

Over-engineered interface: I allowed the user to invalidate a completed line of numbers by clearing text fields. This adds nothing, it’s merely a standard text input convention. I think an excellent design would intentionally limit such possibilities in the interests of clarity and simplicity. I note that the Irish National Lottery interface:

  • uses a graphical grid of numbers that are either selected by a single left click, eliminating duplicates automatically
  • doesn’t allow deselection (deletion) of numbers, so lines are simply always valid once completed – and bright colours are used to indicate the change to valid
  • therefore never has e.g. the first line invalid while subsequent ones are playable, an edge case I had to write a fair bit of overly-involved code to deal with

Conclusion

I’ll stop there. That’s a lot of chat about a learning project, but hey I’m proud of it and I sank a few days into it. Nice one if you read through it all and perhaps I’ll be back soon with a cooler project. A friend of mine gave me the idea of doing something that queries a web API, and I also think I want to do something with non-trivial calculations (maybe some geometry/graphics) and file handling.

*EDIT* Oh, one last addition – I think I know now what the solution is for organising the line, field and ticket objects and their drawing code. Sticking closer to the paradigm from John P. Russell’s excellent beginners Java book, I would go back to having each major element subclass a Swing component such as a JPanel, and draw itself in its constructor. And, I would structure the lines like a group of radio buttons: first a LottoLine would be created, and it would be passed into the constructor of all its LottoFields.

Ah well, there’s always more improvements to make. Still happy to draw a line under this project, cause it works and the code is readable.

Mega Drive Vibes

Today’s post analyses a composition by Tim Follin from the soundtrack of a 1994 Sega Mega Drive game, Time Trax. (I found it on this sweet playlist.) I wanted to find out how it succeeds in being so improbably funky.

Chiptune music has been rising in cultural prominence with the predictability of any nostalgic trend. A mate of mine recently put me on to the quite expensively produced Diggin’ in the Carts, series, for example. I guess what’s fun about the music, beyond just hearing things from your childhood, is the musical meaning conveyed within harsh technical limits. Somehow, cheaply synthesised noises that don’t sound at all like brass, bass guitar, a string section, or whatever, can cheekily evoke just those things. So I want to examine that dialogue across the chasm of failed simulation, where the ludicrousness of the attempt at orchestral grandeur or, in this case, funk jamming, is part of the aesthetic.

The tune (it repeats, the actual track is about 3:30 long).

You won’t remember this one from your childhood, because this game was never actually released and only a prototype of it emerged online in 2013. “The game is notable for its use of a relatively advanced sound driver designed by Dean Belfield for Follin,” segaretro.org tells us. I get the impression that this was a technical peak of sound design on the Megadrive.

Not to get too nerdy – let’s save that for later – but this style of synthesis is associated with, roughly, the 16-bit generation of consoles as opposed to earlier 8-bit. It is called frequency modulation synthesis and it tends towards a distinctive metallic, clanging, bell-like, brassy tone. (Which Tim Follin’s sound design actually disguises pretty effectively, at least until the heavy distorted riff sections.) You may also recognise the sound if you ever played MIDI files on a laptop with a cheap soundcard, like my Dell Latitude.

Let’s get to the music!

This oscilloscope view is cool. BTW, different ones on Youtube have six and five channels. I read somewhere that it was a technical achievement of Follin’s to stick to five channels so as not to have game sound effects interrupt his music. I don’t know what the sixth channel is doing here and I can’t hear any extra instrument that isn’t in the five-channel version. *shrug*

So, apart from the dinky sounds, we have a medium tempo funk-rock groove tune. The first thing I was curious about was the structure. As is typical for game soundtracks, this one is designed to loop interminably. However this isn’t really an issue either way as players were not likely to stay long on the ‘Mission Briefing’ screen where this track is played. (In this playthrough video the player spends 40 seconds.)

In any case, there’s a 90-bar structure lasting about 3 and a half minutes. The basic principle is one found in a lot of groove music – Wayne Shorter’s ‘Beauty and the Beast’ is my canonic example – which we could call “on or off”: you’re either in the groove or getting ready to get back in.

Yellow for ‘in the groove’

Follin uses key changes to shape his track. (He mentions his “fondness for random key changes” here.) As shown above, we get the excitement of going up a b3rd, then a gradual floating down to the home key – a good scheme for a track whose opening will be heard more than its ending.

The key change is smooth on a number of counts.

The end of the brass build (that line is seen at the top left) going into the first organ solo. The double bar line marks the 1:07 section change (and key change).

Okay, the lead line doesn’t voice lead, but in general its D major pentatonic melodic/modal colour is goes strongly to G minor (i.e it’s the elemental I major to IV minor alternation that has strong gravity in both directions). The (faint) bass voice ends on a D before a strong G bassline comes in, so that works. And the inner voices have a general upwards sliding of a semitone. Nice.

There are some other nice applications of harmonic colour, suiting this rock/funk context. In the intro we get some Cs, the b6 of the key, giving a suitably earnest diatonic natural minor mood of cop show epic – after that these are thrown out in favour of minor-7th/sus-chord funk colours. There’s some strong use of the 9th, F#, in a couple of places e.g. the brass pentatonic build.

(I recognise that my names for the instrumental sounds are arbitrary. I just don’t want to put quotations around “organ” and “elec. piano” for the whole blog post. Your interpretation of what the instruments are meant to be is just as valid.)

This ambiguity of instrumental sounds is crucial for what I consider the secret sauce to this track. I’m talking about the inner voices that comp all the various organ solos and can be most clearly heard in the breakdown at 3:00. Quietly, with a warm electric piano-like sound, they add some rhythmic action that interlocks nicely with the rest, and fills out the middle part of the sonic spectrum. At the end of bars 2 and 4, every time, they feature some bluesy parallelism of a type I discussed a long time ago on this blog. A bII I movement, and next time it’s bIII IV. How does the bII I fit so smoothly in a minor key? I think it’s really a bV IV – a classic blues side-slip – in the V key!

Here is where I’d normally show a little transcription (I did attempt one bar of it above – the dotted eighths in the second bar). However, these inner voices are incredibly hard to transcribe due to two peculiarities of the medium: overtones generated by FM synthesis; and the need to swap instrument sounds mid-flow to maximise channel use.

The first issue means that, although I think only two channels are used for these inner voices, we get a fleeting impression of triads in the passing chords – I believe I can hear the thirds. This is due to the way frequency modulation synthesis works] – it adds overtones called side-bands, in various proportions, to the original fundamental. As the 3rd and 5th (actually 3rd+2 octaves and 5th+1 octave) are part of the overtone series, frequency modulation can generate a kind of major chord. So, for instance, while the most audible line in the inner voices starts b7 b7 8, or D D E at 3:00, I think this is actually the 5th and that below there’s a b3 b3 4, G G A which is the fundamental.

What makes it trickier is the fact that Follin may not be keeping the sound (or “patch” in synthesiser terminology) consistent from note to note. In the intro, we note a changing modulation on the synth stabs. And if you look at the visualisation, you’ll see that a channel may switch from brass to bass instantly (e.g. when the groove kicks in at 1:05), or whatever. (Follins mentions this as a “basic trick” here.)

So, even though with a bit of hunting around on old-school, nerdy websites I got some tools to extract MIDI data from the game files, I still can’t, after a decent effort, unambiguously notate it, because these lines might be transposed or changing timbre any time, and in any case they’re definitely using timbres with at least a strong 5th above the root.

Here are the two inner lines in MIDI in REAPER – but I still amn’t confident of what the sounded notes are!

What does all this mean musically? Just that it’s a full-sounding comping pattern with some sonic depth and mystery, and which, especially during those passing chords, is subtly but unmistakeably bluesy! Because blues uses that ambiguity between harmony and timbre all the time (so does electronic dance music, funk, jazz…), particularly for cliched parallel chord movements.

Let’s talk about the other sounds! Some commenters on Youtube have gotten into the nitty gritty of Follin’s techniques – in particular, his use of clipping/overdriving the signal to get otherwise impossible waveforms. I don’t know enough to comment there but I’ll just praise the sounds from a musical perspective and from what I can see in the visualisations.

Firstly, the very effective drum sounds are a single instrument/patch sounding at a high note for snare and a low note for kick, and a really high note for the hats. (Listen in the breakdown sections and you’ll hear the hat sound is kind of like a snare.) This is clear in the intro fill which sounds like it’s on the toms – but later those same notes function as a kick and snare in the main beat. While initially they sound more like toms than a kick or snare, in the mix they’re convincing. The beefy snare takes up some bass register quite effectively.

The distorted sounds later on, and the brass in the intro, are even less “realistic” but still sound good. I really like the bleep on beats 2 and 4 in the intro – here Follin uses a classic technique of “fake delay,” repeating the tone more quietly 3 16th notes later to give the impression of a classic tempo-synced delay effect. Then the bells/glockenspiel in the middle are a really nice timbral contrast. In fact timbral contrast is one of Follin’s main tools.

There are some cool sequencing tricks. The time feel changes from straight 16ths when it’s only hats, to swung 16ths when the groove kicks in. Also, there are some nice dynamic changes in instrumental sounds: the volume swell for the 2nd pads chord in the section starting 0:05, and the changing timbre of the synth stabs in the following section (accomplished by dialling in the degree of modulation of the carrier wave).

Of course, the centrepiece is the organ melodies. Although not very memorable as themes, they’re definitely funky, using tricks like staccato pedal tones, 32nd-note blues scale ornamentation, and (not idiomatic for organ, as I mentioned) pitchbends. As Follin says, “I also liked the playing styles used by folk musicians, all the twiddles and little arpeggios, which were again relatively easy to reproduce.” In general, these organ lines are built using rhythmic groups of 3 and either I minor pentatonic or V minor pentatonic shapes.

There’s one characteristic of the programming which is more to do with expediency – there’s a lot of reused material. The underlying drum pattern has no variations until it switches to a disco beat; the last minute is mostly just one riff in various orchestrations; and all of the organ bits use the same “answer” phrase in bars 3-4 and 7-8. As Follins recounts, these tracks were made by typing in notes in a text editor. I’d say this is why he copied and pasted a lot. It’s not a major problem functionally: the up-and-down the arc of dynamics keeps a meaningful directionality even though much of the groove stays unchanged for multiple sections. However, once you know about them, some of the 4-bar exact repeats (i.e. in the middle of the organ solo bits) become a little jarring.

This track was evidently made quickly, within the strictures of commercial production. Nonetheless it’s remarkably crafted, especially the sounds, which are not only skilfully programmed but gel together in a very fat “band sound.” And this was done without any mixing in the normal sense of applying EQ, compression, reverb. My personal yardstick is that I repeatedly found myself tapping my foot as I analysed it. No surprise that Follins states, “My own preference in my early teens (squashed by peer pressure) was for Quincy Jones.”

The actual game Time Trax, BTW, “is a straightforward platformer that sticks to the 16-bit platforming formula rather than innovate.” It’s clearly Follin’s composing work – which he says was something too nerdy and embarrassing to mention to friends and acquaintances at the time – that has kept it in the limelight. It’s nice to see that he’s only getting more recognition with the years.

I hope you enjoyed this jaunt into some different territory for the blog! If you have any insights into VGM or synthesis, feel free to comment!

I Was A Teenaged Game Designer

[Content: offensive lyrics]

The historical meaning of a subculture is continually recreated as time goes on. Unfortunately, I believe that the subversiveness and artistic value of some of my favourite game and music scenes are now being claimed by sexist and reactionary forces (associated with what we vaguely call the “alt-right”).

These game scenes now harbour tons of anti-politically-correct provocation and memes. This feed of forum posts repurposed for their humour illustrates the tone. One of the DOOM scene’s most prominent modders is under a cloud for racist jokes.

Here’s a musical example reflecting a narrow-minded take on the essence of 90s hardcore hip hop. Some cool lines in verse 3, but preceded by “You want some faggot shit dancing like a bitch”. Warm nostalgia is mixed with ideas of manhood as violent, and femininity as weak, perhaps corrupt, “America rubs its pussy to dead children”.

(By the way, I want to say that hatred and shocking violence in rap lyrics is not at all a clear-cut issue, as it comes from a long tradition of creative nihilism that has had its moments of brilliance. These lyrics in the video, though, are long on the nihilism and short on the creativity.)

The expressiveness and hard work, the fascination, the rebelliousness, the fellowship, etc. found in underground scenes, should be used for good. I think it’s on us to disentangle the good from the misguided and ignorant in our own relationships with media and cultures we love.

Today I want to see who I was when I first soaked up 90s underground culture in the form of video games. I’ll do this by analysing my creative reaction at the time – making my own games. Of course, I already know that my younger self is going to seem privileged and sheltered. More interesting will be seeing how I incorporated my interest in black music in these designs, because that gives me perspective on my present-day obsession with it. And I’ll think a bit about the worldview behind these game styles.

Into the time machine!!

Doped Quake (2001, Quake mod, Kevin Higgins & Paul Cuffe):

This crude joke mod has some interesting features as well as some super-problematic depictions. Basically, myself and a friend, aged 13-14, broke the the game’s combat in order to replace three monsters with humorously “reskinned” versions. The joke is “drug-taking” (which neither of us had any experience of at the time). The edited monsters represent a stoned ‘Nam vet, a coke-sniffing tracksuited “knacker”, and an alcoholic derelict. The “knacker” embodies my own class hatred of the time – “knacker”, for non-Irish readers, being an offensive term for both members of the Traveller minority group in Ireland, and working-class people. The other two depictions are scarcely better, although the inclusion of the ‘Nam vet shows how detached all of this was from my (Irish suburban) reality.

So, the joke is naive and the representations are horrific. But I kind of like how this was made. It’s a very cheeky appropriation of game technology which was only five years gone from the cutting edge. It throws away the ostensible whole point of the game – defeating monsters – for a joke. The new graphics are made in the most basic way, reminiscent of photoshopping a meme. (The “stoner”‘s bare chest, which represents the only significant effort in the whole enterprise, is a graphic I’d made previously to represent myself in multiplayer gaming sessions). The animations of the three figures are completely recycled from animations in the original game. The massive joint was originally a gun, the puff of smoke was a graphic I originally made to represent a bullet impact.

There’s no representation of black culture in this game but it does show a bourgeois teenager’s naive interest in subculture and subversion which has stayed with me – my MA paper in Amsterdam two years ago was called “Blues Is Subversive”.

THEGAM4.BAS (2004, text adventure, Kevin Higgins):

TheGame.png

The programmers among you can read the terrible, mostly cribbed, code of this game here. It plays out in text with no graphics, accepting commands in the form of “take plank” or “talk to man”. The writing style is copied from Stephen King and Terry Pratchett, with a hint maybe of George Orwell and Roald Dahl. The first interesting thing is the characters:

  • The love interest is a young woman who I imagined as mixed-race, although she’s not described as such.
  • There’s a touch of homophobia and classism in places e.g. this description of being beaten by builders: “you are mercilessly trounced over a period of two hours by grunting men in grubby vests with pipe-wrenches.”
  • There’s a kindly, stoned junkie who speaks in an African-American accent despite not being described as black (he’s maybe a bit of a Magical Negro, beneficent and otherworldly due to his drug use). Again, my kid’s fascination with drugs is evident.
  • Authority figures (state security official, factory owner) are evil. They can be violently killed in one-on-one fights.

I was comfortable with premeditated killings (and in the game), which are described succinctly but graphically. Interestingly, the female character is not present in any violent scenes. I had enough awareness of feminism at the time that I at least avoided a damsel-in-distress story.

There’s a sequence where a busker starts to play funk “manically”, with the music described in technical terms like “dorian mode” which I was only just learning in my bass lessons. A nearby policeman reacts to the music by putting on a black accent, upon which he is rebuked by his colleague. Black music was obviously part of my identity but still seemed offbeat and quirky, not fully compatible with white middle-class dignity.

The world of the game is a grubby dystopia with the state oppressing freedom fighter groups. I think it resonates with Liz Ryerson’s recent description of the world of 90s shooter Duke Nukem: “Because the world is broken, there’s nothing particularly comforting about occupying any of it for very long, or sad about blowing up any of it.” She also says that Duke’s enemies are “just thinly veiled stand-ins for human men. Men with power and authority.” Such men are clearly the villains of my story.

However, my fiction is not about disorienting violence and hyper-masculinity. For most of the game the player can walk in front of, and talk to, his enemies, because he doesn’t draw attention to himself. This derives from Orwell’s 1984 and also from Terry Pratchett’s Johnny series about a 12-year-old in a down-at-heel English commuter town. That is to say, it’s a British thing – and also how I navigated most interactions back then. The grubbiness of my game’s world is from Brit culture also.

Maul Ball (2004, platformer, Kevin Higgins & Stephen Roantree):

Download page

24-42_thumb

When I noticed that I didn’t have this game on my hard drive anymore, I hopped onto Google because it had ended up on freeware game sites when we released it. I was saddened to note only one search result now came up for it and that link didn’t work. Luckily, the programmer of the game, a mate of mine, uploaded it to gamedev.net, and there it still was. Phew! Cultural preservation in the digital age is no joke.

My coder friend made a very slick little game here, I just contributed to the design and made the graphics and music. What’s interesting is the suddenly up-front depiction of black culture. The hero is a black disco fan with an afro, even though this has nothing to do with the gameplay. The soundtrack is ersatz funk I made in Fruity Loops.

However, this (enthusiastic if not knowledgeable) representation of black culture is used problematically. At the time I was leaning more towards the doctrines of the “indie game” scene which, due to a laudable focus on making money, celebrates entertainment value, interesting game mechanics (I think our ball bouncing through a maze was at least a moderately interesting mechanic!) and polish. Compared to my previous subversive efforts, here I’ve washed my face and taken steps towards marketability. Check the description I wrote to entice people to play the game:

“You are disco-loving Leroy! Put on your white flares, comb your afro till it’s bigger than you and smash some zombies!”

Good marketing copy. However, it’s really appropriative, particularly the detail about the afro. Did I at the time (or do I even now) know anything about combing afros? No. Nor did I try ask anyone about it, nor did it occur to me that a black person might play the game!

As I mentioned previously, I think appropriation that attempts to, with little real engagement or study, swipe signs of identity like hairstyles, is perhaps the most egregious.

Still a pretty good game for our first attempt. I should have stuck with it and made some cash. This was a few years before indie games became massive.

Jailbreak (2005, sneak ’em up, Kevin Higgins & Stephen Roantree)

Download page

Jailbreak

This game is a good deal more sophisticated than the previous, mostly because my collaborator had more input and worked on some pretty sophisticated technology like the prison guards’ “view cones” and pathfinding, plus a scripting system to make speech bubbles pop up. The game is also better packaged with a proper installer, and it earned decent reviews for a freebie. Some of my graphics and writing are good too. I like the menu background you can glimpse below because it subverts the action-hero masculinity I was talking about before. The hero is not the big man with the gun but the thoughtful sneaker. (This was influenced by the classic games Commandos, Deus Ex and Thief 2.)

Again, it took a while to find this game online. Thank god for freegame.cz who allowed me to “stáhnout hru” without a hitch. I’m actually gonna back up this and “Maul Ball” right now.

freegame.png
Feckin’ legends

My representation of black music culture comes up a notch in this one. The soundtrack still isn’t great (I remember a schoolmate of mine telling me he had to turn it off to play the game) but it adds to the atmosphere and uses flickers of blues piano put through a dubbish delay.

However, the cool thing is that the loading screens for each level feature a quote from a song about escaping jail. (An idea stolen from Call of Duty 2.) All of the songs are in black genres, although, reflective of my musical knowledge at the time, 7/8 of the artists are white! Counteracting that, and acting as perhaps evidence for the transformative power of black music’s utopian politics, the quotes are (of course) to do with escaping to freedom. The final quote, which I chose for its emotional depth, tackles one of black music’s most powerful and pain-defying themes, clearly related to what Paul Gilroy calls “the slave sublime”:

“Lord I’ve been gone such a long time, I’ll be coming back home someday.”

So, I think that’s pretty cool.

It’s just a pity about the “pick up the soap” throwaway gag in the shower level, but it was 2005 and I was still in my all-boys secondary school (high school).

That was about the peak of my game-making career, after that I got more into music. Hope you enjoyed the trip and it made you think over your own juvenilia.

Are Videogames The New Jazz?

Why would I ever compare playing jazz to playing videogames? Apart from the obvious answer that I’m a big fan of both.

Well, they both depend on what gamers call “twitch”: instinctive use of patterns kept in muscle memory, and triggered subconsciously.

To achieve this, musicians and competitive gamers practise intricate finger and hand movements, chained together and timed precisely. (E.g. a fighting game might give only 1/60th of a second in which to counter an opponent’s attack).

Aggressive competition defines much online gaming and was also a celebrated aspect of early jazz and bebop. Speed, rhythmic intelligence and imaginative reharmonisations were prized in those scenes, demonstrated at jam sessions, battles and cutting contests.

Speed, timing and rule-breaking shortcuts are the hallmarks of video game speedrunning, where enthusiasts develop techniques and exploit glitches to achieve impossible trajectories and velocities…

I’m gonna get a little more abstract now. Hold onto your hats. Both video games and music are virtual worlds. They transport us to somewhere imaginary. They also change instantly in response to the performer’s decisions. (Bandmates providing the reaction in the one case, the computer and/or other players providing it in the other.)

And, music and games both happen in virtual space. The perception of space in music is complex, but here are some known aspects:

  • High notes are heard as being above low notes and never the other way around (although some cultures use a different binary, e.g. thin-thick). More here.
  • Our hearing automatically interprets stereo differences, echoes and reverberations to give us an impression of our surroundings. In music these effects are called “spatialisation”. They have always been an area of cutting-edge technology, because their virtual spaces seems so futuristic. Psychedelic music has always relied on spatialisation!
  • Most importantly, “music is the sound of human movement”. We interpret rhythm by imagining, using our kinesthetic sense, the body movements that could produce it.
  • Loosely speaking, musicians and informed listeners tend to imagine music as made of shapes (phrases, sections) and to imagine points in a cycle as locations. So, a jazz musician might ask another, “What are you playing on (or over) bar 5 of the form?”
  • These spaces must be learned off for high level performance. Set sequences of moves (i.e. licks in bebop, or a chain of jumps in a game) are used to navigate the space.

In general, I think the African-American tradition of improvisational music has game-like qualities anyway: misdirection, illusion, masking, changing context. Steve Coleman turned me on to this stuff. Further parallels can be drawn with sports, martial arts, and forms of ritual speech like telling tall tales.

So, music/games is obviously a fun analogy to ponder. But, beyond that, it suggested to me some interesting crossover ideas.

“Let’s Play” videos, of gamers commentating their own playthroughs, have become massively popular in the last few years. Could improvised music work with a commentary?

Actually, it traditionally does: non-verbal exclamations of approval, musical imitations, and jokes (“knock knock” at 0:50). Or in classic hip hop lyrics that turn attention to the present moment, “You’re in awe when I’m gripping my mic cord”, “Hey you sayin’ what the hell is this shit/Reaching for the cover, turning up your deck”.  I wonder could a contemporary artist build off these traditions and consciously add forms of commentary to improvised performance?

Visuals help a lot to make games accessible. The technology is available to visualise the harmonic choices made by improvisors – most simply, how about assigning a different colour to each note?

The practices of “modders” who repurpose commercial game content seem to mesh well with how jazzers used showtunes or classical music etudes for their own creative ends. Here, for example, is a level released in 2014 (for free) that uses content from a 1996 game in ways the original creators could not have imagined.

metmon2l.jpg
by Simon O’Callaghan

The open-source movement, meanwhile, reminds me of the great common pool of licks and ideas that jazz musicians take from and give to.

With my last band, Glitchpuke, I consciously copied indie game “development logs”by including analysis of my own mistakes in the band blog.

And these days, I’m feeling inspired by game level designers – particularly, their cycle of repeatedly exploring and then refining a space. I want to have a band that does that.

Can games learn from jazz? One thing I’m anticipating with interest is the appearance of black-coded movement/performance styles in virtual reality. As a point of comparison, think how twerking rapidly entered the cultural mainstream from both corporate music videos and home-made ones on Youtube – probably generating a lot of money for some people.

Okay, I’m gonna start rolling it up now, but first I’ll look at some instructive differences between jazz and videogames culture.

Games culture started in by far the more privileged milieu: prestigious US universities that turned Cold War funding into technologies like programming languages, the personal computer and the internet. As Jeru The Damaja put it, “Chips that powered nuclear bombs power my SEGA.” The people involved were predominantly white and guaranteed of social acceptance in the middle classes.

PDP Team

By contrast, jazz originated in African-American urban communities which experienced much racism and poverty, crime and corruption.

Then again, today, all kinds of people are represented in improvised music and in gaming. A book could be written about the changing demographics of each. Jazz has become broadly academicised, with its mass appeal claimed by rock, hip hop, dance etc. Gaming has gone from embodying both tech culture privilege and geeky outsiderhood, to hosting vocal feminist, transgender and non-Western communities. All these changes have provoked gatekeeping reactions of many kinds.

To wrap up, and to reassure any musician friends reading, I want to point out areas where computer gaming can’t compete with music performance.

  • Nuanced expression is one. Although performance capture technology and detail of simulation are always advancing, the complex, multi-layered, intimate connection of a live instrumental performance won’t be digitised for years to come.
  • Gaming, as we currently know it, is not a fully-fledged form of expression – you can’t convey feelings by how you jump around a map. Although maybe this fellow would disagree:
  • Finally, games are dependent on technology. Of course, you could say this about electronic music. But for me, that’s a major mark against electronic music – if it takes you a minute to start your computer and another to load up your preset banks, you can’t claim to have the immediacy of raising a horn to your lips and blowing.

Hope you enjoyed that! Back to my usual music chat next week! As always, your comments are welcome and you can show appreciation by liking or following on WordPress, or liking/sharing on Facebook.