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

SEUL: Game ToolChest (GTC) project announcement

The GTC (Game ToolChest) project is developing an LGPL'd library for doing
many things that are useful to 3d games. The web site is
http://gtc.seul.org/. You can download the 0.2 release from
http://gtc.seul.org/gtc-0.2.tar.gz. You will need a recent release of Mesa
(or some other OpenGL 1.1 implementation) -- look for rpms at
ftp://contrib.redhat.com/ or http://www.mesa3d.org/download.html for source
packages. After compiling, you can cd into the demos directory and run
"flyingducks", which will let you fly in space through an armada of space
ducks, which you can also shoot. You can also try the multi-player version
by starting a server with "duckserver" and connecting to the server with

GTC is part of the SEUL project (http://www.seul.org/).

Please download the code and try it out. If you have any comments,
suggestions or if you want to participate, e-mail me at loisel@seul.org.
Your input is very valuable to us.

Currently, a 3d library is in progress which sits on top of OpenGL (a
"visual simulation" library). Although at present GTC doesn't have very many
features, some fancy collision detection has been implemented. There's also
a networking library, which simplifies the packing of data and
communication. The socket API of Unix is good and simple so there isn't all
that much more to do, but it still provides some useful features.

One of the goals of GTC is to provide new functionality -- not just another
API to do something which other APIs already offer. There are a large number
of game programming libraries out there, though there are only a few libre
ones for 3d gfx. To my knowledge, PLib (http://www.woodsoup.org/projs/plib/)
is the other good 3d library. Its unique feature from my standpoint is the
widget set it provides on top of OpenGL.

What's done:
* Basic networking code.
* Basic meshes and setup code.
* Scene graph & basic collision detection.
* Generic client which ought to work for any game implementation.
* A demo mini-game (shoot space ducks).


* Gfx stuff: loading meshes, textures, skeleton, LOD meshes, projected
shadows, streaming video...

* Collision detection. This is half done.

* Reducing the bandwidth required by the generic client.

* API documentation. It is not stable enough yet to be worth documenting but
eventually this will need to be done. Current documentation is outdated.

* We should be educated about CORBA. It may be that CORBA is useless to us
now but it wouldn't hurt to check and make sure.

* Content. We need to have some objects to work with.

* Language bindings. We really really want to be able to use GTC from many
many languages: C++, Perl, Python, Guile, etc...