[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Tools





Hey while I'm ranting anyway, I can explore the MFC/Qt 
issue further if you don't mind :)

Maybe a little background..  I work at a company that
builds games, not triple-A big biz but still we live
from it, so it's ok.  Recently I managed to sneak
Linux in by putting it on some servers (file-, 
firewall,..) and giving management the full pitch
when they came asking why the system is actually
running and not crashing anymore ;)  To cut it
short, together with the media attention this
small "power demo" has suddenly given me a very
real chance to base future games on Linux.
Particularly our coinops which run *gasp* Win98
and crash like hell could use a stable OS..

Ok, my problem then ?  Up to now I was watching
Linux's games scene for "maybe in the future".
But, the difficulties (growing pains you could
say) of Linux that I merely chuckled at in the
past, now are mountain high obstacles to giving
a Linux-only title the green light.  I'll
mention 2;

1) There are few really stable, complete SDKs.  Of 
those, like SDL, even fewer have broad hardware 
support. Win98 dev'ers are ROFLing when Linux
crawls on at 30 FPS while their hardware blitting
goes at 300..  Comparing with MS, there's something
to say for their monopoly; there's only one SDK
(DirectX), so :
- bloated as it may be, it's also the
centerpoint of all development, so it's pretty
stable, bugfree, even fast
- it's on every end user machine
- all OEMs know what SDK to build a driver for
- we know what to program for.  Watch the
stagnation, or rise in cost during the
OpenGL/D3D battle, when people where uncertain
which one would win, and then developed either
for none (waited), or for both.  Imagine how
many Win98 dev'ers are held back to jump into
Linux by the choice of SDKs available there.
"What if I pick SDL but the only hardware 
accelerated blitting modules for a particular 
video card are written for ClanLib ?" people
think..
The situation seems to be improving a bit, for 3D
cool OpenGL support is coming up so future 3D
can be safely betted on OpenGL.. But we're not
there yet completely, plus, the same problems arise
in input handling (say exotic joysticks, feedback
support), sound (which sdk ? which drivers ?), etc.

2) Tools.  My favorite editor is vi, and I
use it under Win98 as well.  That said though,
manual editing of Makefiles is a sign of 
where we are in Linux...  I forgot which LJ
issue I read it in, but some IDE review mentioned
as a pluspoint the stunning feature that with
only 1 click of a button you could launch
gdb in a window !  Wow.
What Win98 dev'ers need to switch over, is
Visual C++, period.  Like I mentioned, I use
MFC, and it's for a reason.  Tools are very
critical in the game dev process, and when I
started building them I programmed directly to
the Win32 API.  It works, but building the
simplest dialog window is a serious effort :
managing resources (brushes, contexts blabla),
positioning labels, buttons, ..., writing
eventhandlers, filtering out what actually
interests you, finding ways to draw your
contents properly on every kind of desktop
(res/bits per pixel) etc.  Compare with MFC,
which is indeed kindof where KDE etc are
going to : draw the GUI, a few clicks, write
the needed code, done.  The difference between
"barely support for a Makefile, oh and you
can debug with gdb" and "DLL with GUI and
COM/ActiveX support wizard, click here" is so
huge I get depressed from the amount of work
Linux needs to get there.  Yet once you've
learned the hightech way, you never want to
go back to bare Win32 API programming.  So
the gametool dev'ers using MFC also don't want to
go "back" to bare X/Xt/Motif programming, or
for that matter Qt/Gtk-- with manual connection
of signals to slots etc.  Again, they'll only 
switch over if they have Visual C++ for windows.


Now, don't get me wrong.  I'm not trying to start
a flamewar, nor am I suddenly very "antilinux".
However like I said, recently the options for
making Linux games are very real, so instead of
casually surfing, me and other developers are
now looking into the options very seriously.
The above is what emerged as common "omg, is
this the middle ages", the result is that most
feel that gamedev for Linux is now at the
level of MS DOS or Win3.1 at best.  The problem
is lots of Linux people still consider those
(esp. DOS) as excellent game dev platforms,
to strive for..  

  By blurping these concerns to the list, I 
hope to stir up some discussion..
I have a feeling an article about the current
situation, why the above issues are still issues,
and what is being done to solve them, would draw
Win98 game dev'ers to it like moths to a lamp..
Yet probably nobody can write it (except maybe
people at Loki or something), hopefully if
we share some thoughts on it it might
self-emerge.  Are these issues real, or is the
situation improving fast and is this just an
image problem ?  How are OEMs looking at Linux,
how do they decide what drivers to build ?
Are Linux people really shy of advanced
coding tools, or are those under construction 
too ?

I'm dumping it here because ironically, we're
supposed to be the people giving the answers;
I myself should perfectly know what the situation
is with tools and SDKs.. yet here I am, like
any other Win98 dev'er, lost in a jungle of
half-finished efforts and minimalistic IDEs,
wondering if this MS-DOS'ish style will change.
Or maybe I really am ranting again, 'scuzo for the
bandwidth then..

Bert
-- 

-=<Short Controlled Bursts>=-