Greetings, my brothers and sisters in the Order of the Funk...
What an exciting time it must be to be a visitor to this website! Two updates in as many weeks -- an unprecendented development in the history of a "weekly" feature! While I focused last week on graphics, I am going to talk a bit this week about Funk, and how it powers the game engine behind The Groov Cosmos.
Much like my first game Groov, The Groov Cosmos is driven by an internal musical timing system I call the conductor. The conductor triggers audio samples, game events, and is used to generate discrete and continuous graphical effects. In fact, while it shares the basic principles of the system behind Groov, I've completely re-written a new musical system for The Groov Cosmos that is able to do so many more things, like dynamic key changes, tempo changes, improvised patterns (a particulary cool feature), pulse shaping, and more.
Some of this stuff was implemented in a rather half-baked form in Groov, but a lot of the content was hard-coded into the game itself. Now, it's all abstract, and I've built tools for importing MIDI files and editing, or creating songs from scratch, within my new music engine. If I make a pattern in my toolset but don't think the instrument it's playing on quite suits it, I can record some new sounds, plug it into the sampler library and put it into the game; reverb, delay, filters and all.
One thing I'm particularly excited about is how I'm going to handle dialog. The Groov Cosmos takes place in a musical world, and you will encounter other characters throughout your journey. Since they live in a funk-powered universe, they naturally will sing and rap. And the cool part is, while the dialog lines will be pre-written, they will be rapped and/or sung dynamically so that it matches up with whatever part of whatever song happens to be playing at the moment.
The video above shows a very basic implementation of this idea. It's a real-time capture of a demo I put together for the systems I've been talking about -- the dialog lines and beat drops are triggered by me fiddling around with an Xbox 360 controller, and I didn't edit the captured video, just uploaded it straight to Vimeo. Neurotic disclaimers for unfinished work incoming:
- The speech synthesizer just has a plain old sample bank of me saying a bunch of phonemes in my regular voice. The characters in the game will sound much cooler.
- Hopefully I'll be able to get the dialog sound a bit more naturalistic by tweaking how emphasized syllables are handled
- I was capturing footage of this real-time demo at the same time as I was playing it, so the beat isn't very smooth and for some reason the voice drops a few phonemes here and there. It sounds better when it's running without video capture software, but hopefully I'll be able to optimize the time keeping a little more anyway.
I hope you enjoyed reading this and watching the video. If you have any questions or suggestions about what you'd like me to focus on, hit me up in the comments or on Twitter!