Mailing List Archive

Support open source code!


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

Re: Developing Games under Linux



I wrote:

> One possibility for games under Linux is to use the LIBGRX package
> that comes with DJGPP (DJ Delorie's port of GCC to DOS; uses the GO32
> DOS extender that he wrote).  LIBGRX is an excellent fast graphics
> package for use with DJGPP, and supposedly is being ported to the
> Linux environment.  DJGPP is not as good for writing games as some of
> the DOS environments (in particular Watcom and Turbo C both usually
> produce smaller and faster executables), but it usually is close in
> both size and speed to the best that the commercial compilers can do.
> 
> I don't know what the status of the Linux port is.
> 
> The DJGPP version of Ghostscript running under DESQview/X 2.1 is quite 
> competitive with the Linux versions running on XFree86 3.1.

>>>>> and "Kise" == Norihide Kise <s100234@example.com> replies:

    Kise> Thank you much for telling me very valuable information. Is
    Kise> there any dedicated book which describes how to develop
    Kise> games under Linux? In the U.S. there are more than a dozen
    Kise> of books which explain how to program computer games under
    Kise> DOS and Windows 3.1/95, but I've never seen similar books
    Kise> for Linux. If anyone knows such a book, please let me know.

I would guess that techniques for Windows would work fairly well under
X, but the functions you need to call are different, and that basic
techniques for DOS using grphics libraries such as Zortech/Symantec
FlashGraphics or Borland's BGI should work with libsvga under Linux.
But remember that under DOS or Windows you can grab direct access to
the screen (yes, you can address the screen directly under most
implementations of DPMI 0.9; AFAIK only Linux DOSemu's DPMI does not
permit this).  I don't know how you would go about getting direct
access to the graphics screen or card accelerator functions under
Linux.

I've looked at several graphics (not games) programming books for DOS,
and the quality is extremely uneven.  I would imagine that the games
literature is the same.  In general, my feeling is that "how to" books
are generally best used for kindling or toilet paper.  They can't help
you with design, not very much anyway, and beyond the basic principles
of implementation, a lot of what makes a good game great is going to
be hardware-specific: the closer you can get to the common hardware,
the faster and slicker those implementations are going to be.  But
most of the books don't go beyond very basic cookbook approaches to
direct screen writes.

Probably the best place to start is to look at the implementation of
libsvga; the source is available.  The implementation of the XFree86
servers for the various cards would be an even better source for
learning about graphics programming, but this is going to be a huge
piece of code, and I don't know how easy it will be to find the
games-relevant portions.  Note that font-handling code is likely to be
somewhat similar to sprite-handling code; similar analogies probably
abound.  DOSemu might also have some useful techniques; I don't know.

If I were going to book up on game techniques, I would probably get
whatever book was recommended as best across all the systems (Mac,
Windowze, Linux, DOS, X); the techniques aren't that different so it
doesn't matter if it's not the one I'm actually going to use.  Then I
would look at industrial-strength graphics code, such as an X server,
to learn the graphics techniques relevant to my hardware/OS
environment.  Then (to the extent that code was public domain) I would
specialize it to my application.

Note that if you want to write commercial games, you need to be
careful about this approach; you may not legally be able to keep your
source code private if you are using GPL code as an example.

[Any comments from the professionals in the peanut gallery---the ones
who got bcc'd to protect the guilty, you know who you are, and you
know you are guilty!---are welcome.]

-- 
                            Stephen J. Turnbull
Institute of Socio-Economic Planning                         Yaseppochi-Gumi
University of Tsukuba                      http://turnbull.sk.tsukuba.ac.jp/
Tennodai 1-1-1, Tsukuba, 305 JAPAN                 turnbull@example.com


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links