I’ve been up to my eyeballs in audio the past handful of weeks, and I know I need a break from it, and you probably do too. BUT!! This week was spent re-writing large parts of my audio engine and roughly balancing the audio of the game.
What’s with me and constantly re-doing things? Well, I’ve been using the same audio code for almost 8 years now, adding to it here and there when I needed to but keeping it mostly intact. The amount of polish Joonas brings to the audio really highlighted major problems in my code and forced me to make it a lot better! I’m about ready to record a trailer, but I don’t want to have obviously crappy audio in it, especially when Joonas is doing such awesome work, soooooo this was the time it had to be done.
An example of a problem I was having: I showed long ago how sounds fade the farther they were from the player, like so.
It’s neat, but it produces unpredictable results. Depending on how zoomed-out the camera is, sounds can be on-screen but faded, or even completely silent. So, a boss could be right there in plain view warming up an attack and you’d never even hear it. Not cool.
I changed the circle to encompass everything the camera could see instead, but that just produced a different flavour of unpredictability, since now sounds can be way off-screen in some cases and still heard, or barely off-screen and not heard.
What kind of style did you decide on for Bleed 2, and how did you create it?
With Bleed 2 I had this idea of using musical instruments to build the sounds with, not necessarily as melodic or harmonic elements but more to explore all the weird sounds you can get out of them as a sound design element. So we recorded a bunch of guitars with my assisting sound designer Niilo Takalainen (who also recorded a lot of source elements for me to use) and then we recorded a bunch of synthesizers. As the game is very action packed and stylized I wanted a lot of the sounds to be quite “in your face” and “abstract” to match what was happening on the screen. That all said I wanted to keep some sense of reality or familiarity in the soundscape by having stuff like footsteps or clothes or walls breaking etc sound somewhat “realistic” using normal sources.
We didn’t want any spoken dialogue for the characters so to say, so we only recorded a bunch of short voice clips for actions that the players make. I wanted the voices to tie up together so that they didn’t feel like just random vocals so I came up with this little “kind-of-like-syllables-system” where for example if the character jumps they make a “HU” shout and when they swing a sword they make a “YAH” shout and when they hit an enemy they make a “NAH” shout so when all this happens rapidly it would be a hearty “HUYAHNAH!” and different actions have their own small “vocal snippet” and when you start tying them up you can kinda tell what’s up by just listening, the actions hopefully become familiar to the player like that. The voice of Wryn and Valentine are by the lovely voice of Isa And and the voice of the Rival is me.
So, as the playable characters have their own voices I decided that I want to give the numerous bosses of the game their own identities somehow as well. After getting to know the bosses I nominated various items that would be the ‘prominent layers’ you’d be hearing, for some boss it could be a distorted guitar, for some some it could be a RC Car or for some boss it could be the lush tail sounds of a industrial reverb to emphasize the environment it is in and so on!
I’m super pumped to announce that Joonas Turner is doing the sound design for Bleed 2!! If his name sounds familiar, it’s because he’s worked on roughly a million games and properties, ranging from Nuclear Throne and Environmental Station Alpha to Angry Birds and Transformers!! He’s an amazingly talented, creative guy, and his sounds are bringing Bleed 2 to life in a huge way.
Here’s a mini-documentary he made for his work on the upcoming Gunkatana! It’s a fascinating (and fun) look at how audio is made.
So, what does a professional sound designer bring to the table? I’m glad you asked!
Attention to Detail
In the original Bleed, Wryn’s boots made a little scuffing sound as she walked, which was nice. In Bleed 2, there are dozens of noises for walking, jumping, landing, wall-kicking, etc — and not just generic sounds, but sounds for carpet, metal, bricks, grates… it all changes depending on her environment and what she’s doing. Now imagine this kind of detail across the whole game. It really brings the world to life!
All of my previous games have been straight-up mono sound. It never even occured to me to try otherwise! Now, at Joonas’ (much appreciated) insistence, sounds actually match positionally to their location on screen, and fade out the farther off-screen they get! It’s about ten steps up in terms of quality.
Another awesome milestone reached this week: all sound effects are in the game!! YES!! I’ll be writing a big ol’ post about my sound designer next week (he’s seriously a genius and has brought so much to the game) but for now you’ll have to make do with this lesser article about a boss I cut a long time ago: the Lil’ Guppy Commander!
You may have seen this picture of him before! He wears a Guppy suit and a big gas tank. He combines the pheromones in the tank with overdramatic arm movements to control swarms of Lil’ Guppies. Here’s some clips of his old fight in action, along with some reasons I didn’t think they were very good. What fun!
He spends most of the fight surrounded by a swarm of Lil’ Guppies, making him difficult to damage. However, all of his attacks make use of the Guppies, leaving him open and allowing you to strike. This one was a reflectable attack, where he’d bunch the Guppies into a ball and use them like a hadouken, but reflecting them didn’t deal direct damage and felt weak (you may as well jump over them and just shoot him while they’re flying around.) He was also made before I implemented the effects for reflectable attacks, which is why he’s missing those.
This week I completed the last cutscenes in the game! That meant a lot of writing, art, and coding.
I’m not some genius writer, so there isn’t much point in a big blog post about it. Mainly, I just try to ensure every line of dialogue has a purpose — usually to drive the action forward or reveal something about a character, that kind of thing. I have little psych profiles and personality summaries on each character that I use to help me decide how they’d respond to events, and what language they’d use. …that’s about it!
With the cutscenes finished, I was able to stitch them together into the game! Now you can play the whole thing from start to finish, including the story (although excluding the credits.) Definitely a very exciting milestone for me. It’s almost like it’s becoming a real game now!
All the new stuff I created this week is late-game and spoilery, so the rest of the post will be a look at how things have progressed over the last three months.
I worked on achievements this week! You can’t trigger them in-game yet, but other than that all the artwork and design is done.
I gotta be real with you here: I generally find achievements to be boring and patronizing. I don’t think simply playing a game is worthy of praise (unless you’re playing Ikaruga, then good for you!!) But seriously. “Started The Game?” “Beat Level One?” “Died 100 Times?” Those aren’t worthy of note (the last one is almost a cruel mocking of the player!)
But, instead of endlessly ranting about the big bad cheevos, I’ll explain how my distaste for them informed my own achievement design!
I should say that I’m all for achievements that celebrate *actual* achievements on the part of the player. If you beat the whole game, then of course I want to acknowledge that! Above are the achievement icons for beating Story Mode in the original Bleed, and Bleed 2 — both ranked by bronze/silver/gold, but now you have a better indication of what difficulty they correspond to.
I’m also trying to take the psychology of less-skilled players into account. The achievement for Easy isn’t marked by a difficulty, and is simply called “Story Mode Clear”. On the opposite end of the spectrum, “Story Mode Clear: Very Hard” comes with a fancy purple background and a big VH to distinguish it as being more worthy of note (ooooooh, aaaaaah.)
I call this scene an ‘intermission’ because it plays between levels to give you a little break. The world is under attack, and Wryn is the greatest (and only) hero they have, so the world is watching and reporting on her every move! I think it’s really cute, but it’ll also help people who care about story, clearing up questions players may have and filling in the blanks for anyone who didn’t play the original Bleed. Of course, if you don’t care about the story you can skip this with the press of a button (or just play Arcade Mode.)
The process of making of these animations was the same I used for the main menu, so I won’t cover that ground again too much.
There’s the process above, and the final sprite sheet below! There are variations for his eyes and mouth, so he can blink and talk.
What is different is the footage on the news screen! That’s not a pre-captured screenshot, it’s taken from a playthrough I had just finished!
Can’t stop the menu train, baby! While they’re not as adorable as the main menu, I created the level select and loadout menus this week!
Here’s the new level select! I tried to make it reminiscent of a PVR menu — Bleed 2 has a minor ‘television’ motif going on. It’s less cute than the original Bleed’s level select, but it gets more information across with the level previews and high scores and stuff. Here’s a gif of it in action!
There’s a bit more going on than you might notice (or be able to tell from the compressed gif.) The level preview has a subtle static effect on top, and the preview images become slightly dark and fade in when you switch between levels — when left at full brightness, it’s really jarring to watch.
The level previews were pretty easy to make — I shrunk down the background assets for most levels and then touched them up to not look so nasty.
I got a lot of awesome work done this week! 95% of the audio is now in the game (the only remaining audio is the last boss, and a handfull of environmental sounds.) I did a first, tiny bit of playtesting. Aaaaaaand I got the main menu done!
Thanks to the menu system I set up a while ago, the hard part was making Wryn’s animations. I wanted to repeat what I did with the original Bleed and use the main menu to show off Wryn’s personality. It also ties directly into the game, since the first level opens with her in front of her couch, playing video games.
So! Here’s what went into making the animations for the main menu.
This week was more random work! I did more audio, finished my Steam store page, and prepared all the levels for co-op play. Woohoo! Yesterday, I decided to poke around everyone’s favourite topic — please join me for one more ride on the magical replay unicorn!
In case you’re not interested, I’m peppering this long article with assets from this week.
Random Number Generation
Things were looking great the last time I worked on replays, but they were woefully un-tested. All that I knew for sure was that I could record a replay and play it back on the same computer. A better test would be to try playing it back on other computers — so I did that, and it worked great… until I tried playing it back on a Mac.
For a quick, simple refresher: a random number generator (RNG) is like a math formula. You give the formula a starting number, called a ‘seed’, and it spits out an endless series of random numbers for you! Since the numbers are being created by a math formula, though, starting with the same seed always produces the same series of numbers. So the RNG makes Bleed *seem* random, but if you were to play the exact same way, using the same seed, the random numbers would always be the same, making the game always play the same, making things like replays possible.
So. The PC version of Bleed 2 is made using XNA, which comes with an RNG built-in. My dirty Mac port was made using MonoGame, which has its own, different RNG. The RNGs are using different formulas, meaning the game behaves differently on each computer, breaking the replays.