Wednesday, December 14, 2011

UDK Demo Dev Blog Part III

Part Three: Implementation!


This is the third installment of the development blog of my UDK Demo, you can check out the beginning, part one, by clicking the link below!

Or maybe you've already read part one! You can read part two here:




One of the best things that has been happening in the last few years is the advancement of game engines. Engines like UDK, Unity and Cryotech have been not only advancing in technology and capability but also in availability and accessibility. My favorite thing about UDK is not just because the engine is free but really because it has a built in audio system that is so intuitive but yet not too simple that you can't do complex things if you have the know how. These built in audio systems allow the sound designers, sound effects editors and composers on games to get more creative control over how their sounds interact with the players in the game and with how they are heard. It allows us as audio creators to see our work  through the entire process and become more involved with the creation of the game. Soon the days of creating your sounds and music and handing them to a programmer will be completely gone(if they aren't mostly already) with the development of comprehensive built in engine audio systems and audio middleware.

The implementation in this project can be divided into three main categories;
(These are in no way official or completely accurate names, so don't quote me on them!)


Player Character Objects
Environmental Placement
Environmental Triggers





Player Character Objects

The first category is all the player character related objects such as weapons, vehicles and pick ups that the player interacts with. The implementation for these kind of things is handled entirely in the content browser inside of UDK and is very straightforward, provided that the programming end is already done. The programming end being that the sound cue names are already being referenced by the game.






Now what is a sound cue?

A sound cue is a file that plays a sound when it is triggered. It is not the sound itself, but rather something that references a sound node wave, which is what UDK calls the raw audio file.  Inside of UDK this is how all triggered sounds are triggered, through sound cues. You might wonder, well why can't we just reference the sound node wave directly. But the benefit of a sound cue is that it allows us to set up a signal flow for the sound to pass through before the player hears it. We can add modifiers, layers, delays, etc into the chain to create many different effects or to serve many purposes. For example, The shock rifle has two sound node waves referenced inside of its sound cue. The first sound node wave is the fire layer of the weapon, this is the sound that mechanical parts of the gun makes. The second sound node wave is the actual shot of the gun. Now by using a sound cue we can layer these two together into one trigger instead of having to reference them twice inside of the code. This also gives the sound designer the option to add as many layers and active effects as they want to something without having to consult a programmer to add the changes in.

Now the reason why you would want multiple layers divided into separate sound node waves instead of bouncing it all into one sound node wave is so that you can actively effect each layer. What if you want the gun to sound random each shot, but you only have one version of each of the layers? You can add a randomizing modifier into the signal flow of each of the sound node wave so that each layer randomizes separately in a different way each time you fire the gun! Of course all of this only touches the tip of the ice berg of possibilities!



Now if you were to be actively working on a game project, you would create your sound cues based on either the names the programmer had given them when writing up the code or if something hasn't been programmed yet you would create your sound cues and give the list of names to the programmer to use. Given that I was working straight with the stock Unreal weapons, pick ups and vehicles that come with UDK, all of the sound cues were already created and programmed to work with the game. My end of implementation was to either match the sound cue's original names when I created new sound cues so that the code would find them or to just edit the original sound cues by removing the old sounds and placing my sounds inside of them . I used a mix of this depending on each item in specific.

How do you create or modify a sound cue? Well I wish I had time to explain but I've already delved into this topic enough for one blog post. I suggest you download UDK and find an online tutorial. There are plenty and I'm sure they would explain it much better than me!





Environmental Placement



This category of implementation is by the far the simplest but is still incredibly important. Whats great about UDK's audio system is that it allows you to fly around the map and place sounds where ever you want through the use of sound actors. Sound actors are like little speakers that you can place all over the map that play sound. They activate whenever a player steps into the radius of the sound actor, you can however have a sound actor player indefinitely regardless of player position but I don't recommend this (unless you want to use up limited channels in the audio system and processing, your call). The great thing about sound actors is that they allow you to literally build your ambiance. All you have to do is load the audio file into the content browser for the sound actor to reference. There are a bunch of different types of sound actors but the ones I am going to cover, as they pertain to my project, are Ambient Sound  and Ambient Sound Nonloop.







Sound Actor radius



The ambient sound sound actor is the one of the most basic of all the sound actors. Place the sound actor and the sound plays. The complexity and usefulness comes in the details you can edit such as volume radiuses, which control how big the area is in which the sound is heard , filters and modulation of the sound, such as pitch and volume. (Like the sound cue, I won't go into the details of each section) I mainly used these to create the ambient tones of the cave but they can also be used for static objects such as the hum of the generator for the lights or the hum and whisper layer of the crystals in the level.

Ambient Sound and Ambient Sound Nonloop actors


The ambient sound nonloop is very similar to the ambient sound, but allows you to load multiple sounds into it that can be randomly triggered. This is most usual for creating a group of randomly triggered stingers to add to the ambiance. I used these in my map for the rumbles and rock slides of the cave and also for the ambient whispers of the crystals. Just like the ambient sound sound actor, you can modify volume radius, filter radius, and modulation. You can also modify the time between triggers.



Environmental Triggers

The third category of implementation that I used in my project were environmental triggers. This basically encompasses reverb volumes, trigger volumes, sound classes and some Kismet.



Reverb Volumes


I'll start with reverb volumes. I wont delve too much into volumes, but using the brush tool, in UDK you can create something which is called a volume. A volume is a 3d box palette of sorts with which you can achieve many purposes. In this case, I used reverb volumes in specific. using the brush you can create zones in which sound will reverberate. Its very basic, take a room, create a reverb volume around that room with the brush tool, and any sound you place inside of that room with have the reverb set to the volume.


Reverb Volumes! and much more!

Now this being a small map, there were only three reverbs that I set up. First I created a large reverb volume that I placed over the entire level to set a general cave reverb. Next, using reverb volume priorities (which allows me to set which reverb will be heard when multiple are over lapping), I set up a bunch of smaller reverb volumes inside of the larger volume for all of the tunnels throughout the map so that they would have a different echo than the main rooms of the cave. Finally, jus for the area of the cave with water, a set a third reverb using one small reverb volume just over the passage with water, I wanted this area to have a large high end sewer like reflection because of the water and the metal pathway that hangs over it. These are just the basic features of a reverb volume, you can use them for isolation, occlusion and much more!


Trigger Volumes

In this particular map I set up two trigger volumes. These are the same concept as a reverb volume, except the volume you create acts a detector and triggers an event when the trigger condition is met. These are usually tied to events that are created in Kismet, the audio scripting section inside of UDK. A simple example of how this works is that you could set a trigger volume to detect when a player steps into it, upon the player entering the trigger volume, it will then be triggered this causing the event tied to the trigger volume to activate( like a sound or a cinema)


Both of the trigger volumes I used involved the water section of the level. The first thing I wanted to do was create an underwater sound and atmosphere when the player went under the water. To do this I set a trigger volume over the water that would change the sound class whenever a player entered the water. I created a custom sound class that would turn on a low pass filter and tied this to an event in Kismet. I then tied that event to the trigger volume. To finish up the underwater sound, I placed ambient sound sound actors in the water that played a water sound and then placed a reverb volume around them. Using the isolation features of a reverb volume, I limited the sound to just the area of the reverb volume so you would only hear it underwater. This is a great example of using everything I have talked about in conjunction!

 
A view from outside the map of the volumes.


The second place that I used the trigger volume was to create a gasp from the player whenever they exited the water. To do this I used two trigger volumes in front of each other before the player enters the water and created an event in Kismet. I won't go into ay of the Kismet scripting details as its a bit of an explanation on how its achieved.



Conclusion

Well that about wraps it up! At this point I've covered the highlights of my UDK sound design demo. Going forward I hope to expand my knowledge of UDK and keep learning! Who knows, maybe I'll write more UDK blogs in the future. If you stuck with me through this whole thing, then Thank You very much for reading! If your just joining me, well I still appreciate it!

As always, Thanks for reading!

-Matthew Hagberg

Wednesday, December 7, 2011

Dynamic Interference Sound Design Challenge #13: Creepy Advertising

Sound Design and Concept




I first noticed the Sound Design challenge hosted on designingsound.org back in October when the site hosted it's twelfth  sound design challenge, the Lifeless Howl. I remember looking through some of the entries that were up at the time and considered entering but at the time was preoccupied with class work and decided to put it off until the next challenge. I really enjoyed the creativity behind the challenge and how it really seemed to open the mind up to the possibilities of sound design by limiting the designer to creating a monsters howl with anything except sounds created by organisms. I immediately regretted not entering when the top five entries were posted for voting and I heard how awesome they all sounded! I was jealous that I had missed out on a great opportunity to stretch my sound design mind!


The thirteenth challenge, Creepy Advertising, is an entirely different beast than the previous challenge though. Being tasked with the creation of an entire experience rather than just one creature sound, it presented a larger challenge before even considering the context of the challenge. The Creepy Advertising challenge was to a task in which you took a video from an old 50's horror movie night ad and replaced all the audio yourself including the voiceover. The challenge here was that you couldn't use any music and you had to make it sound like it really came from the 50's but you still had to achieve the aspect of horror and advertisement.

Concept


My first step in taking on this challenge was to place myself into the shoes of a sound designer from the 50's. Now the thing about the 50's was that there really wasn't much "design" to even really going on in the sound departments, well not in the way we see it today. People were sitting at computers manipulating sound with Pro Tools and Logic and hosts of plug ins. Sound Design in the 50's was more sound construction. A lot of famous sound designers created devices to make the sounds they wanted rather than morphing and changing the sound of something to be what they wanted.

Example of Old Disney Sound Design! The whole video is awesome and I recommend watching it but you can skip to around 3:20ish for what I'm referencing.





So I drew my inspiration for this video from these old sound design pioneers. I wanted my video to contain prop created sounds. Though these kind of prop sounds don't always portray the horror aspect well and sometimes can come off as silly, I thought the risk in mood would pay off by the achievement of authenticity.



Creation


I didn't want the video to become to convoluted with sounds so as to stick with the old feel. To accomplish this I narrowed down my sound effects based just on what was important in the video stills.  Each of these sounds were ultimately achieved with only my own voice and sounds from classic prop items. For the Eye ball pops I used a mouth harp to create that classic "boing" just like Disney did and a bottle cork pop to make that cartoony "pop" noise. For the eruption before the final "Doomsday" announcement I used one of my cooking sheets for the old "metal sheet thunder" trick and was very pleased with the results. For the needle stab and wing flapping I used my own mouth. All these raw prop uses came together to create a very pleasing old feel to the advertisement.

The hardest part of this challenge was creating that sonic 50's sound for the entire video. I've always focused on trying to make all of my projects sound better in sound quality so it was an interesting challenge to try and work backwards. I found a free plugin by Izotope that worked really well in creating that vinyl noise and pop sound that you would e=hear in something from this era. For the voiceover, I ran it through a very slight distortion plugin to try to recreate a slight tube compression on the voice and boosted the low end a little more than usual and cut out the very high end. One thing I discovered was that when I first started to create my 50's sound, I was going way overboard and everything sound like it was coming from a late 1800th century phonograph tube or something. Sound has improved drastically since the 50's but in the grand scheme of things it really didn't feel like much of an improvement when I looked at the larger picture. I found that I didn't have to do nearly as much to the sound quality as I had planned to achieve the sound I wanted.

The Final Product





What Was Learned

This challenge gave me an interesting perspective on sound design and also allowed me to dip my toes in its roots. I discovered that our technology and machinery, although totally awesome, can sometimes become all we focus on. By grabbing this project by the horns, and trying to lead it into a real authentic feel, I found that simplicity can lead to creativity and inspiration. When you strip away the layers of possibilities and force yourself into a box with limited tools, it causes your mind to view these things in a new way and it causes you to utilize sound as a story telling device more effectively. When we can't just throw our fancy plugins and sound libraries at everything, we have to pick the perfect sounds and balance the project just right to achieve our goals! In the future I would love to challenge myself more to create effective sound use with limited resources to expand my abilities.

Thanks for reading!

-Matthew Hagberg

Monday, November 28, 2011

UDK Demo Dev Blog Part II

Part Two: Creation!

This is the second installment of the development blog on my UDK Demo, you can check out the beginning, part one, by clicking below!
Part One: Conceive, Design, Plan!


Going into this project I was very excited. I had done some sound design before, but not for anything that I would actually get to test and use. Not to mention that the things I was designing for were awesome and I had so many ideas swirling around in my head that I was very eager to get started. The three biggest aspects of the overall sound design for this level were the weapons, the hoverboard and the crystals. I was the most excited about the crystals because they were what inspired my entire atmosphere for the level and I wanted them to sound just right! Although the weapons and vehicles are obviously the focus of a shooter, I still needed them to fit in with the atmosphere and they needed to sit sonically well with the rest of the design of the level.




Weapon Sound Design


The weapons being the main focus of a shooter game, I wanted to spend a lot of time getting the sounds for them to be just right and to sound pleasant to the ears. No one wants to shoot your guns if they sound terrible! I also wanted the guns to punch through the mix, so they needed to lay in a different frequency from the ambient mix of the level.

The first gun, the link gun, is a very simple gun in design. Being the starter weapon of the game, I didn't want it to sound very powerful and due to the small nature of its projectiles I felt like it indeed wasn't that powerful of a weapon. Despite this though, I wanted it to be fun to shoot. Out of all the weapons in the game, it has the fast firing rate so i really wanted the player to just enjoy blasting away with the gun forever and never be mad when they died and had to start over again with this gun!

The secret of the sound design behind the Link Gun lies in my obsession with Cranberry juice.


The main shot sound of the Link Gun was created solely with a Cranberry juice jug. The logo on the  Ocean Spray cranberry juice jugs pop out in a button like shape on the side of the jug. When you press this in, it makes a popping sound. I put three of these in a row and sped them up with TCE Then I processed this new sound through some dynamics, in the end it all morphed into one sound. To give it a quick choppy feel to match up with the green circles of the guns laser animation, I reversed the sound and then I chopped out two sections in the sound to divide it back into three parts  which is what gave it the short burst sound that it has. Finally I took an unprocessed version of the logo depression and placed it at the beginning of the sound.

The alternate fire is made up of two layers. The first layer is the opening of the gun to fire the laser beam. This was created with by mainly the cocking a toy rifle I have and the motor sound from inside my printer. The second layer is the beam itself which I made by running a blender through distortion and a phaser.




Link Gun Sound Design from matthew hagberg on Vimeo.




The second gun, the Shock Rifle is made of two main layers as well. The first layer is the sound of the rifle mechanics firing which triggers when the weapon is intially shot. This layer was created with the sliding halt of a ice skater and the whoosh of a heavy object being swung. Both of these sounds were processed and layered to create the fire layer.

Shock Rifle Fire Layer by HagbergSound

The second layer is the beam itself which triggers shortly after the weapon is fired as the beam leaves the gun. This was created by heavily processing an aluminum bat hitting a ball to get the high pitched ring and running a buzz saw through a phaser to add the mid level frequencies to the beam to give it some meat.

Shock Rifle Laser Layer by HagbergSound


When we combine both of these layers together we get the final Shock Rifle main fire sound!

The alternative fire is created using the same fire layer, but the laser layer is different. I wanted the orb that leaves the Shock Rifle to have a bouncy feel to it. I took the twangy sound of a thin metal tray being slammed and processed it through some distortion and a EQ. To give it that "bouncy" feel I ran it through a strong phaser patch. It uses the same baseball ring from the fire laser layer as well.

Shock Rifle Alt Fire Layer by HagbergSound




The final product!







Hoverboard Sound Design


The Hoverboard by far was the hardest sound to create for my project. The idea of a hoverboard is such an abstract concept, there are so many ways that such a thing could sound and its all based on the appearance of the vehicle and any back story on how the creators imagined the board worked mechanically. Due to a lack of developers, I took it upon myself and created my own idea in my head to really help me get started on the hoverboard.

I decided it needed to sound small because the board itself is not very large. The board also doesn't give much for mechanics visually except for a light glow from the bottom, so I decided that it needed to sound very sound and glowing like the colors that come out of the bottom of the board, as if the board was some kind of small nuclear powered device.

It took me several attempts to create the exact sound I wanted for the hoverboard. My first rough attempt using a juice jug full of water ended up sounding more like helicopter.


After a few more creations, my final sound ended up being the mix between a custom patch in Logic's ES2 layered with my crappy, rumbly 1999 Ford Focus underneath. The ES2 achieved the glowing feel that I wanted for the power that lifts the board up, and the tiny size of my cars engine actually ended up working perfectly for the kind of mechanical noise I wanted; something not too powerful and not to big to represent the small vehicles size.








Crystal Sound Design


The sound design of the crystals, although the most important to me, actually ended up being the most simple in design and came together the easiest out of everything. The actual crystal itself is comprised of three layers, two that play simultaneously and a third that is comprised of randomly triggering stingers. The first layer is the hum of the crystal and the second layer is a walla of whispers that emanate lightly from the crystal. The third layer are whisper stingers that are much louder that randomly play from the crystal, calling towards the player.

The hum of the crystal was created by accident when I was in Logic messing around with the pedalboard plugin that I so often use when I get stuck in sound design. I like to experiment with different pedal layers and just use my voice and see how weird or interesting I can get it to sound. In this case I just had a single phaser this time and I took a breathe into the mic and noticed how the oscillation of the phaser caught my breathe in a weird way every time it got louder so I timed my breathe up with the phaser and just breathed with it, creating this warbling hum that faded in and out. The second and third layers are simply the voices of my girlfriend and I trying to sound like evil spirits!






The third and final part of this blog:

Part Three: Implementation!

Thursday, November 10, 2011

UDK Demo Dev Blog Part I

Part One: Conceive, Design, Plan!


When I started this project I had a clear defined vision in mind. When I first set my eyes on this dark cavern, I wanted to make it as eerie as possible. The whole concept of this empty mine didn't make me think of waring mining companies or the battle over precious metals but rather the discovery of something horrible. I saw the crystals poking out of the ground and thought "Where are these coming from?" and my mind ran with this concept into darker areas.

*Click on images to enlarge them*
Central room of cave

An interesting reverb and ambience will be used in the water area



I imagine a commercial mining company venture turning wrong by the discovery of something new and unsettling. The caves were empty because the miners had been driven away by something they couldn't understand and this is what I wanted to embody with the map.

Large Crystal


Crystals in tunnel

My first and strongest way of achieving this concept was the crystals breaking up through the ground from below. I wanted players to be mystified and scared by the crystals. To achieve this I made the crystals speak. I wanted eerie sounds of whispering and warbling energy to emanate from them. I wanted the crystals to hint at the horrible secrets that had been discovered in the mine shortly before the miners all fled in Lovecraft-ian horror.

The tunnels will each have their own ambience and reverb.


Other side of central room.


The second way I wanted to achieve my unsettling aura was through the ambient atmosphere. Not only did the crystals whisper but I wanted the whispers to echo through the whole cave as well, so every dark corner called to the player making them feel like they were never alone. I wanted to apply a sense of danger as well by using ambient cave in stingers that make it seem as though the cave might collapse at any minute.


Metal tunnel ways will require a  separate ambience and reverb.




My final challenge was to bring all the ambiences and stingers together in a way that wouldn't clutter the map too much. I often find that horror is achieved well through proper use of space. The player needs time to breathe and think.

For all the rest of the sounds, I didn't want them to be too over bearing. I wanted the weapons and hover board to sound organic and not too abrasive. I wanted to leave room for the level ambience to shine.

My first step towards the creation of this project was to write up a Design Doc of all my ideas for the map and an Asset list of everything I would need to create.

You can view them through the links below

UDK Demo Design Doc

Asset List


Click here for part two:
UDK Dev Blog Part Two: Creation!

Sunday, October 30, 2011

Recording Swans!

Today I went to Lake Eola in Downtown Orlando to record some swans! Now before  I get too far into my adventure, I just wanted to mention why I recorded swans. I think a lot of people don't realize that swans actually make incredibly weird sounds. I was at this same lake several weeks ago and I was caught by surprise by the strange sounds the swans were making to each other. It was very dinosaur like, or at least how we portray dinosaurs in Hollywood. Although some of the sounds were very duck like, other sounds had a piercing horn quality to them and a low resonance that I just cant describe, almost like something you'd hear in an analog synth. None the less, at the time the sound fascinated me but much to my dismay I was unarmed at the time and had to retreated without any swan calls.

Now if you've never been to Lake Eola it is definitely a must see if you have any free time in the Downtown Orlando area. It's a beautiful lake right in the center of the city that is inhabited by several dozen large beautiful swans! On this particular day it was a beautiful Sunday afternoon and the weekly farmers market was going on. After purchasing some delicious Asiago cheese bread and some local Irish cheddar, my girlfriend and I ventured off to find some victims (Swans).



We had to do a bit of walking as the noise from the farmers market had caused the majority of the swans and ducks to swim to a more remote section of the lake. This worked for my benefit though because it became clear to me that the large crowd gathered at the lake on this particular day was going to cause a lot of noise in my recordings, luckily the swans were cooperative in the choosing of their location.

"Wait, no, please, coome bacck!"

However the swans were not cooperative in any other way as my first target turned tail and swiftly swam away. I did however capture several beautiful recordings of me entreating it in vain several times (sigh). Defeat was short lived though as it wasn't long before some more swans sailed in! One of them actually got close enough that I thought it was going to snatch my Tascam right out of my hand!
"Swan off the starboard bow!"

"Steady... aim... uh... please?"


The next problem became the battle between the wait for the swans to make noise and the amount of space on the SD Card in my Tascam DR05. It sometimes took several minutes of waiting in record mode before I captured a swan noise and this began to eat up my memory very quickly, even after switching down the sample rate and bit depth from 96khz 24bit to 44.1khz 16bit.

Helicopters and airplanes are quickly becoming my enemy

 Luckily some nearby people started to feed the swans some bread (obviously identifying a recordist in need) and this sped up the time between swan noises greatly, especially when a larger group of subjects arrived. I found that the black swans made noises more frequently than the white swans but that they also acted more aloof and were harder to get near, this was very disappointing as the black swans also made the dinosaur like calls I described earlier. I guess we can't always expect mother nature to cooperate, we just have to be patient and try again.

"Coome baacckk!"

In closing it was a ton of fun and I would definitely like to give it a shot again given what I learned from this experience. Speaking of which...

What I learned:

1. If you ever need animal recordings of any sort, don't just wing it. Animals in the wild are totally uncooperative and unreliable (Curse you swans!). In the future I would definitely plan out more time to record or consider going somewhere enclosed or with a guide to ensure a more reliable sound source.

2. Pick a less busy day to go and record. Although this seems like a no brainer, This was one of my first times going out into a public location and I totally underestimated how much space you really need from talking people to capture clean recordings.

3. Bring more data storage with you. The stand off with the swans was a war of attrition I couldn't win, purchasing a larger SD Card or bringing my computer to dump the recordings onto periodically would definitely be a great idea in the future.

4. Asiago cheese bread is delicious and awesome.



Thanks for reading!!!!!

-Matthew Hagberg

Friday, October 28, 2011

The First Steps

I want to make this blog in order to keep an on going developer diary of all the projects I work on from this day forward. With the rapid increase of technology it seems only natural that we would start putting forth our lives into the internet, it seems this modern world is fully intent on the internet fully encompassing our lives and I'm honestly very keen on the idea. In the last few years the internet has grown into a world in and of itself full of the massive swirling data and interactions from its hundreds of millions of daily users. Its the most amazing thing that has happened in my life time so far, the opportunity to explore and communicate with the world from my desk in my room. This blog "christening" of sorts merely markers a further step I have taken in embracing the modern age! Plus I just love talking about myself, who doesn't? So whether one person or one hundred people read this; Welcome to my blog!