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

GTC: Re: GTC blurb



GTC has already changed from the blurb so I can cut it down 
further. If what Pete wrote is already out, that's fine with me. 
If not, you can send this instead. (I'll make it shorter than the 
first thing I wrote.)

Also there was one notable error in Pete's edit. I'm cc-ing 
gtc-dev for the world to see.

Sebastien Loisel -- McGill University -- Sun Microsystems
http://www.math.mcgill.ca/~loisel/

---

The GTC (Game ToolChest) project is developing an LGPL'd library 
for doing many things that are useful to 3d games. Currently, a 3d 
library is in progress which sites 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 is supposed 
to simplify the packing of data and communication. The socket API 
of Unix is good and simple so there isn't all that much to do but 
it still does some useful work.

One of the goals of GTC is to provide new functionality, not just 
another API to do something which other APIs already offer. There 
is 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.

Eventually we intend to provide bindings for many languages. To 
best achieve that goal, we are using C for the core library. This 
means that the library is already usable in C++ though C++ class 
wrappers would make it more esthetically pleasing. We hope to get 
scheme, perl and python bindings eventually, perhaps even export a 
CORBA interface. Since the API hasn't stabilized yet, we can not 
start work on the language bindings.

Included is a space shooter where you fly in a space armada of 
ducks (only mesh I had). There's a single player version and a 
client/server multi player networked version.

This is a list of what we're currently working on and what we 
need.

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

* Collision detection. At the moment a pruning step is 
implemented. If there are N objects flying around, there are 
N(N-1)/2 possible colliding pairs. A naive algorithm tests all 
pairs, that is slow. I implemented an algorithm which tries to 
prune the number of pairs it needs to check. After the pruning is 
done, remaining pairs need to be checked more exactly, this hasn't 
been done yet.

* Reducing the bandwidth required by the generic client. Currently 
we have a generic client which should work for any game made with 
GTC. The architecture is such that the game programmer can almost 
forget about the network and multi-player aspects. However, 
bandwidth usage could be greatly reduced very easily.

* 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.

------------- End Forwarded Message -------------


Sebastien Loisel -- McGill University -- Sun Microsystems
http://www.math.mcgill.ca/~loisel/

*************************************************************
To unsubscribe, send an e-mail to majordomo@gtc.seul.org with
unsubscribe gtc-dev       in the body. http://gtc.seul.org/