26th November '14 by Jaime Cross
Today I'm going to talk about some music in Monstrum again, this time: the Hunter! As with the Brute's themes there is a fair amount of sound design stuff going on as opposed to traditional instrumentation, so I'll go over that as well as the general ideas that I was aiming for. In case you've forgotten, here's the Hunter's Chase Theme:
When I went over the Brute's tracks before I explained that I wanted it to be about the pulse and drive, with a heavy focus on rhythmic and percussive elements to get over his general attitude towards things. I wanted to do a similar thing with the Hunter, and try and bring out his character musically. He's sneaky, and creeps around a lot, so I wanted to imply a sense of movement, things shifting even though nothing seems to be changing. I also wanted to play around with some more dynamic passages and silences to both contrast with the Brute's themes (the chase/hide themes were especially full on) and, again, play on the stalking/hunting aspects. The mild elemental theme popped up here too, with some more watery sounding effects coming into play as well as being used as a base for some of the sound design parts.
I originally started with the chase theme for the Brute then built the wandering theme from some of the original elements, while this time around it was the opposite. I'll quickly go through what's happening here. As is tradition when you get new toys you immediately have to play around with them, so I was messing around with a version of Camel Alchemy that came with Computer Music (do buy this mag). Alchemy is a sample player, but allows you to set parameters to (and automate with) two XY pads. Kinda looks like this in motion:
It's pretty handy, and allows you to get some fairly fluid automation done quickly. If you're using Ableton then you have access to XY pads too. Here's the same part for the 1st pad:
And here's how it sounds:
Big, deep and watery and maybe a little cheesy on its own. I also used another Alchemy patch for some string slides, which sound like this:
There's a synth bed in there as well from Xils Labs' PolyKB II (Player, specifically) which has an on board arpeggiator. This gets triggered as the part plays out, with the playback rate automated as the track does on. You'll hear it kick in around 12 seconds in.
I also dirtied up this synth with a fairly distorted amp simulation and cabinet sim, to make it sound less pure and seem a bit less focussed, matching with the Hunter's MO. The signal chain's not doing too much beyond that.
Anyway, stick them together and you get this:
Finally there's a sliding, almost whistle like tone that appears after the pad fades out, slithering in before vanishing back into the shadows. Here it is on its own:
This also ties into the use of dynamics in the track. The whistle bends back to its original tone with a final whack of low, watery drum before both fade into the ether, giving way to a quiet, almost non-existent hum before everything comes crashing back in. Here is that section in motion:
Overall there's not much going on melodically, but there's still a degree of motion and movement in the theme that keeps it from remaining too samey and dull.
I had a fair amount of fun making things for the chase theme. It takes the water drum sound from the wandering track as the main sonic connection, but almost everything else has be re-appropriated and mangled to the point of being in comparible to the source material. A lot of people will turn to premade sample packs or a fairly quick fix without really experimenting with what can be relatively mundane samples. When creating this track I was thinking less about how each element was going to sound, but what I wanted it to do. I didn't really go in with a plan of “this is exactly what I want to make so now I must do it”, and a lot of it was through experimenting with things until I found something I liked. So don't be afraid to mess around with stuff!
First let's go over elements that I didn't make myself. There's a sort of pulse and scrape sound that comes from Alchemy again, with some automation across its two XY pads. This time it came from sweeping across the 8 remix pads on the right hand side, like this:
and results in this:
There's also a really heavily filtered shaker part running through out as I found the track lacking in high end material. It runs into a fairly wide convolution reverb send and grain delay send, and it highlighted during the quieter section with a slow low pass filter sweep to give that section a bit more movement and serves as a build into the louder section again. That whole part sounds like this:
RIGHT. Onto the good stuff. Firstly I'm going to talk about the sort of airy pad sound that also happens during the shaker section above. It originally started as things being poured on glass for shattering layers before being turned into the above. Here's each stage of the sound:
Original, Pitched, EQ'd, Delay, Reverb, Sends
and here's the effects chain:
There's also a send going out to the reverb, grain delay and a resonator at the end. At the start I pitched the original sample down two octaves to stretch it out, then warped it (pitch stretching without the time stretching) down a further octave in Ableton to get a sort of metallic sound. From here the EQ cuts out the low end as the main track is pretty bassy as is and there were a few artifacts I didn't like too much, and the short filter delay accents the metallic aspects.
One of my favourite things to do with delays is to play with the delay time as it's receiving a signal, as it'll start altering the pitch of the output to some interesting effect. This actually happens in the shaker part if you listen closely, where it emulates the sound of a ghostly cry in the distance. At least that was the plan. It's also used again before the second quiet section as a transitional riser.
Next there's a really dense reverb that spreads the noise out, and finally with the sends, including a resonator, added in. Pretty different from the source eh?
The same is true for the next two examples. Firstly, this:
Was originally some of this:
after being run through this:
I wanted something to contrast with the main “bass drum” sound and act as a “snare” that played off the somewhat industrial vibes the monster themes have. It's a strong, unnatural sound that ramps up the tension in the track quite dramatically, and is based on the fact that I thought the original splash could work in a similar fashion.
There are actually two layers of the same sample per hit, with one pitched an octave lower and each having their own respective EQs and compressions to keep them a bit more contained in the mix before being grouped together. The amp sim distorts the sound pretty heavily and the reverb, despite appearing being fairly short, helps to accent the attack of the sound and gives it a more natural and obvious tail. The EQ is to keep the lower end from overpowering the mix and the auto filter kicks in during parts of the song, taking out the high end so other sounds aren't getting muddied up. A lot of this is sent to the grain delay send too.
Now for some traditional instruments: strings!
Or not. As with samples, playing around with effects on instruments can lead to some interesting combinations and should just be stuck on guitars and the like! I mainly used this as a riser leading into different sections with some volume automation to build it up more and decaly the long tail a little sharper. Here's what the effects chain is like:
First in the chain is a frequency shifter that gives it some more metallic overtones, with the amp sim applying a bit of distortion and noise to the sound and the phaser smearing it together. As you might have guessed Ableton's Grain Delay is one of my favourite plug ins, and here it transforms what was still identifiable as strings into this big screeching build up, which runs into a stupidly long reverb that has a focus on the mid to high-mid range.
Finally there's the little background chirps during the quieter sections. These serve as percussive elements and provide some uneven movement to the track due to the delay settings. Like the splashes, these have two layers of the same sample with one pitched an octave lower. Here's the effects chain:
The amp sim softens the low end and introduces some noise to the signal, with the cabinet sim tempering it a bit to make it less irritating. The grain delay has automation on its pitch and pitch randomisation settings as the clicks play, so you can hear the delayed signal changing with time with a lower amount of the dry signal keeping the original base sound. Lastly a bit of reverb to give it a bit more space and a little off to the reverb and delay sends. Here's the end result:
And, uh, I wrote another essay again huh? But hopefully this little breakdown'll encourage you to incorporate sound design elements into your music, or make you want to play around with them in general! Here's a playlist of everything in case you want to go through them all:
20th November '14 by Team Junkfish
Hi, Grant here again. As we get closer to our planned release date we're all cracking down and getting as much done as possible. The design blog has been particularly quiet because we've been working on a bunch of improvements to the game such as new environment features, escape routes and items (some of which Adam has ALREADY SPOILED) and making our monsters more...eh...monster-y.
While I can't talk too much about those at the moment I will talk briefly about our favourite subject here at JunkFish – Doors.
Why do we keep talking about doors? Well a lot of it comes from this excellent blog by Liz England of Insomniac, about how a good way to help people understand your role as a developer is to describe to them your part in getting something as everyday as a door into a game. It's also great at conveying the challenges of the job, as it shows how something so commonplace can become incredibly complex when it comes to sticking it in a game. Needless to say that blog has been invaluable in helping us explain what we do to people at parties.
“-and at first we even tried to use the PLAYER normal! Ha ha ha!”
What I'm going to mention here is how we use doors to convey aspects of our monsters to the player. There are several types of doors in our game, some wooden, some metal,some lockable and the ways in which each monster interact with them indicates to the player some of their characteristics.
How they deal with a closed door that opens in towards them shows their intelligence, e.g. a smarter monster will open it properly while more animalistic ones will simply attempt to break it down after realising it can't be pushed. The speed with which they do this displays their physical strength; a strong monster can break down a wooden door almost immediately, while the others would take a few seconds to demolish it.
This can be extended into a gameplay mechanic; for example if a player were to learn these behavioural differences they could use this knowledge to their advantage. If, say, they were on the run from a weaker monster they'd know locking the door behind them would buy them a few precious seconds to hide, whereas if they were running from the Brute it'd be a waste of time. Another example would be locking a monster behind a sturdy metal door unlocked via switch. A strong but dumb beast will spend some time breaking it down, while an intelligent hunter will just flick the switch.
That's all I can really say at the moment, as I must now return to the reclusive Junkfish work hive.
Will there be more door blogs? Who knows. Who knows...
*Sound of typing*
17th November '14 by Team Junkfish
Hi, Andrew here! Just a quick post today.
In Monstrum, doors can be knocked down by the monsters. We are currently improving how this looks, and nothing can demonstrate this better than an action shot:
Implementing this effect is easy enough – each hit just activates a new collection of physics objects and disables the previous ones. Objects that need to carry over between hits are re-parented out of the system upon activation to prevent them being disabled. The physics still needs a little bit of work, but I hope you enjoy the gif!
11th November '14 by Adam Dart
Hey guys. Hope you've all been doing well and had a good Halloween/Bonfire night as well.
So we've been working on our 3rd escape route. I've been rather excited about this one as the player must escape by air via helicopter.
(You know how to fly a helicopter, right?)
Originally, I had thought of modelling something similar to the Bell 206 Jet Ranger helicopter (image above courtesy of Wikipedia), what seemed to be a common model of helicopter around the 1970s. However, I had wanted to make something that looked a bit more sea-borne to really fit with the setting.
I took a lot of inspiration from the Sikorsky S-61 (Shown above), an American amphibious helicopter with a rather interesting looking boat-like hull. This helicopter was however far too large for us, so in the end, I ended up with a mishmash of the two helicopter models:
Isn't it cute!
The orange/blue livery was chosen, not only to make it stand out, but to make the colour scheme consistent with the other escape routes as some sort of abandoned rescue helicopter.
(Just a note. These images are taken from the Maya viewport. They will look slightly different in our game's Unity engine)
I tried adding some floatation devices in an attempt to better fit the helicopter into the ocean setting, but as the player was unable to reach the door without a set animation over these devices, I ended up removing them for simplicity. The tri-count for the model is a little high as the interior had to also be modelled.
In addition to the helicopter, we modelled new equipment for the player to play about with...
We've got some bolt cutters which are part of some new gameplay mechanics that are being implemented. I'll leave it for the design blog to talk about these mechanics but here is an image of them in the Maya viewport.
We've now got GUNS! Now you can shoot your way off the ship like James Bond!
Okay. Maybe not “lethal” guns....but still a gun nonetheless.
We've got a rare flare gun in which the player can use tactically against the beasts of the ship.
Andy cheekily branded it the “Dart” gun as I have a thing for modelling weapons...
Lastly, we've got this device above. Who on earth knows what this could be used for?
We gave you a sneak peak at the exterior in our previous art post and we've made quite some progress in this area.
Though some of this is still currently being implemented into the game, we can show you more textured shots in Autodesk Maya....
“It's kinda like Lego for boats” describes our artist Andy. Above are only some of the many pieces that he is working through that make up the exterior.
The pieces we made allow for great flexibility in changing the size and shape of the ship. When put together, our programmers are to make the ship as wide or long, tall or short as they wish. An example of it all put together is shown below.
As there are many repeating parts, one of the challenges our artist Andy has to overcome is to make sure the texturing looks right repeated. Too little variation, and each piece looks really plain. Too much, and the repeating gets really noticeable. This also varies depending on how close or far the player can see these pieces. This isn't so much a problem inside, as the player is always close up to these pieces, but on the outside, they can see much more and this is where repeating textures that are too “unique” start to break immersion.
On top of the walkways shown above, we will have lots of deck-specific deco that we are almost finished with.
It's shaping up to become one of my favourite parts of the level.
Finally, I've been doing some more lighting tests in my unity scene as I feel that some parts of the ship are far too dark. These are not currently in the Alpha build yet.
Lower Deck Workshop
Upper Deck Bunk Room
Main Deck Walkways
That's all for now!
Keep your eyes peeled for our next blog update!
Adam and the Arts.
22nd October '14 by Gary Robertson
Hey there guys and gals, it's been a while hasn't it? You remember me right? This time I get to tell you all about the other things I do here for Monstrum. Not only do I program the beasts that hunt you down, I also put Jaime's sounds into the game to creep you all out. So Hi, I might be the guy you love to hate as you play through it.
So how do the sounds of Monstrum get from our workspaces into your ears and get you involved in our game? By our own Audio System of course!
When we first started work on Monstrum we realised that we needed to do more than just play sounds in the right places to give you scares every now and then. We decided we would need to do everything we can with the sounds and use sound to its full potential. This includes cross-fading between various sound sources, audio being occluded by walls and also sounds that affect the game itself! So how does it all work?
After I import the raw sound files into the assets of our game we import those files straight into our audio system. Basically, the audio assets are all broken down into folders in Unity. These folders are then used to create Audio Libraries, with each folder being its own separate library. These allow us to edit all of the monster's roars all at the same time in one easy to use system.
Possibly the least scary screenshot of a roar to ever exist
Once this Audio Library has been created we can start to mold the sound into what we want it to be.
So do we:
(Audio Type) Want it to be a sound effect or a piece of music?
(Loop Type) Want the sound to loop or to only play once?
(Randomness Type) Want to randomize and pick a sound from the library at random or just list through them?
(Occlusion Type) Want the sound to be occluded by walls?
(Start Granular) Want it to play right away or play it after some time has passed?
(Start Volume) Want it to be loud or quiet?
(Start Pitch) Want to increase or decrease the pitch?
(Fade This) Want this sound to fade in or just play it right away?
The most eagle eyed of our readers will also notice that there are some randomness variables in there as well. These are to give us a bit more variation from a fewer sources, as pitch shifting a group of 10 samples is lighter than having a group of 50 hanging around!
These variables let us finely tune each sound's playback properties. When we call for a sound to be played within the game the audio source refers back to the Audio Library of the sound needing to be played and follows what the library tells it to do. Therefore our lovely monster roar behaves in a completely different way from your character's footsteps, falling over traps... being killed by the monsters. You know, all those things that you might do in the game.
Occlusion? What's That?
Monstrum is a procedurally generated horror game where you encounter a monster that occupies the ship you are stranded on. So, you are not the only thing on the ship making sounds, and these sounds may not be coming from the room you are currently in. It may be the monster walking about in the rooms close by, up the stairs, anywhere. By changing how you hear the sound you are given an idea of where that monster is. We do this by occluding the sound to make it sound quieter and more muffled depending on how many things are between you and the monster.
Every wall that is between you and the sound's current location will decrease the sound's volume and lower the cutoff point of a Low Pass Filter. The filter modifies the sound by stopping frequencies above a cutoff point from being played, only frequencies below that to pass through. This gives the impression of the sound being muffled by the walls. The more walls between you the sound means you will get lower volume and a more muffled sound. So when you are hiding terrified in your metal coffin (sometimes referred to as lockers) you will be able to say something like this:
“I HEAR IT! I HEAR IT! IT'S THERE! IT'S RIGHT IN FRONT OF ME!”
“It's to the right, but it sounds quiet and a bit muffled. I think it may be safe now”
I got scared a used a radio instead of a monster to demonstrate
Sounds That Affect The Gameplay?
All of the above just tells the game how to play the sounds, how does all of that affect how you play Monstrum? What's missing in the post is an extra little script not only allows you to hear the sound, but it allows the monsters to hear it as well! Some sounds have greater effect than others but all have the ability to alert them towards that area. During your time on the ship this feature could be a blessing or a curse. You could use it to your advantage and try to distract the monster to another location or you could just bring him right to you as you were making too much noise. No matter how you cause these sounds, expect to have company soon.
That will be all for now.