Audio Implementation?!

Home Forums Public Discussion Audio Implementation?!

This topic contains 6 replies, has 6 voices, and was last updated by  Jan Boon 6 years, 8 months ago.

  • Creator
    Topic
  • #1474

    Zakai Robbins
    Participant

    Hey everyone, after going to Gamesoundcon (woo!) I’m interested in learning game audio implementation. Does anyone out there know what coding language I should learn? I’ve heard both C++ and JAVA. What’s the most widely used language for scripting games?

Viewing 6 replies - 1 through 6 (of 6 total)
  • Author
    Replies
  • #1478

    Dren McDonald
    Keymaster

    C ++ is pretty hardcore! It’s great if you know it, but that’s what most console engineers use. I would start small and just get your hands dirty in the Wwise/Limbo project (there’s a contest going on now at audiokinetic.com or download some of the free Unity 3D projects and look at how Unity uses simple scripting for some of it’s implementation. I know that Sound LIbrarian has a Unity project for FMOD Studio becoming available soon for Angry Bots, and that’s another great place to start. (Also unreal engine is something to look into as well!) You can dive in quicker and faster with these projects and then if you get a bit deeper into Unity you can start scripting in javascript or C# to see how that goes. If you have no engineering background and plan on diving into java or C++ you’ll get frustrated and/or bored real quick.

    #1544

    Jesse Harlin
    Member

    After years of game audio implementation, I’ve never needed to know anything more than Lua. Anyone that told you that you need to know C++ doesn’t know what’s going on these days in game audio implementation. You don’t need to know C++ in order to implement audio into Wwise, FMOD, Unity, etc.

    #1590

    Lua and Python are probably still the more popular scripting languages. That said, at this point, it’s not really so much the specific language (Lua, Java, etc.) so much as it’d be scripting/programming concepts. A local community college course in programming can work great for that, regardless of what language they focus on. Once you understand the basic concepts, it’s pretty easy to apply that knowledge to whatever scripting language you may run across.

    It also hugely depends on what kind of game you’re working on. If you’re doing a game with FMOD, WWise, etc, then you may not need to do any kind of scripting at all. If you’re doing a Flash-based game, then you might find yourself wanting to do a little “ActionScript” to implement some cool interactive audio features.

    Btw, here’s an interesting article by very smart man, Chris Hecker. In the comments section people discuss various scripting languages..
    http://www.gamasutra.com/view/news/200155/Yes_you_should_understand_code__even_if_youre_not_a_programmer.php

    Glad you enjoyed GameSoundCon! It was a blast this year 🙂

    #1616

    Dan Reynolds
    Participant

    My old college background in C++ and Java informs me just about any time I approach an object oriented programming language or when I start looking at scripting languages.

    Outside of a few quirks, I feel pretty comfortable learning enough to do what I need to do (that is to say, I’m informed enough to typically ask the right questions).

    I haven’t messed around with Lua or Python though, but I doubt either one would be difficult to manage.

    That’s why I recommend C++, not because you need it for audio implementation, but because it’s a solid language that MANY games are built with and it gives you a lot of insight into the language characteristics of high-level computer programming.

    By the way, Unreal 4 is outdating UnrealScript and converting everything over to C++. We shall see what editor improvements have been made for their visual editing environment, but someone is probably going to have to touch that, you might as well know enough to ask the right questions. 🙂

    #1630

    Zakai Robbins
    Participant

    Thanks guys, this is really helpful! Just to be clear on my intentions: I’m trying to figure out what I need to be an in-house audio programmer for a development company. In the audio directors panel at Gamesoundcon this year, the speakers talked about how hard it is to find a programmer who understands and is psyched about audio. I believe they said finding an audio programmer is like finding a unicorn, and I remember a lot of discussion to the effect of how easily someone like that could get hired. I want to be that unicorn. Brian and Dren: is the advise you gave the best way to get started on that path? Thanks again!

    #1634

    Jan Boon
    Participant

    Depends what you mean by audio programmer. I’m assuming you mean the person who actually implements all of the audio library code into the game engine. That, or actually implementing an audio engine itself. Definitely hard to find us programmers who know their way around that sort of stuff.

    It seems to be for this reason that usually the choice is to be to go for a middleware package that keeps implementation easy, and doesn’t require much programming knowledge from the audio designer’s side.

    But, yeah, if you want to go for the serious programmer side… You definitely will need to know C++, just scripting is not sufficient in this case. You’ll also need sufficient knowledge about things like FFT, resampling (linear, windowed sinc, etc), low pass filters, audio spatialization, the various implementations for reverb effects, some basic knowledge about audio compression, where to use compression and where to use raw samples, etcetera.

    There definitely could be some interesting opportunities with AMD’s upcoming hardware accelerated programmable audio capabilities on their latest cards, as well. It could lead to a much more diverse and artistic pallette of audio effects than we currently have, similar to what graphics shaders did to the fixed graphics pipeline. Audio is currently still pretty much fixed pipeline for the most part.

Viewing 6 replies - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.