Game Development Reference
In-Depth Information
The Tools
Software Development Kits (SDKs)
One of the most popular SDKs is DirectX from Microsoft. It provides APIs useful for
creating game software, albeit only on devices that run Microsoft operating systems.
There are many more: SDKs for physics, SDKs for rendering 3D graphics, SDKs for
audio, networking, even AI. You probably could make a professional game without
using any of them, but I wouldn ' t recommend it. You don ' t need all of them, but
most certainly you
ll use one or two. They boost your development schedule and
give you some confidence that your graphics or audio system has been well tested
and might even be well known by other programmers that will help you make your
game.
When I first started writing this section, it was in
'
section at the end
of this chapter. I felt a little guilty about giving SDKs such a bad rap. After all, if they
are really useless, why do I use them on every project? The truth is that SDKs give
you a huge leg up. The source code that accompanies this topic could never have
been written or maintained without them. That said, they can also be a huge pain
in the butt. SDKs are widely used, so they can
The Dark Side
'
t appeal to the odd needs of every
project. Some of the expensive ones come with source code as you see with open
source SDKs, which is critical for debugging problems. You can even make changes
and recompile the SDK, but any customizations you perform might be invalidated by
their next version. Most of the time, you have to be satisfied with begging and plead-
ing the company that created it to add your wacky feature or just support the custom
mod yourself. Perhaps the SDK engineers will find your idea interesting and add
your idea to the mix.
The real hassle comes when you grab their latest version. You
'
ll usually find that the
new version isn
ll spend hours or days
getting your game to compile again. In writing the fourth edition of this topic, this
happened to me
'
t compatible with your code base, and you
'
many SDKs needed some code changes to become functional again
or to take advantage of new features and capabilities. Basically, if you don ' t have to
upgrade for some compelling reason, don
'
t bother. Spend the time making your game
better. As they say,
Do yourself a favor and try to find SDKs that that are widely used or are from com-
panies that commit to support earlier APIs or have become stable enough that you
only have to change your code to utilize new additions, rather than random changes
to old APIs. Anything else is madness.
If it ain
'
t broke, don
'
t fix it.
 
 
 
Search WWH ::




Custom Search