Here's a very basic code snippet to show you the general idea:
Make object Plain 1,200,200
XRotate Object 1,90
Color Object 1,RGB(0,89,0)
Make Object Cube 2,1
Color Object 2,RGB(255,0,0)
Position Object 2,50,1,-50
Make Object Cube 3,30
Color Object 3,RGB(255,0,255)
Position Object 3,0,-12,0
ZRotate Object 3,340
Position Camera 50,10,-50
Point Camera 0,0,0
Gravity# = 0.5
AutoCam Off
Sync On
Sync Rate 0
Hide Mouse
Do
If Upkey()=1 Then Move Object 2,.4
If Rightkey()=1 Then YRotate Object 2,WrapValue(Object Angle Y(2)+2)
If Leftkey()=1 Then YRotate Object 2,WrapValue(Object Angle Y(2)-2)
Gosub PositionCube
Set Camera To Follow Object Position X(2),CubePosY#,Object Position Z(2),Object Angle Y(2),8,CubePosY#+3,12,0
Point Camera Object Position X(2),CubePosY#,Object Position Z(2)
Sync
Loop
PositionCube:
CubePosY#=Object Position Y(2)
Dec CubePosY#,Gravity#
Position Object 2,Object Position X(2),CubePosY#,Object Position Z(2)
ObjectHit = Object Collision(2,0)
If ObjectHit > 0
Repeat
Inc CubePosY#,0.1
Position Object 2,Object Position X(2),CubePosY#,Object Position Z(2)
Until Object Collision(2,0)=0
Endif
Return
TDK_Man