Archive

Archive for March, 2010

keep it simple, stupid

2010.03.31 4 comments

it all started off innocently enough, with the TheAudioProgrammer saying, “hey i’ve got a little time in the next day or two…you got any odds and ends you need me to wrap up?”  after a little thought i replied, “yeah…maybe some UI stuff i’ve been meaning to get in…the absence of which keeps getting called out in the playtest feedback…let me mull it over for a minute and i’ll shoot you an email…”

so i start to write the email.  which prompts me to jump in game to check out a couple things to make sure i know what i’m asking for.  which prompts me to drag TheSoundDesigner into the game to assist me in this endeavor.  which leads to 30 minutes of playtesting.  which turns up a number of related UI things that need some lovin’ and should be mentioned in the email.  which prompts me to open my UI audio design doc and start rifling through the half-baked material therein, revise it, and add my new findings.  which forces me to update the layout of the whole doc.  which means i need to update the corresponding elements in the audio project files themselves, and notify TheAudioProgrammer of this via my ever-lengthening email.  which leads to consolidating a bunch of one-off UI audio bugs, also to be included in the email.

and now it’s six hours later and i’m hitting send.  and the email is…long.  but i feel like i’ve really whipped the current crop of UI audio loose ends into good shape.  all that remains to be seen is if TheAudioProgrammer is now going to take one look at the email and say, “fuck THAT.  i said i have a *little* time, remember?”

be careful what you wish for

2010.03.30 Leave a comment

as i’ve made mention before, the sound system on my last game was…ah…less than robust.  as such, the list of things we couldn’t do was longer than the list of things we could.  and though that sucked by-and-large, it also kept things simple, albeit in a rather perverse way.  we often didn’t even attempt to support Complicated Audio Feature X, because odds were Complicated Audio Feature X was well outside the capabilities of the tools at hand.

hey, what a time-saver!  we don’t have to write up a design, interface with other teams, hire additional personnel, produce the assets, integrate the assets, iterate and troubleshoot the assets associated with Feature X!  we can simply shrug and say, “sorry, Feature X is a non-starter”.  huzzah!  bullet dodged!  defeat snatched from the jaws of victory!  /sadface.

nowadays, i have quite the opposite problem.  the combination of sound system, internal tools, and smartypants code monkeys means we can do *anything*.  i can soar as high as my imagination dares!  i can dig my grave as deep as my unfocussed vision will allow!  so now…i gotta be careful.

i asked for – and received just this week (oooh i’m giddy as a schoolgirl) – the ability to edit animations directly.  so now the audio team – not animators – is responsible for placing audio-triggering tags on specific frames, auditioning them with sound in realtime, scrubbing through the anim, soloing up tags, etc.  so now a given “idle” anim for a given critter can be laden (or overladen) with numerous “step”, “shuffle”, “huff”, “growl”, “limb”, “everythingbutthekitchensink” tags.  henceforth as that sucker idles, all sorts of lovely, subtle racket can be heard.  awesome.  it’s what i’ve always wanted.

and i’m sure animators are as joyous about not doing this work as i am about taking it on.  no more will they have to hear me going, “hey animator guy, i need a ‘jump’ tag here…(a week later)…no, i need to you scoot it back a couple frames…(a week later)…no, wait, scoot it *up* a couple frames…(a week later)…no, wait, can you change it from ‘jump’ to ‘leap’?…(a week later)…hrlghhrlghhrlgh (the sound of my windpipe being crushed by the hand of an exasperated animator)”.

but now i have to step back for a moment and wrestle with the Big Picture.  how far down this rabbit hole are we going to go?  how many anims are deserving of this level of audio detail?  which ones?  what’s the list of supported tags going to look like?  who’s going to create all the sounds for those tags?  and *when*?  what’s the pipeline between the animators & audio going to be like, so we’re in constant sync regarding animation version control?  i was looking at the animation list for a typical character today – the loooooooong animation list – and it brought all this into stark relief.  hey, you asked for it.  you got it.  deal with it.

still.  i *am* giddy as a schoolgirl…cuz it really is so suh-weet.  and i’ve been waiting for it for oh-so-long.

hey, funny coincidence.  “option paralysis” is not only what i’m in the throes of, but it’s the new record from Dillinger Escape Plan, whom i saw last night.  well…i didn’t so much “see” them, as i was rendered senseless by them.  this morning i was nursing a mild case of post-traumatic shellshock…half deaf and replying to coworkers with only blank stares.  but by lunch it had worn off and i was gleefully building an all DEP playlist…

voiceover is hard, part 37

2010.03.29 Leave a comment

i couldn’t have said it better myself.

