Making a homebrew Beatmania game
I've inspired myself to write a music teaching program. The idea is this:
I've been playing a ton of Beatmania lately. That game taught me how to site-read some pretty complicated stuff, just on an "instrument" that isn't any use at all to anybody. So I'm going to write a program that does the exact same thing as Beatmania, only using a real musical midi keyboard. There will be a drawing of a few octaves of the keyboard at the bottom of the screen, and blocks will fall down onto the keys just like beat mania. It will grade you just like Beatmania.
It will take any MIDI file and it will be a Shockwave program for playing either on its own or in a web brower. Some ideas I have for additional features:
Ability to choose which of the 16 midi tracks you want to play. Bass, Drums, Piano, horns, etc. I will even have an option to automatically change to a random track every 4 measures or so.
I will incorporate note durrations. Beat Mania only has you tap the key and the sound rings for as long as it has to. My program will drop long blocks for long notes. You have to keep the key held down until the block passes (like the hold arrows in DDR).
I will incorporate dynamics (note volume). I will break velocity values into three sections (loud, medium, soft). The "boldness" of the block's color will indicate the velocity. A bright red block will be a loud note. A washed-out red block will be a medium velocity note. A pink block will be a soft note.
Ability to "dumb it down" for beginners. Instant "light" songs without having to spend time altering the orriginal MIDI file. I can have it only display notes that land on the downbeat and autoplay the rest (similar to "little" in DDR). I can have it only display the root note of chords and autoplay the rest of the chord. I can have it hide any ghost notes (really light drum taps, etc) and autoplay them. I can have it automatically hold a note for the correct durration so you only have to tap a half note and it will shut off at the correct time on its own (like the real Beatmania). I can have it ignore note velocities so you don't have to worry about dynamics.
I will make an optional secondary display that shows a scrolling musical staff with standard music note notation instead of the Beatmania style falling blocks.
I will make every song scroll the same speed. The biggest pain in the ass with Beatmania is having to switch between highspeed 1 2 and 3 to get your blocks falling at about the same speed from song to song. My program will automatically choose between the highspeed settings to keep everything scrolling consistantly. Of course, the user will be able to set exactly what that 1 scrolling speed is.
An interface that lets you play on a computer keyboard in case you have no desire to learn the musical keyboard and just want to play.
There will be a column dedicated for the foot pedal off to the side.
And of course, I will incorporate some real-time graphic indicating when to use the pitch bend wheel.
So..... anyway, that's my plan. The software I need to make it is free for the first 30 days and then costs $250 so..... hopefully this will be done in a month. :D Truth be told I can probably do it in a weekend if I say "to hell" with fancy graphics. I'll keep y'all updated.