"More than just programming"



NQ Transmission: VECTORLORD OST - Bandcamp


NQDevon here... In advance of the release of our game VECTORLORD we've decided to tease the game a bit with an Official Soundtrack (OST) Release.


A Bit About VECTORLORD Music

I've been a music/audio nerd for a long time, and so when it came time to write the music engine for VECTORLORD, I wanted to have a bit of fun. This was a challenging part to write, as we had to write our own audio engine from scratch. I could tell some tales about that.


Most of our game logic is happening as a result of 60hz timers pulsing. This actually makes it almost trivial to have music superficially sync up with the gameplay, if the music is playing at 120BPM or "beats per minute" because each beat of music will more or less line up with an action in the game, assuming everything is well synced which.....

...well it's not. Mostly because we keep the music through freeze-frame events. When VECTORLORD is damaged, the gameplay (mostly) completely stops for a moment. This provides some game feel and makes the impact of gettting damaged more obvious to the player. We actually hang onto those freeze frames a little longer when the player is on their final hitpoint.

Because the freezing is so fundamentally player driven, there isn't a great way around this, except a more complicated music system which has a bidirectional communication with the player, and the ability to make intelligent decisions about when to switch to new/different clips of audio.

Fundamentally though, when you have action occuring on 1 second or 1/2 a second intervals (state changes like, laser gates closing) the 120bpm tempo will feel quite appropriate.


So we knew given certain constraints of the project that we weren't going to have time to implement a tight coupling as something like the old (and fantastic) Lucasart's iMUSE -- and that probably would't be appropriate for our game. But for most of the levels in the game, we were able to achieve something pretty satisfying - and simple.

We broke down the types of things that happen during gameplay, into a few categories like "SHOOTING", "COLLISIONS", "POWERUPS", "KILLS". As these in game events occur, the gameplay code "pushes" event counts of these actions into the music system. Each channel of actions is fed through a tuned Envelope Detector and this sets the volume for the track associated with this action - with each track playing a different 'tape loop' continuously - The parameters of the detectors for each action type are tuned to provide the type of dynamo that we want.

You can imagine a sequence happening like this:

With some skill applied in constructing these various loops of music which play well with each other, and tuning the envelope detectors you can create some interesing and dynamic music "on-the-cheap".

This technique does imply certain music-theory limitations on what you can do as far as modulation, etc. In other words - care needs to be taken to make sure the loops etc. play nicely together.

Most levels of the game uses this type of dynamic music. A few special areas have their own themes which are specifically composed and non-interactive.

Editing the OST

Fortunately, I didn't have to do this part! Late in Development we got in touch with a great guy named Jared Farney who ended up contributing some important compositions to the soundtrack. He was so jazzed (ha ha) that he spearheaded the mission to make us an OST.

As you might guess from the interactivity section of this post -- this is not a small task - As songs had to be effectively reconstructed from their constituent parts, as in the OST format, there is no "player" - so the individual elements that a player would be modulating now have to be managed by the Music Editor.

But the end product is here, and we're proud of it! So Check it out!


05-23-2020 -- VECTORLORD 1.1 Economy Update
05-01-2020 -- Why All Coordinate Systems Suck
04-22-2020 -- VECTORLORD OST
04-05-2020 -- AntHive
03-10-2020 -- VECTORLORD Visual Style and Supporting Photosensitive Players
03-08-2020 -- NerveQuake Introductions
03-06-2020 -- Transmission
NerveQuake Software Inc.