As usual,
the Microsoft SDK comes with a huge collection of documents
that lead you from one question to another. The printed
book provides some introduction to game design principles,
but is mostly a collection of conversations with experts
in the field. The 3D Game Studio comes with a guided tour.
Leave the printed book and SDK documentation alone and
start reading the e-book (it's by the same author who wrote
Teach Yourself Game Programming in 21 Days).
If you
are shaky with C++, the e-book has a primer. If you are
not familiar with the Visual C++ IDE, the first compilation
could be a nightmare. I first tried the DirectX SDK in
my existing Visual C++ environment. The first example compiled
correctly, but the linker complained about missing info.
After adding the library files to the project property
LINK setting, the compilation worked.
To make
sure the kit really works for people who do not have existing
Visual C++, I reinstalled Windows on a clean hard drive
then installed Visual C++ Introductory Edition, followed
by the DirectX SDK, and finally the e-book. I found that
I had to reboot between installation in order to tie DirectX
SDK to the Visual C++ environment. It looks like the DirectX
libraries must be at the beginning of the search order
among the Visual C++ libraries in order for the sample
codes to compile properly. This is actually mentioned in
the e-book. Note that to distribute the game(s) you create,
you'll need a real Visual C++ compiler (Professional or
Enterprise Edition) because the Introductory Edition does
not allow you to distribute the final executables.
Game
programming is not just coding the sequence or action of
the game. Graphics and music creation can take up most
of the time and effort, and the e-book covers math, physics,
AI, graphics, sound, music, GUI, data structures, and so
forth. The printed book "Game Design: Secrets of the
Sages" contains a heavy discussion of what lies ahead
for 3D game programmers. You get a broad perspective of
the computer game programming. Importantly, the third CD
comes with some files for the printed books, including
a sample game and its source code, an audio development
agreement forms and a game design document template. You
need Microsoft Word to open the documents.
The 3D
GameStudio comes with a tutorial. You need to start the
level or World Editor (WED) in order to follow the tutorial.
The help mode can be annoying, especially if you have a
small old (15") monitor. Once you click Build, the
help window is bigger than the screen and you cannot proceed
to the next step. Turning the help mode off will get you
to the real windows faster. The default resolution for
an opened file is much bigger than the display area of
a 15" monitor. You need to reduce the application
window in order to see all the windows in the workspace.
The moral is: get a big monitor, preferably 19" or larger,
if you want to do game programming.
The workspace
design of 3D GameStudio is very straightforward. The Build
and Run buttons are prominently on top of the window. The
Studio comes with a scripting language (WDL). The Publish
command creates a subdirectory with all the files needed
for distribution, including the game engine. This is amazing.
You can essentially create a simple game within the 3D
GameStudio.
The question
is then, why do we need Visual C++ if 3D GameStudio can
do the job much easier? I think the answer has to do with
control. 3D GameStudio is a high-level editor. Your control
of the game is limited to the scripting language. Games
created with Visual C++ and DirectX will be much more flexible,
although they take longer to develop. Visual C++ gives
me a sense of understanding and confidence that cannot
be matched by a high-level editor. Still, it is more fun
and more productive to use a high-level design tool such
as 3D GameStudio.
Macmillan
Software has done a great job in assembling a Starter Kit
for new Windows game programmers as well as for experienced
programmers who want to explore the game programming field.
The DirectX SDK also comes with examples for Visual Basic
programming. It is well worth the money considering the
tools and information supplied with the kit. I agree with
the publisher - this is a kit that has everything you need
to start game programming in Windows.