I tried to figure out the sliding collision thing, and it worked okay, but when the sphere hit the cube, it got choppy and bounced back. Well, here's what I did:
hide mouse
sync on
sync rate 30
make object cube 1,100
make object collision box 1,-50,-50,-50,50,50,50,0
make object sphere 2,10
make object collision box 2,-5,-5,-5,5,5,5,0
position object 2,0,5,-100
posx#=0
posy#=0
posZ#=0
do
SimpMove(2,1,1,1,3,1)
sync
loop
FUNCTION SimpMove(obj,up,down,turn,speed,sc)
if object exist(obj)
posx#=object position X(obj)
posy#=object position Y(obj)
posZ#=object position Z(obj)
if up=1
if upkey()=1
move object obj,speed
endif
endif
if down=1
if downkey()=1
move object obj,speed-speed*2
endif
endif
if turn=1
if leftkey()=1 then yrotate object obj,wrapvalue(object angle Y(obj)-speed/2)
if rightkey()=1 then yrotate object obj,wrapvalue(object angle Y(obj)+speed/2)
endif
if sc=1
if object collision(obj,0)>0
dec posx#,get object collision x()
dec posy#,get object collision y()
dec posz#,get object collision z()
position object obj,posx#,posy#,posz#
endif
endif
set camera to follow object position X(obj),object position Y(obj),object position Z(obj),object angle Y(obj),50,25,1,1
endif
ENDFUNCTION
It's probally horrible, but that's self-doubt for ya.
"The model you're looking for is out there..."
-The .X Files