Ok, I'll admit that I am nowhere NEAR advanced enough in C or C++ to write a 3D engine, but I have a few questions that perhaps someone can explain to me.

I have written to 2 programmers who wrote 3D FPS games, and neither replied. One of them even said he would. Go figure.

Anyway, my questions are about the basics of FPS games. I'm wondering how they do the following:

1) What type of software is used to build the 3D world? I'm sure there are several, but what are some common ones?

2) Once the 3D world is built, I would imagine the entire world is a 3D wireframe, right?

3) If so (that it is a wireframe), I'm sure it has to be decoded. What are the basics? A huge array it is loaded into? Or how can this be done?

4) After the textures have been drawn using whatever CAD or paint program, how would you stick those onto the wireframe? For example, if you have a wireframe for a grass patch, how would you add the texture? Or if you had a railing and a small rug hung over the side, how might that be done?

5) If you have a shooter, or anything first person, how does the player move through the world? The best I can think of is you have X,Y,Z coordinates of the world, and your player has its own X,Y,Z location, and you simply change your coordinates. Am I even close to right?

6) How do you change the height of view? Like if the player is walking up steps, or looking towards the sky?

7) Lastly, if the player runs into a wall, how do you keep the player from walking through it? I know this is collision detection, but I don't understand that.

Clearly there are a lot of 3D questions here. I have read some tutorials but I just don't understand it.

Anyway, I'm not planning on making a 3D game (I don't nearly have the math capabilities), but these things have always bothered me. I even contacted Andre Lamothe a few years ago with some of these questions. He said all were answered in Black Art, yet I couldn't figure it out.

Anybody willing to help explain?

Thanks