Nistur wrote:I can't remember anything particularly taxing in tuxracer you couldn't just do in lua, apart from the menu maybe. Great game though
Ok, a nice game, especially for children. Simple rules and appealing ambience. But really great? I think, the program lacks some very important attributes. Here some more information.
- Except some kinds of rough trees, which are simply drawn with alpha textures, there are no objects in the scene. No buildings, no 3d trees, no stones and walls, no bridges, no obstacles, no other creatures etc. Such objects can be built with Blender, of course, but to use them in your own program you must convert the Blender output to an appropriate format. Doing this in C or C++ is much effort and you must have a lot of knowledge about 3d formats - too much for me.
- Even the character (Tux) is not a well-shaped object, it is completely built of spheres and ellipsoids. All parts of the body are icospheres with a lot of faces! That's not good. Shaping additional characters by using spheres is very intricate, much more than shaping them with Blender (see above).
- The physics engine comes from the first version of Tuxracer, written by Jasmin Patry 1999. It contains no collision code. There seems to be a collision with the ground but that's not right. In fact Tuxracer calculates the height at the current position and corrects the position when the character is diving into the ground. Height calculation is easily possible since the ground mesh is a regular (!) net of triangles.
For a better game we need collision with the ground, but most urgent is the collision with objects like bridges, ramps, rocks etc. Writing collision code is a great challenge, too great. Using bullet? Perhaps, I dont't know. Using a game engine with integrated collision? That's my question here.
- Finally the rendering. In Tuxracer there is a quadtree, but it is old and inefficient code. Each kind of texture is handled in a particular loop, and many different textures (e.g. > 8) slow down the race considerably. But it's faster than rendering the scene in a "brute force" way. Another disadvantage of the old algorithm: adjacent terrain tiles are blurred, the code lacks a nice blending.
You see, that's the situation. Sometimes I think, the best would be to give up the projekt. On the other hand, this classic game is too important to let it die. I'm going to start the last attempt.