Game
Audio Programming
Author:
James Boer
Publisher: Charles River Media
ISBN: 1-58450-245-2
Purchasing: [Amazon.Com]
- RRP US$59.95
Reviewed: 10th January 2003
Front
Cover Shot:
Overview
Audio
in computer games has not been utilized properly
yet. I don't believe that I've played, heard or
read about a game that has really made something
of music and sound effects. We're slowly getting
there - many of the newer games are actually
focusing on the sound effects, and some are
providing convincing musical scores; but I've got
a strong feeling that the best is yet to come.
Therefore,
it is interesting that we're starting to get books
dedicated to game audio programming - it's
common to find books regarding design and
graphics, but there are very few for audio/music.
Enough people must be taking it seriously for the
publishers to agree to print the material.
What
is there to cover?
Many
developers look at audio programming and see very
little substance - what more is there than loading
a sample and playing it? At first, this seems to
be a perfectly good statement - much of the work
will be done by the original musician(s). Hence
you're far more likely to find a graphics
programmer (a field where there is an almost
infinite-number of things a programmer can do)
than an audio programmer.
So,
from a book that is hopefully going to show us the
"light", what do we actually want it to
cover? Working with digital audio is a deceptively
huge field, look beyond games and into proper
multimedia/computer science and you're dealing
with sampling rates, effects,
Head-Relative-Transfer-Functions (HRTF's) and the
actual raw physics behind sound.
First
there is theory - to implement something you need
to understand how it's supposed to work. This book
provides an obvious 30 pages at the start
dedicated to audio theory. It's well done, such
that it doesn't go into much mathematic/scientific
notation like many other audio books. Given the
amount of theory covered it's only a brief
overview - such that it helps to have a rough idea
of what a sound-wave is and at least know the
names of features that exist: bit rate, samples,
hz etc.. The rest of the book makes mentions (as
appropriate) to audio theory - but there isn't
much. Consider this book more of a 'how-to' than a
'why?' book.
Once
you understand the theory it's all about making it
work for you - you need to be able to use the
knowledge that you've acquired. It's just a
question of how low do you go with the
implementation. This is one area that the book
might disappoint some. The lowest you'll get is
the chapters discussing how to load files into
DirectSound buffers - where it covers the file
formats for Ogg Vorbis, Mp3 and WMA. Even then,
much of the programming work is relegated to using
pre-built API's.
It's
not that it's a huge problem that we get someone
else's libraries to do the hard work for us - it's
that for a learning aid it's not really that
useful. You can learn how to use most SDK's by
reading the help files, you don't need to buy a
$60 book to tell you the same thing all over
again. For a true discussion of audio programming
it should go to a lower-level than it does, even
if it still retains the bulk of the content
focused on out-of-the-box API's.
Similar
to the existing series
This
book is part of Charles River's Advances in
Computer Graphics and Game Development series,
this site has reviews of 5 books in the series (see
the review contents page). However, it varies
in one significant way to several of the existing
books - it's scientific 'level'.
The
other books, particularly the random-numbers
related ones are pretty heavy on the
mathematical/scientific notation and theory,
whereas this book is far heavier on ready-to-use
API explanations. It's still possible to find some
complicated sections in here, it doesn't come
across as being so complicated.
Writing
style
The
writing style is good throughout - James Boer is
clear and precise with his text, such that there
were no noticeable confusions. However, whilst
good it doesn't stand out as amazing writing. He
does a good job of extending what is in many
places common SDK documentation.
In
Conclusion
This
has got to rate as one of the best game-audio
programming books simply because it is the only
game audio programming (bar a few chapters seen in
the Game Programming Gems series). As time
progresses I expect it to get some serious
competition from the more technical authors.
If
you are new to audio programming for
games/multimedia applications then this book will
be a great source for learning. You can and will
implement your own audio engine and you will
understand why/how it works. If you've got some
audio programming experience (say, with previous
versions of DirectX) and want a more up-to-date
text that's a little more theoretical you probably
won't get much from this book. Quite a few
chapters do come across as being references for
their respective SDK's.
Good
Things |
Bad
Things |
•
One of the only books of it's kind
currently available |
•
Doesn't go as deep as it could given the
size and price of the book |
•
Easy for a 'newbie' audio programmer |
•
Apart from presentation, much of the
information on the SDK's is freely
available online. |
•
Covers all aspects relevant to game
development |
|
•
Doesn't get too technical on audio-theory |
|
•
All necessary material included on the CD |
|
|