Some thoughts on dancing games (and exercise)

I have always liked music. When I was younger I played and sang more, and I recall even liking to dance. Nowadays, I mostly stay away from all; some because I don’t know the songs, but mostly out of irrational embarrassment. Coupled with fairly stationary studies and work, and rarely even taking a walk, let alone climbing or hiking (even though I quite like to), I’ve grown weaker – and flabbier – than I like.

My main issues with dance are that I don’t know what to do (and yes, rationally I figure it is not that important as long as I keep up the flow… but that does not stop me feeling lost, which breaks my stride), and even when I do have an idea, I may be too uncoordinated to pull it off. Rhythm isn’t a problem; my problem with DDR-style games, of which I mostly played Stepmania (I even instigated a bulk purchase of mats once), is only to read the abstract symbols ahead far enough. And rarely to stay in place over the mat.

Technology caught up.
Continue reading

Piano Booster

I rather like performing games like SingStar or Performous, but what they can teach you is in general rather limited. Most of your technique will be based on practice, and with things like Rock Band, that’s not going to be much good because the instruments aren’t really playable (though Band Hero’s drum set comes closer, being a MIDI set). In addition, they tend to use a simplification of the standard notation.

Recently I came across an exception. Piano Booster┬áplays common MIDI files and expects you to play along with a MIDI instrument; I’d encountered keyboard specific ones before, but this time is uses standard notation. In addition, the difficulty is much more tunable than I’ve seen elsewhere – you can choose what track to play, adjust tempo and transpose, restrict hands (for piano) and even get it to pause the music until you get the chords right. In short, it’s more of a trainer than a game, and a competent one at that. For more details, check their website.

(Found, like many of the things I hear about, via Debian.)

54321, a forgotten game pack

The other day there was some discussion of a 4-dimensional game in an IRC channel I frequent. This immediately led me to think of 54321, a collection of 5 games in 4, 3 or 2 dimensions for 1 player – it’s the first four-dimensional spatial game I played. So I looked it up again, and found no hint of its existence on the author’s site (apparently now Mac-dedicated). I’d expect at least a mention of why it was taken down, but the page is simply removed. The source is still available in various places (my own copy), though, and still works today. It requires SDL and SDL_Image.

Guitar Hero drum sets

I recently bought a Band Hero set, because I love music, yet have difficulty motivating myself to play, and rather liked the drumming from trying out Guitar Hero World Tour. There was a major disappointment with some chopped up songs (supposedly for censoring), which I’ll likely write about later.

However, what I wanted to mention today is the sensitivity tuning. It appears the GH drums were always based on actual MIDI drum sets – the kinds used for training without a proper soundproof studio. That meant they use MIDI ports, and include the ability to tune the hit sensitivity. The BH drum set beats out the GHWT set in this regard, as it has MIDI out as well and thus needs no special software to play.

However, the tuning method isn’t documented. This is done all the time with proprietary stuff, but makes no sense. It’s not like you can’t experiment anyway, and documenting the controls (a bunch of channel 16 CCs) would’ve taken half a page of the manual, or equivalent space on, say, the assembly instructions. As the tuning kit was sent out for free when it was introduced (because the WT sets were often so badly tuned it rated as defective), it doesn’t really make sense for greed to motivate this omission either.

Anyhow, the tuning kit provided by RedOctane only works with some versions of Windows (requiring a MIDI interface and .NET 2.0) or some Mac versions (didn’t check closer). The two or three knowledgebase entries describing it alone contain more text than would’ve been needed to describe the protocol (and so does this rant). I eventually managed to combine a simulated Windows machine, a virtual MIDI interface, and a MIDI message monitor to find out what the program sent. The grand total is 8 messages.

Had I known these messages beforehand, I could have used my MIDI keyboard to tune the drumset. No programming, no downloads, and very little effort. What I wound up doing, though, was writing a small script to tune Guitar Hero or Band Hero drums from GNU/Linux. Activision (who host the support site where you find the tuning kit) didn’t want to link this to the knowledgebase, though they did suggest mentioning it in the forum.

Finally, to not come off as a jerk, here’s the actual list of CCs used. They’re all sent on channel 16.

Drum pad sensitivity, low values mean higher sensitivity, values used by program range from 4 to 40: 100=pedal, 102=blue, 103=green, 104=red, 105=yellow, 106=orange.
The settings are saved by sending CC 101 with value 3, then two seconds later CC 119 with value 119. I’m not sure precisely what these commands do, but it wouldn’t be entirely surprising if the first erases EEPROM and the second writes it. If not saved, the settings should revert on the next powerup.


Some years ago, I encountered a neat puzzle game called Deadly Rooms of Death. While an interesting game in itself, this post is not about that. Having caught my eye, though, I had a thought to port it to some portable gaming platform. I made some effort, unfinished, to port it to Nintendo DS, and then found out more about its structure.

During Software Freedom Day 2009, this came to mind again, as someone mentioned column-oriented databases. DROD happens to use one of these, which also eschews the tradition that database engines are squeezed into SQL interfaces. Instead it’s an embeddable library, with support for file based, in-memory, or indeed overlaid databases, simultaneous reads and writes, and automatic format conversions. It’s called Metakit. This quite remarkable bit of software struck me as convenient yet remarkably unknown. It would do an excellent job in many places SQLite is now used, and I’ve long had a slight distaste for that engine because it not only relies on reparsing SQL statements, it forces conversion to text strings for any data content – particularly numeric entries. I vaguely hope this post will bring Metakit some deserved attention.


I’ve been asked to post occasional tips about free software. Not some particular type, but merely things I know of that might perhaps be of interest to others. So, today I will mention Hearse. This is a small add-on program for NetHack, one of the most well known and expansive Roguelike games. Ordinarily, in the game you may encounter graves and ghosts of earlier players, but only those who played on the same host. Hearse adds a service for exchanging the “bones” data, meaning you can enjoy this small bit of interaction with your friends even though you play on separate machines. Enjoy!