Back In Action.

Time for the completely regularly scheduled bi-annual update.

After a very exciting summer working in Montreal with the great guys at Phosfiend Systems, I’m back in Coventry and looking for more audio projects to get my hands dirty with.

I hope to write and post an in-depth explanation of my work on FRACT soon, but in the mean-time suffice it to say that I got to use Pure Data a whole lot and that the game’s audio is great to listen to, fun to play around with, and intrinsically linked to both the world and the player’s actions.

I’ve been playing around recently with the SiON library, which is a library for Actionscript 3 for synthesizing and programming audio on the fly. The documentation is pretty rough, and a lot of it is built around MML (Music Macro Language), which is much more popular in Japan than anywhere else, so again, the documentation is a little rough. However, I’ve got a project going using it, and hopefully we can see what the results are like before too long.

Posted in Anything Else | Leave a comment

I can see a river from here!

I aluded, in an earlier post, to “scary plans for the summer”. I am in the midst, or the result, of those plans and am currently typing this from an apartment in Montreal. It’s very cool.

A lot has happened since my last update approximately forever ago, and I need to update pages accordingly.

I’ve graduated from University, won a award for Creative Excellence (the university’s Rolf Gehlhaar award), moved to Montreal for the summer, got to grips with Actionscript 3/Flashpunk via a great TIGJam in Bristol and figured out MilkyTracker properly. I’ve also eaten far too many hotdogs since arriving in Canada.

Of import, here’s a link to the cross-platform game I created for my dissertation. It’s a very simple, arcade-style game which relies purely upon it’s single gimmick*. It’s very short, requires three different pieces of software to be installed before it’ll run, and it doesn’t really work on Linux.

Sound good? The 3MB zip file is here.

The other pieces of software required are:

Read “00 Instructions.txt” inside the zip for full installation instructions. Let me know if there’s any problems, and enjoy!

*The gimmick is that it’s an Audio Game, not a Video Game. It’s all about your ears, not your eyes.

Posted in Game, Music | Leave a comment

Good Aural.

Well I’ve been a very happy bunny of late.

My recently acquired list:

  • Komplete 7
  • Alesis Q49
  • Macbook
  • Tascam US-144mkII
  • 4 Gigs of RAM (2 for my netbook, 2 for my desktop)

I feel supe’d up and ready to go. Must be why I made some music for this awesome game: Tetris Fight Club

Additionally, the horrible title here is a reference to my current aims with my game. I want this game to be able to be played entirely with your hands and ears.

Modern games are often of the situation that you can turn the sound off and still play no problem. Turn the screen off though, and you can’t do a thing. I want to go the other way around. Turn the screen off if you want, but you gotta have the sound on to be able to play this stuff. I guess I’ve really got to make sure the audio set-up goes smooth when someone tries to play, hey?

At the moment the game is a simple dodging affair. Blocks spawn on the right hand side of the environment, while the player is on the left side and can only move vertically. The blocks stay still for a small amount of time, then sweep the left. You have to dodge the blocks.

To get this information across to the player through purely aural means, a mixture of pitch and binaural filtering is used on each object’s identifying sound. These sounds are created in Pure Data, which receives information over OSC for each object’s current position.

The binaural filtering (implemented with the mega-awesome “earplug~” external) means that when wearing headphones the brain is fooled into thinking the sounds are coming from a 3D area around the head, rather than just two headphones. Combined with the intuitive idea that blocks lower down on the screen have an identifying sound of a lower pitch and it actually works very well to know where the blocks are. Also, the binaural filtering produces a great effect when they swoosh across the screen to smack the player.

At the moment, it’s a little harder to accurately tell where the player is on the screen (especially without getting player and block sounds confused), but I’ve got a few ideas on how to resolve that.

Anyway, here’s a screenshot:

Posted in Anything Else | Leave a comment

Something I Just Wrote.

“A game is a set of rules. Video games use computer code to enforce these rules. Seeing a game or hearing a game is only seeing/hearing an engineered environment to represent those rules. You do not see the rules themselves. As an example, a platform game uses visualised platforms to metaphorically indicate to the player where the rules say he can jump to without failing.”

Do you think is a legitimate statement?

Posted in Anything Else | Leave a comment

Drummin’ with Code.

More work has been happening on the on-going pygame project. You’d hope so, as the deadline draws ever nearer.

I’m using these things called ‘colors’ now. Each level is meant to have a main one, a ‘theme’ if you will, and this affects what colors the enemies, platforms and projectiles are. Fun. I’m thinking about maybe making the player and his shots be the color-wheel opposite of the current level’s theme. That should be fun to implement ;) Here are two screens:


