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

Re: Write your own lib : the 3D case

My view on this is that there is a continuum between
a complete game and the raw OS features:

1) A full game.
2) A very configurable game.
3) A game engine.
4) A game support library.
5) A general-purpose sound/graphics/peripheral library.
6) Device drivers, X-windows, OpenGL, etc.
7) Base OS features.

The higher you position your work in that heirarchy,
the more powerful the code and the less work your users
have to do.

The lower down you place your efforts, the more work the
users have to put in to make a complete game - but the
wider the variety of things you can write.

Clearly, at level (1), there is nothing whatever to do - you
have a game...however every minute detail is fixed forever.

At level (7), you can program absolutely everything and anything.
Even at level (5), the library is useful for non-games applications.

PLIB comes in somewhere between levels (4) and (5).  People use
some parts of PLIB for non-games applications (The City of Boston
uses the PLIB GUI for their OpenGL park planning package...*NOT*
a game!) - this means you can use PLIB to write a flight sim
(FGFS) or a 3rd person puzzle game like Tux...pretty wildly
differing needs.

However, if you specifically wanted to write a first person
shooter, you'd find it easier to use Crystalspace than PLIB
because CS is level (3).

I guess what I'd like to see is people writing a number of
level (3) packages for different game genre's using PLIB
as their lower level infrastucture. Improvements to that
infrastructure would help everyone.

I think that's a more healthy way to develop than to take
an existing level (3) package like CS and try to hack and
slash at it to make it do something it was never intended
to do.

A contrary view (that I don't hold) is that engines like
CS have to reach all the way down to the very low levels
because there are some very specific optimisations that
would be impossible with something like PLIB in the way.
Like I said - I don't particularly agree with that - but
I understand the argument.

FWIW, my Tux_AQFH game is a level (2) exercise. When it's
completed, it will be possible to reconfigure the basic
game to look very different.

Steve Baker                  http://web2.airmail.net/sjbaker1
sjbaker1@airmail.net (home)  http://www.woodsoup.org/~sbaker
sjbaker@hti.com      (work)