Just to add to it, an easy way to make the bullet arc is to add gravity. I edited TheComet's with a couple improvements:
hide mouse
sync on
sync rate 60
backdrop on
color backdrop 0
autocam off
rem make a bullet
make object sphere 1,10
color object 1,rgb(255,0,0)
rem make a matrix
make matrix 1,10000,10000,30,30
rem main loop
do
rem user help
center text 320,20,"Click to fire, move mouse to aim"
rem rotate camera
anglex#=wrapvalue(anglex#+mousemovey())
angley#=wrapvalue(angley#+mousemovex())
if anglex#<180 and anglex#>80 then anglex#=80
if anglex#>180 and anglex#<280 then anglex#=280
rotate camera anglex#,angley#,0
rem shoot bullet
if mouseclick()=1 and shot=0 then grav#=0:shot=1:position object 1,camera position x(),camera position y(),camera position z():rotate object 1,camera angle x(),camera angle y(),0
shot=mouseclick()
rem move bullet
move object 1,8
grav#=grav#-.05
position object 1,object position x(1),object position y(1)+grav#,object position z(1)
rem refresh screen
sync
rem end of main loop
loop
Permanoobs are awesome.