Of course what you can’t see in these pictures are the sounds! The python code now fully calls up pure-data (extended, if you must know) on both Linux and Windows (although it rather crudely relies on default installation locations so I’ll probably have to sort that). There are currently zappy zappy pew pew sounds when the player fires, big whirry sounds when the levels are loading (those backgrounds take ages to paint, which is the next big programming hurdle apart from enemy AI) and a brand new pure-data drum machine makes noises once the level is loaded. Machine:


So that’s that, and I’ve also recorded an orchestra, mixed lots of Sizzling Gypsies tracks and started the write-up for the above big project.

Also, I may have scary plans for the summer.


Posted in Audio, Music, Programming, University | Leave a comment

Busy-ness Time.

I have been really busy recently, hence the lack of updates.

I’ll try to skim through my recent history.

TIGJam UK4 was excellent fun. Met some really cool people and made one very silly quiz game as well as lots of music tracks. The game is of course pygame, and I’ll upload it shortly along with the music.

The Sizzling Gypsies have been being awesome. We’ve done a gig at The Kasbah and at a friend’s birthday party (which I also did the live sound for) and we spent a weekend recording 7 tracks, to make some sort of Demo/EP thing. We’re still mixing those, but we’re working on them!

I have spent a good amount of time on my project. Mostly just in the last couple of days. The results of which are this screenshot:


I know, right?

Posted in Programming | Tagged , , , , , , | Leave a comment

Global Jam Game

I got back from Global Game Jam 2011 last night, and it was really great fun!

I met some great guys, we made a pretty cool game (see here) and I created four tracks of music and about 15 sound effects for the guys. Of course due to time constraints and it not quite working as it should, only one of the tracks is in the game (the one labelled “atmospheric1″).

I’ve added two of the tracks to the music page on here, but there’s more information on the SoundCloud page.

I’ve got TIGJAM UK4 this weekend as well, which I’m really looking forward to.

Anyway, after a busy game-jamming weekend, a gig with The Sizzling Gypsies in the middle of it and no greater than 4 hours sleep a pop for the past 3 nights, I’m going to bed.

Posted in Anything Else | Leave a comment

It’s aloud!

A little bit more work has been done on the code, and I now have the game successfully talking, via OSC, to Pure-Data.

What I need to do now is to create the library of pure-data patches required so that everything in the game makes the sounds I want them to.

Thanks to the object-oriented code design I’ve gone for, I’m actually able to fairly instantly send relevant and useful OSC messages by just giving one extra line of the code to the Manager class. This is awesome.

Next step within the game: obstacles and objectives.

Posted in Anything Else | Tagged , , , | Leave a comment

Triangle Core.

I am now finally happy with the collision detection in the thing resembling a game.

The trick was to only check one axis at a time, something I gleamed from an online tutorial. Why didn’t anybody tell me this before? (I didn’t ask)

However, I then loaded up the game on my desktop machine for the first time in ages and woah did my CPU fry the physics. I’ve now got sensible FPS control, however, which means that everything is wonderful or something.

Here’s a screenshot. Obviously, I haven’t recently played Hero Core or anything, obviously.


I’m currently finding it depressing hilarious how the results I’m currently getting could probably have been in a 3 hour game making competition by a competent programmer. Speaking of which, I shall be appearing at two game jams shortly! On the weekend of Jan the 29th I’ll be at the Global Game Jam in Staffordshire (and performing at a gig that night). The weekend after that I’m at TIGJAM UK4. I thought that since I had never been to a game jam before to do two right next to each other.

Wish me luck!

Posted in Music, Programming | Tagged , , , | Leave a comment


Today it’s been a diet of programming, Daft Punk and fine food and drink.

I’m currently relaxing after dinner with a mediocre BBC sitcom and planning my 300EPA Essay.

The work I did today was all about collision detection. I’ve worked out a system so that I can draw the level on the screen as one surface (so that the charactor sprites can draw behind themselves when they pass over the background, without me having to draw the entire background every update), but have all the constituent parts of the level as separate rectangles for collision detection.

That was the morning, and the afternoon was spent devising over-complicated ways to make the charactor not go through all the walls and floors. A tiny bit of physics. At the moment I’ve got it working (buggily) but there’s a lot more to do, and I’m still trying to get jumping working without terrible floaty-ness.

Posted in Anything Else | Leave a comment