Game
Programming Gems Volume 2
Author: Various
Contributors (Edited by Mark Deloura)
Publisher: Charles Rivers Media
Published: 2001
ISBN: 1-58450-049-2
Purchasing: [Amazon.Com]
[Fatbrain.Com]
- RRP US$69.95
Reviewed: 3rd September 2001
Front
Cover Shot:
Overview
of whats on offer
Picking
up this book for the first time it looks and feels
almost identical to the previous volume in the
series (reviewed
here), but that is to be expected. Looking
inside the book we find much of the same, however
this isn't a bad thing at all - if you liked the
first volume you'll like the second volume just
as much. This is one situation where more of the
same is more than welcome...
The
section layout:
Section 1 - General Programming (22 gems)
- general programming techniques and tips, debugging,
optimising, structures etc...
Section 2 - Mathematics (8 gems) - Clever
maths algorithms and techniques for games.
Section 3 - Artificial Intelligence (14
gems) - Articles on making lifelike enemies and
NPCs in your games.
Section 4 - Geometry Management (11 gems)
- How to manage the now huge amounts of geometry
in games (and other geometry tricks)
Section 5 - Graphic Display (8 gems) -
Mostly 2D related stuff - shadows, light maps,
cartoons, procedural textures
Section 6 - Audio Programming (7 gems)
- Sound effects and music programming.
In
total we have 70 gems to read, 7 more than in
the previous volume, which is a good start - although
some of the articles do give the impression of
space filling really, whilst I dont hold anything
against the "Using Web Cameras in Video Games"
(it's a good article), it is a bit of a strange
'gem' to find...
More
More More !!
As
I already said, in this case more is better. I
can see Mark Deloura (editor) lining up at least
another couple of these books - we may now have
a total of 133 gems between the two volumes, but
I can list several things he's not covered, and
with the success of this series so far I can see
the money-men are going to be more than happy
to produce another volume or two (not a bad thing
in my opinion).
Apart
from the all-new content, there are some nice
refinements to the book - Mark Deloura really
didn't need to change the format of the book much,
but what he has done is add numerous little changes
here and there that refine the quality of the
book in general. None of them are particularly
significant on their own, but they add up. New
things such as Author biographies at the beginning
of the book (we never got told much about the
authors in the first volume), section introductions
by the section-editor, "On The CD" icons
in the margin marking what is to be found for
that article on the CD...
The
content has also been refined, quite a few of
the gems refer back to gems in volume 1 (not necessarily
by the same author); a good example of this is
the neural networking gem. Andre LaMothe did a
great (and complicated) gem in the first volume,
whilst I didn't understand much of it at the time
I got the impression that with the gem alone you
could do that much work with neural networks,
in this volume we get John Manslow producing a
gem that demonstrates a concrete example of neural
networking in games, whilst I still dont understand
it a huge amount it is certainly much easier to
take the code/idea and form your own neural networking
AI engine.
On
the other hand, the content has also got more
technical, and a bit "odd". Take the
gem 3.13 "Imploding Combinatorial Explosion
in a Fuzzy System" - now that just sounds
hard! looking at the article it isn't really that
complicated an idea, but it's based on Fuzzy Logic
AI - which is required as a foundation before
reading this gem. Then again you get the "Using
Web Cameras in Video Games" gem, which just
sounds odd to me - since when have people wanted
to (or attempted to) use web-cams in a computer
game?? Maybe this is a sign of things to come,
but still... :-)
Another
aspect of the increased content is the overlapping,
many articles reference to other articles in the
previous volume, OR, and more importantly, techniques
you have learnt in other gems open the doorway
to new techniques in this volume, or allow you
to expand your current understanding to a new
(higher) level. The first volume had a lot of
gems on 3D graphics and geometry, as does this
book (but not quite so much) - If you own the
two volumes you can quickly find two or three
articles on a very general subject - collision
detection, view culling, landscape generation,
and yet more tricks for speeding up your AI engine.
The bottom line is that having both volumes makes
for a very good resource - which has the knock
on (and negative) result of having to spend twice
as much buying two books (if you dont own volume
1 already).
Surely
it cant be this great?
Not
everything is as good as it seems - even this
book, which so far is proving to be top-quality.
The
biggest problem that I see, and one that I mentioned
in the review of the first book (here)
is the coverage of different areas. We now have
a section on audio programming, whilst it's a
welcome feature, it could be bigger and better,
and we still dont have anything about networking/multiplayer
games - which in this day and age is very strange
(people are always spouting about how internet/multiplayer
gaming is the future...), and less importantly
we still dont have a section on input programming.
I can see whats going on here, there are already
two volumes - I'll put money on this getting upto
volume four within the next two years; there is
more than enough content to warrant more volumes
(and the content is always evolving), but I really
hope that they change the balance for the next
volume - a little less on 3D graphics and a bit
more on audio/music/multiplayer programming please!
The
second downside is that it fits too well as a
series - what? thats no negative thing! true,
true, but if you dont have enough money for both
volumes (and you dont own either already) then
you will be missing out on a large part of the
'experience'. You can quite easily get a lot out
of either this volume or the first volume, but
you get a lot lot more out of having both volumes.
Thirdly,
the language aspects. This is something I mentioned
in the first review, and something I've mentioned
in all but 1 book review so far - it's all in
C or C++. This is to be expected, as I'm aware
of only 1 VB game programming book, yet there
are probably 10-20 recent C/C++ game programming
books. Either this is an instant turn-off for
you or it wont bother you too much. The generally
advanced nature of the content requires you to
have a good head for game programming - hence
learning a bit of C/C++ so you can understand
the code isn't going to prove too hard... I dont
think you will ever find an equivelent resource
in plain VB.
Finishing
things off
In
summary then, we have a good book here - no questions
there. If you were to shell out the cash for this
book you would not be making a mistake - I think
you would be hard pressed to find anyone who was
unhappy with their purchase, not everyone is amazingly
impressed (for a variety of reasons), but the
overall general opinion is thumbs-up. The biggest
question is whether the content in this book is
worth the $60/£50/however much it costs
in your local store/webshop. Here is my summary
of key points:
Good
Things |
Bad
Things |
Refined design and implementation |
Uses C/C++ for all code examples |
Well linked to the previous volumes, other
gems, and other resources |
Definately only for the serious game programmers |
All new content, the range of articles gives
a broad coverage still |
Works best if you own the first volume as
well as the second |
Being set up nicely for another few volumes |
Being set up nicely for another few volumes |
Some of the new gems are based on previous
gems, which enhance and extend what you
already know |
Not very cheap, especially if you buy the
first volume as well, and if you wish to
buy any future volumes. |
Keeps up with current innovations and technologies
- new algorithms brought into the arena
by increasing system specifications. |
Some important areas of game development
are still not covered at all, or to a substantial
depth. |
Contains a CD of all source code |
|
|