This is the player input:

code:
 
// reset the force vector each frame
force.x = 0;
force.y = 0;
force.z = 0;

//allow control of ball if on the ground...
if (ground_dist > 0 && ground_dist < scale_dist)
{
if(key_cuu)
{
vec_set(temp.x,camera.x);
temp.z = player.z;
vec_diff(force.x,player.x,temp.x);
vec_normalize(force,power); //force vector points from camera to player at length of power
}
if (key_cud)
{
vec_set(temp.x,camera.x);
temp.z = player.z;
vec_diff(force.x,player.x,temp.x);
vec_inverse(force);
vec_normalize(force,power);
}
if(key_cul)
{
vec_set(temp.x,camera.x);
temp.z = player.z;
vec_diff(force.x,player.x,temp.x);
force_ang.pan = 90;
vec_rotate(force,force_ang);
vec_normalize(force,power);
}
if(key_cur)
{
vec_set(temp.x,camera.x);
temp.z = player.z;
vec_diff(force.x,player.x,temp.x);
force_ang.pan = -90;
vec_rotate(force,force_ang);
vec_normalize(force,power);
}
}

and the movement code is:

code:
 
function movePlayer()
{

//increase gravity force if not in a jump...
if (jumping == 0)
{
force.z -=10000;
}

// apply force to player
phent_addcentralforce(player,force);
}

I have tried with thick blocks, but haven't had better success with them. [Frown] Since adjusting the gravity, as I've mentioned before.. the ball going through the blocks is more trivial than it used to be.

I'm not sure how to approach the spinning problem. I would like the ball to continue in an easily forseeable way though. Any ideas as to prevent the odd spin reaction?

thanks,
Jason

edit- I did try using torque at one point to see how well that would work. It didn't work as well as using force. It seemed to pull to the right actually. Marble madness was great! [Smile]