Luca Fusi Sound Design | Implementation


WUIS Worklog WED 4/30

No response to my Audiokinetic support post just yet re: being unable to preview audio within the Unity player due to an apparently missing .dll. So, forging ahead with exploring Unity as a standalone component, divorced of all audio. I'll loop back into trying to create a script that plays a sound on something as I gain a little experience. Frightened that I will probably have to start taking C# courses at some point.

  • Read through some basic Unity help stuff to familiarize myself with the various work areas / parts of the workspace.
  • Decided to check out one of Unity's recommended beginner projects--the 'Stealth' game--as a way to get me on rails. Realized from comments that a) the tutorial doesn't teach very well (apparently) and b) requires Unity Pro, which I'm not paying for yet. Started looking for another option.
  • Started in on an example Scripting tutorial from the Unity website:
  • Realized I hated MonoDevelop (the included and default .cs editor for Unity) already and endeavored to make Sublime Text 3 the new default. Turns out, there's a guide for that. Went ahead and followed all the instructions there, including configuring a .sublime-project file that filters out Sublime from seeing stuff it can't really edit (like images, materials, etc.) from the left-hand panel tree.
  • Worked through the scripting tutorials until a venture into uncharted territory led me into a wall.
  • After doing the Variables and Functions tutorial, I decided to try to branch out and figure shit out. I then hit a stumbling block while trying to make a function that could accept two parameters:

    Assets/Scripts/VariablesAndFuntions_Luca.cs(28,25): error CS0236: A field initializer cannot reference the nonstatic field, method, or property `VariablesAndFuntions_Luca.MultiplyVars(params int[])'

  • Looking that up took me to this Stack Exchange discussion, which actually didn't help me out of the jam. I'm thinking this is basic C# syntax stuff and I probably shouldn't be venturing into this territory just yet.

It felt good to actually make stuff. I've got a little cube that drops onto the floor!

I've realized it'd be neat to be able to embed the results of each day's work within a Unity Web Player applet on here, so I've got little bits of 'playable' progress I can look back on now and again.

Work will probably resume Friday, as I've got to help a friend move tomorrow.


WUIS Worklog TUE 4/29


Chumped out while waiting to see if anyone'd come knocking on my Audiokinetic support post.

Unrelated, but finished Gemini Rue. (Which was excellent, and I don't usually play adventure games.)


WUIS Worklog MON 4/28

  • Installed Wwise, Unity.
  • Read through the Wwise Unity Integration Demo documentation and downloaded any listed prerequisites.
  • Created two blank Unity projects--one for sandboxing around and testing out the integration (WwiseUnityIntegration_v2013.2.5_Windows), one for specifically working with the provided demo (WwiseUnityIntegrationDemo_v2013.2.5_Windows).
  • Watched Craig Deskins’ helpful video on Wwise-Unity integration to get a better sense of how all this stuff links together--what folder structures Unity expects, what terminology’s being thrown around (“Scenes,” “Assets,” etc.), things like that. Video is possibly a little outdated, as Audiokinetic seems to have stepped its game up with the provided integration package in the last few years. But, it was still really useful!
  • Stepped through the Demo documentation until I hit my first stumbling block--a .dll missing when I attempt to play audio in the Unity player. Posted a question to the Audiokinetic support forums to try to unblock myself here. Compiling the game into an executable and then running that seems to work fine, but it’d be great to have audio working within the Unity IDE proper.

I’m realizing that I need a better sense of how Unity works on its own, apart from Wwise. And, that I’ll likely have to make a very, very simple game to stretch my legs.

So, I've decided to dive into Unity's own projects and tutorials for a better look under the hood, while I wait to see if anyone's got a solution to my Wwise audio not working. I'm thinking I missed some key redistributable / bundle of libraries somewhere in the setup process (running Windows 8.1), but who knows.


Wwise, Unity and Starting Something

I've spent the last few months on contract break / forced sabbatical from my time at Microsoft. And through the professional void, it's been personally fruitful. Thanks to living like an antisocial monk for most of 2013, I'd put away enough to take a long trip into Southeast Asia and wander about for a month.

(That deserves its own post--which it may or may not get--but you can view my efforts at photojournaling the whole thing over on my Instagram. It starts here, and I wish there were an easier way to reverse-chronologically browse this thing.)

Travel led into more travel: I got to take a trip to the Italian homeland with my dad and brother for a week's skiing, eating and pacing around downtown Rome. Then GDC. Then, a few weeks later, the annual VALVE Hawaii trip, which I'd been invited along to as a guest. I'm really blessed to have been able to live out this downtime as I have.

But amidst all the vacationing, the overactive brain wanders. You gotta feed it or it dies.

I've thought for a while that a real safe heading for game audio is the career path of the audio programmer. In my last year's experience on Spark, I can tell you that their time is an incredibly precious commodity. If you, the intrepid Sound Designer and Implementer, are the dreamer of big things, they are the ones that turn those dreams into executable reality. I don't care how good you are with Wwise or Unity or whatever, on any game of sufficient scope, and if you're trying to do anything that'd stand out against the forward-rushing edge of game audio, you will need a programmer's help. Sometimes, though, you won't get it.

What do you do then?

As preparation for a hopeful and glorious return to pay-stubbed game audio--and because I have a little game I'd like to make someday--I'll endeavor to decode some of this low-level magic that these guys do. And, jointly because I want to keep myself on rails and give you all something to read about, I'll be documenting what I find, showing my work, demystifying everything I can.

The simplest of sandboxes seems like a ready-made project where I can poke into some Wwise-Unity integration and figure out exactly what's going on. I know Wwise well enough and there's documentation on that particular spot where the middleware hits the engine.

Here's a mission statement of sorts:

I want to hook a Wwise project directly to a game engine, preferably Unity. This means taking a Wwise project with in-built RTPCs, Switches etc. and creating brand new hooks to them within the game code, compiling and experiencing the audio moving about.

Starter questions:

  • Can I do this via an already built Unity game simply integrating a Wwise project into it?
  • What languages would I need to learn to do it?

I really don't know anything about programming beyond some basic batch scripting stuff and a well-rusted primer on Python, courtesty of my time at VFS. So, expect a lot of frustration, doing things without really understanding how they're working and, hopefully, lightbulbs coming on.

Step 1's checking out the Wwise-Unity integration package and seeing what the deal with it is.