Tremulous Forum
General => General Discussion => Topic started by: Aces on August 16, 2006, 05:16:33 am
-
Hi,
I've read a lot of good things about Tremulous and believe it may be ideal for a project I am about to begin. I need an open source, multiplayer fps that I can use as a base to write code for a useability / human factors research project.
So far, I have not found any documentation to help a developer understand the Tremulous architecture or any guides/tutorials for modifying or extending the game. Does this documentation exist somewhere that I am missing? Or do any of the main developers have documentation not currently published that they would considering giving out to interested parties?
Alternatively, if Tremulous lacks such documentation or has a very steep learning curve to work with the code, do you know of other open source first person shooters which may better suit my needs? (A game which is inferior to Tremulous from a players perspective may still be a better match for someone looking at the game from a developer perspective)
Thanks! If everything works out you may be seeing a lot of me for the next 18 months :)
-
i would recommend sticking to quake3 (which tremulous is based on) because it is more generic than tremulous (which has had changes made to it specifically to acommodate aliens vs. humans) and has a lot more documentation about how to hack it.
-
Tremulous is based off of ioquake3 (http://icculus.org/quake3/) which is an improved version of the quake3 source that id software GPL'd.
-
q3 for game engine
xreal is based on q3 and it is more up to date but slow as hell (for the time being)
or if you want a real time oo 3d rendering engine use ogre a little slower wrt other engines but can be optimized as you specialize it for your needs
-
or if you want a real time oo 3d rendering engine use ogre a little slower wrt other engines but can be optimized as you specialize it for your needs
* Mesh Creation - It is very time consuming (CPU wise) to generate a new mesh on the fly. Due to the nature of the vertex and index buffers, they are not able to be updated easily, especially in C#.. but the problem exists in C++ as well.. This means CPU time is chewed up pushing the vertex&tri information through the bus to the Graphics card, sapping precious frame time.
* Node types - due to the scene graph implementation, each entity is assigned to a node. A Node has a position etc which Ogre then uses in its rendering black box to render the entities attached to the node. This works well for most games, but can cause problems in big areas..
* Resource System - I straight up dont like it.. Throwing exceptions left and right when something is missing.. its a bit backwards.
-
Isn't the code it's own documentation? :P
-
Isn't the code it's own documentation? :P
exactly. you still can run doxygen over it to extract all the comments and get an inheritance diagam.
-
If Tremulous doesn't work out, you could try Nexuiz (which runs on Darkplaces). They have an excellent community as well, so they probably would be able to help.
http://www.alientrap.org/nexuiz/
-
Doom ? :wink:
I m half joking here, but the source code of Doom has been released for years, and thx to that there are many mods that makes it playable on recent PC (like Jdoom (http://www.doomsdayhq.com/)). There has been also a lot of other things made with this engine, some of them very weird, such as this one (http://www.cs.unm.edu/~dlchao/flake/doom/)
-
Maby when XNA comes out, we could get an Xbox360 version? Hint hint.
-
There are a lot of open source Q1 and Q2 things you could use as well.
-
You can visit Code3Arena (http://code3arena.planetquake.gamespy.com/) to find some stuff about Quake3 coding basics and code structure.
Anyway, this forum really needs separate coding section.
-
I have read somewhere that the way SLIDEBOX work on Quake engines and realistic phisics librarys dont mix well.
The hub for enginecoding is www.quakesrc.org
On this site meet Q1, Q2 and Quake3 enginecoders, modders, and some users. And Is often a good read and friendly cool people :D