Simple:
(untested)
sync on : sync rate 60
set display mode 1024,768,32 : hide mouse
autocam off : set camera range 1,0x7fffffff
backdrop on : color backdrop 0
`create cube
make object cube 1,100
speed#=5
turn#=3
`create landscape
make matrix 1,1000,1000,50,50
`main loop
do
`controls
if upkey()
x#=x#+(sin(a#)*speed#)
z#=z#+(cos(a#)*speed#)
endif
if downkey()
x#=x#-(sin(a#)*speed#)
z#=z#-(cos(a#)*speed#)
endif
if leftkey() then a#=wrapvalue(a#-turn#)
if rightkey() then a#=wrapvalue(a#+turn#)
position object 1,x#,y#,z#
yrotate object 1,a#
`camera
ca#=curveangle(a#,ca#,6.0)
cx#=x#-sin(ca#)*600
cz#=z#-cos(ca#)*600
cy#=y#+300
position camera cx#,cy#,cz#
point camera x#,y#,z#
sync
loop
Remember, it's untested.