Thanks for asking, Craftvania.
Sorry, I've been busy with jobhunting, updating some Portal 2 maps
, and stuff like that.
Hey, I heard you needed someone to make the intro music, right? Well I am a composer myself. Here is a sample of some of my songs on FamiTracker in the form of .nsf files:
Thanks for volunteering in principle.
What I would need is a song that works nicely as the background for the cinematic prologue sequence. Ideally it would be timed and themed to work together with the on-screen choreography, but not too tightly, so that the small changes to the text and timings can be done later, such as translations to different languages, which inherently have different length texts and thus different timings, without making the song appear off. It should be in the same musical style of the existing soundtracks of that game, so as to not feel out-of-place with the game.
Additionally I would envision the background music of the first few scenes, where actual content from Castlevania 1 is shown, to be somehow reminiscent of the actual music of those events in that game, even if not straightforward a copy thereof.
Furthermore there are a few technical limitations:
You cannot define any new PCM samples. There is no room for them. PCM samples can only be placed in the common ROM bank ($C000-$FFFF), and it is already full of the game's code. This means "no" to the massive bass chords you were using in your sample tracks. The only PCM samples you can use are the drum samples that already exist in CV2.
As I have not yet reverse engineered the sound engine of the game, and I have failed to reach and get a response from anyone who has, I would have to write a new music engine just for the prologue. Not a problem; I think I can do that. I just don't know how much space it requires from the ROM.
The largest contiguous block currently available in the ROM is about 6000 bytes ($1770) long. This would have to fit the engine and the music. This probably is enough. In comparison, Capcom's sound engines used in Rockman 1, 2 and 3 are each about 2800 bytes long (excluding SFX & music). Simon's Quest own sound engine (excluding SFX & music data) is about 2400 bytes long.
I would probably like to keep a portion of that reserved for future features such as achievements or gameplay demos.
There are furthermore some restrictions on the RAM addresses that the player can use. The prologue animator engine uses almost all of the available RAM for stuff like decompressed animation data. I envision I can probably make available some 256 bytes, split between two or three distinct memory regions.
That said, I don't know how much space Famitracker's engine requires and how well its data is compressed, and which RAM addresses it uses. I am working with the assumption that I do indeed have to write a new sound engine and associated compression method for the music data. This means that any contribution I receive should be in a format
that includes the minimal amount of decoration/spices (such as pitch bends, vibratos, volume tremolo, arpeggio, playing with different dutycycles etc.) possible: a S3M or MOD would probably work best, followed by MIDI, because I've got plenty of experience of dealing with those formats. (Dealing with MIDI, S3M and NES music has been my largest target of effort in hobbyist programming for 20 years.) Any spices would have to be added afterward, or included as command+infobytes in S3M. To reiterate, I cannot currently use a NSF file or a Famitracker's .ftm file. Furthermore, this would make the song partially dependent on my artistical work as I fit it for the music engine in the making.
If I indeed have to write a new sound engine, the composition does not need to include the instrument gimmicks that Simon's Quest uses (such as driving the first frame of each note an octave lower); that's the sound engine's job.
I fear that these facts may drive away any potential music contributors. As such, I do not dare to ask
straight for anyone's contribution, out of fear that the contributor would be upset at me if the released outcome is different than what they contributed.
Of course, someone else could write the music engine just as well. It would need to include an entrypoint for "stop song", "start song", and "periodic callback" but otherwise be entirely self-contained. Bonus if it can read its music data from another memory bank through a callback.
The current version of the prologue can be seen here. It is an animated 640x480 20fps GIF rendered with nesemu1
, but the timings are correct for the English version.
It also includes the glitches I'm trying to figure out, but these do not affect timings.http://bisqwit.iki.fi/cv2fin/dev/prologue_gif_large.gif