New game features and graphic aspects (3D objects, tunnels, signs, etc) would make interesting new challenges that can't be achieved with the current features, so +1 for adding them.
About 3D objects, I think the best solution is to completely separate graphic 3D objects from collidable ones. This is, a 3D object such as a house would have an entry on the Tcl file with the .obj and .tga files for the 3D rendering, and a completely separated entry with a .obj file for the collision part.
This would make possible paradoxical things such as ghost objects (which are visible but you don't collide with them) and invisible objects, but it could simplify the game. For example, if a collidable object has a complex structure (a bridge, for example, which has a deck on the top and columns under it, with which Tux is never going to collide at the same time) it could be splitted into separate objects, and only calculate collisions with the parts Tux is near of.
By the way, erin, you said that each triangle needed 7 calculations (face, 3 sides and 3 vertices), but I think that doing some tricks it could be reduced to approx. 3, since each side is shared with another triangle, and each vertex with about 4 to 6 other triangles. It's all on how you parse the .obj file: you can get a list of sides and a list of faces pointing to a list of vertices. Example attached.
- (1.45 KiB) Downloaded 4 times