well, maybe i could have tried, but it would have taken a great deal more effort to do so, and it’s much easier to just link to someone else’s strong work and go, “yeah!  what he said!”  i have a bit of experience with what he said, having been involved in voiceover production for a so-called “triple A” MMO.  and everything he says rings true.  tragically, depressingly true.  getting VO into a game of that size typically follows this sequence of potential pitfalls…

1) a script is written. and when i say “script”, i mean a collection of lines & phrases pulled together from hundreds if not thousands of seperate moments of gameplay that may or may not be interconnected.  and when i say “written”, i mean a collection of words & punctuation concatenated in some more-or-less readable fashion, often by people with little training as writers.  so the script ends up being tens of thousands of fragments of dialog, penned by dozens of non-writers, seperated by team divisions, over the course of years.  sure, it’ll all feel like an organic whole.  and we’re off!

2) the actors are cast.  but due to budgetary contrainsts and the basic laws of physics, there cannot be a one-to-one correspondence between actors and speaking roles.  so the talent search becomes complicated as it becomes more of a ten-to-one correspondence, with each actor being responsible for as many roles / voices as you can get out of him or her.  this of course means you want to find actors that not only have a great voice, but have ten great voices.  and for the love of god, this means no more “in-house talent” (read: co-workers who are up for anything).  stop it.  we’re done with that.

3) the actors perform the script.  which usually amounts to a lone figure in a booth reading hundreds of lines once or maybe twice, straight down the page.  this proceeds for hours, with only brief pauses between lines for a sip of earl grey or to look over the exhaustive (one word) stage direction for the next line.  “angry”.  “happy”.  “purple”.  so much for in-depth character study and the proverbial “what’s my motivation?”  no time for that.  we’ve got 12,000 lines to get through by 5pm.  hustle, hustle!  it *would* be nice if we had more time to spend on each line.  it *would* be nice if the actors actually got to interact with one another.  someday, maybe.  but even so / in the meantime…mad props to the actors who manage to make the dialog work 95% of the time, despite all the limitations.

4) the audio editors edit the VO recordings.  no matter how awesome batch processing is these days – and it’s awesome – some of that stuff just has to be done by hand.  truncating files, chopping out bits you don’t need, needledicking every last mouth click and breath noise, etc.  and once you introduce the possibility of human error into the production of 50,000 audio files…stuff happens.

5) the VO gets integrated.  if you’ve really got your shit together, you can just drop the files in and the magic will happen, right?  you won’t have any instances of multiple lines simultaneously coming out of a single mouth, stepping on each other.  you won’t have different actors voicing lines spoken by a single character.  and  each actor will have read every line for a given character in *exactly* the same voice character, maintaining perfect consistency across those hundreds of lines, perhaps even spanning multiple recording sessions and re-do / pick-up takes.  and of course all the VO will match the onscreen text perfectly.  yep.  what could go wrong?

going by the above, it’s a wonder *all* game VO doesn’t suck eggs.  and it’s a testament to the professionalism of everybody involved with those games with great voiceover.

stay in school. don’t do drugs. (part 3)

2010.03.26 Leave a comment

i believe the children are our future.  teach them well and, let them lead the way.

whelp, Career Day has come and gone, and i think i managed to aquit myself with a minimum of embarassment.  i did my 30 minute “what it’s like and what it takes to work in the video game industry” spiel six times in a row today, to as many 3rd grade classes at my neighborhood elementary school.  some of the highlights:

my presentation included a video montage of Warhammer gameplay footage (edited-for-content), and some behind the scenes footage of music-making in Prague, VO in LA, etc.  i figured i’d better run it by the school admins ahead of time, lest the game footage prove too violent for general nine-year-old consumption.  i got an email back from the principal saying she enjoyed it and thought it was fine.  damn.  i should’ve left more violence in.

the boyfriend of one of the 3rd grade teachers came in for one of the sessions.  the teacher said he was a big RPG’er, and would be psyched if he was permitted to come hang out.  the more the merrier!

my first presentation began with the video not working.  the teacher was assuming *i’d* know how to run her A/V equipment.  i was assuming she’d deal with it.  we were both eventually saved by the school A/V dude.  go A/V dude!

after three hours of hearing myself prattle on about my life story, i never wanted to hear myself speak about anything ever again.

the kids questions were awesome.  as expected, i got lots of, “did you make the sounds for <game X>?”  sadly, no.  hi kids!  disclaimer: unless you’re a hardcore MMO or RPG player, you’ve never heard of the games i’ve worked on.  does that make me less awesome in your eyes?

also, “do you like Metallica?”  why do you ask?  “because of your tattoos and rings.”  oh.  um.  well, see back in 1986 when they were at the peak of their creative powers…oh nevermind.

also, “do you like Dragonforce?“.  i shit you not.

also, “what was the first video game ever?”  at which point i drew Pong on the whiteboard.  which i enjoyed immensely.

