Well, hello there...
And it looks like I’ve finally gotten this thing working. You’ll have to excuse me while the wheels slowly start rolling, but I think I’m starting to get the hang of it all.
This blog is basically going to be a running history of progress made on my game development projects. This will include actual games, technical demos to test key aspects that will later be put into proper games, or other cool stuff I try out while I’m learning things.
Main thing to report on in the last couple of weeks has been some work done on ‘Cosmos Concerto’. which is a game I’m working on with the team at ‘Moving Target Games’ (website coming soon). It’s a space shooter game, that relies entirely on user-selected music files to dynamically generate the in-game enemies and experiences based on analysis of peaks in key frequency bands as the music plays.
Hmm… that sounded much more long-winded than I meant to make that description, so I’ll try for a Portal-style simple description. The user grabs their MP3 songs, and funky music playing = funky gameplay.
My part in the development of Cosmos Concerto is working on the actual audio analysis part of it. We’re using FMOD, which is a commercial sound library and toolkit, that comes with the required FFT analysis functions to perform the Spectrum Analysis that we’re using. It’s extremely powerful, and also thankfully pretty easy to use.
As far as Cosmos Concerto the game goes, we initially wrote it in C++ using the OGRE graphics engine. With the recent release of Unity as a free tool to independent developers, we’ve decided to port the game over to Unity in the hope of making it a more polished game. So far, the transfer seems to be pretty quick and painless. We’ve had to port the code from C++ to C# as Unity uses C# as a scripting language, but Unity has a pretty cool graphical interface that helps speed up the dev process.
Back in early development for Cosmos, I make a quick little C++ program to load up an MP3, do realtime analysis as it plays, and display the spectrum graph and oscilloscope. That file will soon be available in the downloads section of this site. I’m currently working on a more complex version of that, translated to C#. It will have some extra functionality in it, and allow us to tweak the values that are used behind the scenes in the game to work out how often to trigger items, etc. That way we can work out what combinations work best to make it a good game experience.
I may put up a copy of the C# version in there, but if I do, it will be a ‘dumbed’ down one, without lots of the game-specific optimisation stuff in there. I may just make it a nerdy looking MP3 player.
Anyhoo, I’ll leave it at that. It’s almost Xmas, so holidays coming up soon, and I’m hoping to start up on a couple more projects I’ve been keen to get cracking on, this website being one of them as well. I’ll keep you posted on how it all goes.