BeatSprint Music Game – Group Project


This game is a side-scrolling platformer with one action: jump! You choose music from your hard drive, and the level is generated for the length of the song. The mood and pace of the music dictates the difficulty (more beats per minute means more obstacles to jump over).

After a summer learning theories on making games (a short-lived attempt at creating one is visible at my smuggler game blog), I jumped at the opportunity when my uni started allowing our course to pitch a game, rather than an animation, for the group project. I spent 2 weeks getting together a music visualisation demo in Qt and C++, and with a few hasty concept designs, my pitch was enough to get the idea chosen!

We were randomly assigned group members – I had no idea who any of my three team members were (of course I know them well now)! Everyone had clearly defined roles, mine being the leader and game/ engine programmer. After some research into engines, without much of an idea of what the game would be, just that it was a side-scrolling platformer that reacted in some way to music that the user could choose, I decided on the Angel 2D Engine

Some of the engine architecture was very confusing to me (a relative newcomer to C++, and writing games) – there were four destructor-like functions one could call per pointer to an object! I spent a long time on bugs caused by my wrong assumptions about how the engine “should” work. Also I didn’t have a debug build, which I didn’t realise I could do!

The project was 4 months long (along with other assignments) so I learned a lot in that time, both through programming, and being taught in lectures and tutorials.  It felt like every new thing I learned in maths or programming could be almost directly applied to the game. I decided a month before the project’s deadline to restart all the engine programming, switching development OS to Linux (an OS I had barely used) which gave me a lot of motivation to work hard, fast and well. I was still writing the development tools for the artists to add their work a week before the deadline! I taught myself skills that I needed quickly, such as how to write a shader in GLSL in a day, then writing the music-dependent sky shader in a couple of hours.

I knew my personality did not make me a natural leader before starting the project, but after making quite a few mistakes, I learnt an awful lot about managing a team, and getting them working efficiently. Since we were a group of introverts, strung together, communication was in short supply, and at times the project suffered for that.

Here is a link to the executable and source code (unfortunately, it only works in 64-bit Linux at the moment. If I have the time and inclination I might make it multi platform later):

Here are some gameplay videos (having chosen some songs that are distributable under the creative commons license – I don’t want to get in trouble for copyright infringement). Also I had to cut the songs down due to my video recording software breaking after a minute every recording:

AlexBeroza – Purple Nurple

Super Sigil – Thunderlizard at the Art War

cdk – Look to la Luna

djlang59 – Drops of H2O

Jack Bzowski – Art Director
Tom Beaufoy – Programmer (Beat detection, OBJ animation)
Tongqi Ou – Artist


One thought on “BeatSprint Music Game – Group Project

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s