also, lots of “what are you working on now?”  sorry kids.  i can’t tell you that.  “seriously?”  seriously.  for grownup silly reasons.

also, after explaining how foley is the act of recording the real thing itself, “how do you make the sound of someone dying?”  well kid, we go out an kill somebody.  i actually said that with a smile, followed quickly with a j/k.  still, i don’t think teacher found it all that funny.

at the end of the day, the whole experience was a hoot.  dunno if i sparked the minds of any future sound designers out there, but based on their enthusiam it’s a safe bet that 95% of them have a future as gamers.  and let’s hear it for teachers!  how they stand up in front of all those little buggers all day and get them to focus on anything is a mystery.  somebody should be paying them a lot more money.

2:14 pm : used toilet, went #1

2010.03.25 Leave a comment

i’ve started another diary.  not more self-indulgent tripe like this, but something along the lines of a time-management exercise.  too many days draw to a close with me unable to recount exactly what it was i worked on that day.  sure, some days i work on something big and tangible all day, and by day’s end can pound on my chest and say, “THIS, i have done!”  but other days are stolen away from me by a myriad of fire drills, teeny tiny fixes, meetings, document edits, etc.  those are the days when i hear “huh-CHUNK…ssssss” – the sound of the building HVAC shutting down at 6pm – and i look up and realize, “lordy, it’s 6pm!  where has my day gone!  i haven’t even gotten to the big thing i was going to work on today!”

so i’ve been jotting down bullet points of what i do all day long, as i go.  now at day’s end, or especially at week’s end (when i write up status reports), i know exactly what i’ve done to inch our game along its journey towards completion.  it also helps me to pick up trends like, “really?  i spent *that* long formatting the project layout, and consequently only got to spend *this* long doing something more important, like creating the sounds that will ultimately go into that project layout?”  talk about yer micromanagement.  but at least it’s self-inflicted.

oh, and the last bullet point on today’s list of accomplishments: belated birthday beers with co-workers.  just in time to be mildly hungover for Career Day tomorrow.  :)

two score and no years ago

2010.03.24 Leave a comment

today is the anniversary of my birth, and according to the traditional anniversary gift-giving guide , somebody should be giving me a ruby right about now.  but while i’m waiting for that, i am in fact at work like any other day.  well…with a few minor differences.  i’m taking a break from taking a break from some of my favorite vices – the ones safe to indulge in while on the job, anyway.  and it turns out there *is* such a thing as a free lunch.  and maybe i’m doing just a wee bit more playtesting and market research than i normally would be.  but hey, why not?  yer only this close to death once.  cuz tomorrow i’ll be closer.  :)

‘C’ follows ‘B’, except when ‘A’ does

2010.03.23 Leave a comment

all the chatter about Bioware’s interactive storytelling prowess – especially with respect to the forthcoming Star Wars: The Old Republic – got me seeing some parallels to interactivity as found in my little corner of the game development universe.  seems to me that trying to make an interactive story work, particularly in an MMO setting, is a lot like trying to make interactive music work, particularly in same said setting.

a fixed, linear piece of fiction / music is a pretty straightforward thing, with plenty of tried-and-true conventions to work with (or against).  there are formal structures to adhere to (or deviate from) which can be used to predictably elicit the desired emotional result from the reader / listener.  there is a lengthy canon to which the reader / listener has been exposed, which forms the basis for his interpretation of the material at hand.  and the user is completely passive – not a participant in the experience, but a witness to it.

but interactive fiction / music turns all that on its ear, posing Escher-like conundrums that require Goldberg-ian) solutions.  the comfort of a fixed, linear medium goes out the window, and with it go all those tried-and-true conventions.  now the author / composer has to try and convey narrative and dramatic evolution in a fractured and ever-changing landscape, able only to predict but never truly certain of what will preceed or follow any particular moment.  consequently, the story / music is largely restricted to reacting to itself as it unfolds.  hindsight is still 20/20, but foreshadowing as a structural device is virtually off the table.

of course behind all this is the fundamental shift of the audience member from passive to active participant in the experience – the injection of a flighty co-author / co-composer.  imagine the difficulty of creating Hamlet or The Ring Cycle with some yahoo in the room, shuffling and reordering the sheets of paper from time to time.  great pains would have to be taken to compensate for the inclusion of mr. yahoo in the creative process.  and in an MMO, it’s not one yahoo, but many many yahoos all at the same time.  great pains indeed.

“yeah, my latest opus goes a little something like…”

if it’s broke, don’t fix it…yet

2010.03.22 1 comment

in the feedback from a recent internal playtest, there was a comment along the lines of “this audio is jacked due to issue X.  please back it out until issue X is addressed.”

