• Register
  • Help
Results 1 to 7 of 7

Topic: How important is "programming" knowledge?

  1. #1

    How important is "programming" knowledge?

    As I read through the guide to Game Audio (Marks) and continue my research on how to get started in this market, the more I think it would behoove me to learn some basic programming (C++, etc.) skills.

    For those of you in the industry: How important is knowing how to program? If you dont have programming knowledge, how long would it take to get a basic grasp - enough that you might be able to pick up "that job" where they developer requires that you know how to program...?

    Any other thoughts are appreciated.

  2. #2

    Re: How important is "programming" knowledge?

    I am also very interested in this, are there many Sound Designers who have absolutely no programming ability to implement their sounds into games?

    The reason I am interested is because I am starting to do sound design for games but I don't have any programming skills, I have only just started to learn about it. I am working on sound effects for a Doom 3 mod, the Doom3 engine seems to have made it as easy as possible for people who don't have much programming knowledge to get sounds into the game.

  3. #3

    Re: How important is "programming" knowledge?

    One important thing to remember is that most game companies use proprietary engines of one sort or another. Most likely, you will have to learn or know some basic programming skills, and know how to apply them to that particular engine. With that said, most of the larger companies have audio programmers that do the implementation and tools for you. Not all mind you, but most of the ones that I have encountered. It is still a good thing to know a bit about the programming side for communication purposes either way. I have seldom had to do any programming, but I still stay on top of all the tools and implementation schemes to make best use of my design and music.

  4. #4

    Re: How important is "programming" knowledge?

    Im a firm believer in trying to be very good at a few things rather than average at many.

    C++ is a hardcore programming language, it goes way beyond simple scripting (that many audio guys can handle).

    I would daresay that most companies will have an inhouse audio programmer like Tim said, or you could hire one yourself after landing the big gig.

    After spending the first 30 years of my life being a web developer, soldier, labourer, boat handler and many, many other things, I decided life is short - concentrate on what you know and love.
    - SCA - Sound Studios -

  5. #5

    Re: How important is "programming" knowledge?

    Here's where a line can be drawn between composers and sound designers. If you're composing a AAA Title, you might fly out to the studio for some face to face stuff, but you're generally going to work at home and upload your files to an FTP site. It's still a good idea to keep up on any technology that could affect the music system, especially the workings of Xact, Isact and.... whatever the hell Sony uses...hehe. It's just good to know what the systems you are creating music for can do. It can lead to good ideas and stuff.

    Now I've never heard of a Sound Designer needing C++ knowledge except for maybe a community mod development site. When people mention programming skills in relation to Sound Designers, they're usually talking about knowledge of scripting, which can seem to be similar to C++ but is fundamentally completely different. C++ is what is used to actually write the engine. It's a giant, enormous, hugeantical amount of lines of code that is compiled into an executable program. Scripts are files that deliver to this program instructions on what to do:

    //Mike's BadAss Game Soundtrack----------Action Music
    string name = "mus_action_race"
    float overallChance = 100.0
    TSample list sampleList =
    string filename = "mus_action_race_00.mp3"
    float chance = 33.3
    bool loop = true

    string filename = "mus_action_race_01.mp3"
    float chance = 33.3
    bool loop = true

    string filename = "mus_action_race_02.mp3"
    float chance = 33.3
    bool loop = true


    Something like this should be about as bad as it gets. These commands like "TSample list sampleList" and "bool loop" are the things you might have to learn if there are no in-house or 3rd party tools. These commands have to be created by programmers. Usually they'll provide you with a template that shows the format and the only thing you have to do is copy and paste, replace the file names and stick to the format. The more functionality you want, the more commands you have to learn. As you may pick up, the script example is taken from a music directory file. If, in the game, you start a race, the engine looks to the race script and searches for the string mus_action_race. This example is where it finds it. There are three possible .mp3s it's going to play; mus_action_race_00.mp3, 01.mp3 or 02.mp3.

    "float overallChance = 100.0" means that we can set a percentage for how often the music plays when the string is called.

    "float chance" is the percentage of times each particular file in the sampleList will play. We always wanted music to play, so the overall chance is 100, and because there are three possible random music files to play, each one got 33.3 percent.

    Just as a note, if I happened to have set one at 33.4 percent, so the total was 100.1, it would crash the game.

    This was a custom scripting language that was using C++ commands, but I certainly don't need to know C++ to edit these scripts. Every scripting language will use logic like this. If you can think logically and sequentially, you shouldn't have a problem picking this up and when creating your reel and resume, you just want to be able to demonstrate the ability to grasp logical systems like this.

    In-house or 3rd party tools are what save us from having to edit scripts manually. You can see a correlation between how well supported the sound designer is and how well established the company is. EA, Blizzard and Valve might have 2 to 3 programmers working on an in-house audio engine plus 1 or even 2 audio tools programmers per project. The start-up that I first worked at had only 1 programmer to do audio and that was his 2nd responsibility. I won't even mention community mods suffice it to say, that's where you'll need the most programming skills.
    Michael Peter

    If music be the food of love...
    play on

    William Shakespeare


  6. #6
    New Member
    Join Date
    Jan 2005
    Edmonton, Alberta

    Re: How important is "programming" knowledge?

    A basic understanding of programming concepts is a good idea. Also, you should be able to edit text files that contain things like - when the large sword hits leather armor play file x. You might also be expected to adjust things like timing through text files and/or scripting files. You don't have to be a programmer, but don't be afraid to get technical. A good game audio person has to be a Swiss Army Knife.

  7. #7

    Re: How important is "programming" knowledge?

    Thank you all for your excellent, reasoned (and seasoned) responses. I think I agree with Scott - I'd like to really focus on being good at what I'm good at: composing and creating. That said, I also think it is a great idea to get a basic understanding of language/scripting so that if/when I'm asked to assist in that department, I'm not starting from ground zero.

    Excellent posts, everyone! Keep 'em coming!

Go Back to forum


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts