Your going to want to brush up on your geometry my friend. Especially if you plan on using JUST rotatef and translatef.

You want to translate according to the negative player.x, player.y, and player.z, and you want to rotate according to -player.rotation. You just need to do your rotations and translations in the right order. Rotate and then translate before drawing your scene.

Also, if you want the player to move foward relative to his rotation, you need to use some simple trig. In case you didn’t already know, that’s the following:

x += sin(angle) * speed;
y += cos(angle) * speed;

(you may need to switch the sine and cosine depending on how your coordinates are set up)

Also, remember that glRotate takes angles in degree measure, while sine and cosine take angles in radian measure, so you’ll need to convert between the two. Remember the following:

1 degree = PI/180 radians

A trick to compute PI quickly, easily, and painlessly, is the following:

“Also, remember that glRotate takes angles in degree measure, while sine and cosine take angles in radian measure, so you’ll need to convert between the two.”

Ah, maybe that’s what’s going wrong… hmmm. I’ll have to try that tomorrow. It’s getting too late to do it tonight.

We’ll see how things go.

EDIT hehe, goemetry is not a problem. Cal III, now that was a problem.

[This message has been edited by drummerboy_2002 (edited 10-23-2001).]