uh-uh.  nope.  in the course of development, sometimes the cart gets a little ahead of the horse, and things get a little kooky for a bit.  but the horse eventually picks up steam and all is made well.  in the meantime, having the cart lead the horse for awhile serves as a blatant and constant reminder to all that the horse needs to get its ass in gear.  i’m not going to take away the cart just to make the horse look good.

hell, sometimes i’ll put / leave stuff in that i *know* will break things or just be plain wrong for that same reason.  to wit, i’ve been known to do the following:

setting the default ambience for a zone to be a text-to-speech voice, looping over and over, “if you hear this, you need to let brad know that your new zone needs ambient audio.  if you hear this, you need to…”.  so whenever a new area comes online, somebody will loop me in pretty quickly to make that thing go away.

setting the default sound for any new effect / animation / whatever to be a little “BLOOOP”.  so as i’m running through the game, if i ever hear that sound i know something has slipped through the cracks.  maybe i forgot to do something, or maybe there’s a new asset nobody’s told me about…but i’m on it!  one thing – don’t try this early in development, or gameplay will just be one big wall of “BLOOOP BLOOOP BLOOP BLOOP…”, which isn’t terribly useful.

having animation tags trigger text-to-speech audio files saying the name of that audio tag, so i can easily determine what’s been tagged up and what hasn’t.  so, walking through the game you hear Stephen Hawking say “step…step…step…”, or when you swing your sword you hear him say “grunt…swing…impact…” (see below).  again, don’t try this too early in development, for the same reason as above.  also, if you’re lucky enough that adding audio-triggering tags to animations is the per view of the audio department and not animators – which is the case for us, thank you baby jesus – then this technique becomes less of a diagnostic tool and more of a reminder as to what still needs real sounds.

not only does all of this serve as a daily audible reminder to myself as to what needs attention, but it reminds…nay, *annoys* everybody else, helping to build a little extra incentive and momentum behind addressing those issues.  i mean, if people see a graphical anomaly everyday, fixing it becomes a higher priority.  so if they have to endure an aural anomaly, maybe fixing *that* will become a little more important to somebody as well.  somebody besides myself.  :)

of course, the short term fix might end up being turning sound off until issue X is addressed.  curses!  foiled again.

Stephen Hawking debugging audio-triggering animation tags:

homegrown vs. bought on the street

2010.03.19 Leave a comment

for anyone who’s ever used FMOD – or any other audio middleware – this is a pretty amusing read.  as i read through it, i got to thinking…

being tied to middleware solutions is a double-edged sword, eh?  one the one hand, you get to offload a bunch of work to some out-of-house team of whip-smart developers (or so you hope).  that way the audio programmer – let’s call him “Chris” – no longer has to write code to handle the most mundane of audio tasks: starting sounds, stopping sounds, fading sounds, etc.  you have a big shiny licensed thingy that does all that for you instead.

on the other hand, you’re at the mercy of their development cycle, not yours.  and although they “value your input”, your feature list might not entirely dovetail with theirs (after all you’re not their only client…or if you are, maybe you picked some shitty middleware).  so you run the risk of sitting around waiting for functionality that’s a high priority for you, but maybe not so much for them.  worse, you may end up having to code stuff that they simply will *never* support, so now you’re adding your own wrappers and whatnot , and your shiny thingy becomes a little less shiny and a little more kludgy.

of course to *not* use middleware is to go it alone, to reinvent your own wheel.  which of course is its own double-edged sword.  i suppose the argument could be made that going this route allows you to define your own feature set, keep costs down, etc.  but i’m not going to make that argument.  cuz the other edge of that sword is engraved with phrases like “time sink”, “frustrating complications” and  “no one to turn to for help”.  the last project i worked on relied on a homegrown sound system that had been cobbled together over the years.  the audio programmer there – let’s call him “Chris” – spent all his time just trying to keep the lights on, as it were…getting sounds to start, getting sounds to stop, getting sounds to fade.  forget about “next gen” anything.  he was too busy keeping the “last gen” shit running.

so yeah.  i heart middleware.  shame to see “U.C.’s” love affair with FMOD is on the rocks, but perhaps he’s found a new lover in Wwise.  and as far as “anonymous confessions” go, with 250,000 lines of dialog in his current project, that kinda narrows the field a bit, don’t it?  :)

oh internet, you know me too well

2010.03.18 Leave a comment

there IS order to the universe after all!

because i give my posts rather obtuse titles from time to time, i get some pretty unusual trackbacks.  and because i named a post about Battlefield: Bad Company 2 “this is BBC2″, i got this trackback.  given my nearly twenty-year long devotion to the church of Hicks, that’s so fitting it’s stupid.

good jorb, internet!

Follow

Get every new post delivered to your Inbox.