Linux Today: Linux News On Internet Time.

More on LinuxToday

SEUL: Game ToolChest (GTC) project announcement

Jul 27, 1999, 10:22 (2 Talkback[s])
(Other stories by Roger Dingledine)

WEBINAR: On-Demand

No-Size-Fits-All! An Application-Down Approach for Your Cloud Transformation REGISTER >

Roger Dingledine writes:

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 You can download the 0.2 release from You will need a recent release of Mesa (or some other OpenGL 1.1 implementation) -- look for rpms at or 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 "gfxclient".

GTC is part of the SEUL project.

Please download the code and try it out. If you have any comments, suggestions or if you want to participate, e-mail me at 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 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...

Related Stories: