The first thing any
sane programmer does while writing
code is to
consider portability. Why
limit your
software to one type of
operating system configuration and
processor architecture when there are so many others?
Most
game developers, apparently, with a few
exceptions, do not
consider this at all. When I look at the
process people like
Blizzard make in creating a
game, I really have to
question their
intelligence. In fact, I really have to
question the
intelligence of anyone who chooses
DirectX over
OpenGL or
SDL.
Now, let's take a look at this. They
entirely focus on
Windows running on
x86 from the very begining. They
write code for
DirectX. Then in
six months to a
year, they
might, if the
community is
lucky,
hire someone else to
completely reinvent the wheel and
rewrite the
entire game engine for
Mac OS and/or
Linux. Why is this
stupid? They could save a whole lot of
time and
money if they just use
OpenGL or
SDL in the first place. For
SDL, you write it once and chances are it'll
compile anywhere (
GNU/Linux,
BeOS,
Mac OS,
*BSD,
Solaris,
probably others, and yes, your
beloved Win32) with hardly any
modification at all. With
OpenGL, there is a
relatively minimal requirement for
rewrites, pretty much just a
sound/
keyboard/
joystick/
mouse code rewrite and you're done. So why the
hell are these guys
wasting all this
time and
money? Really...