Hi.
I posted the 2D version of this game a few weeks ago, but since then my computer died and I had to re-code this 3D version.
I'm posting it here both as an entry into the competition and as a backup in case my computer dies again

.
Let me know what you think. It keeps score, goes on forever and even gets faster as you play!
`Make sure you run this in 640x480 windowed mode
sync on : sync rate 60 : autocam off : dim pos(14,2) : color backdrop 0,0 : set camera range 10,200000
for t=1 to 4
make object cube t,100 : scale object t,800,20,50 : make object cube t+10,100 : scale object t+10,800,20,50
pos(t,2)=-400*t : color object t,rgb(0,200,0) : color object t+10,rgb(0,200,0) : pos(t,1)=rnd(1250)-rnd(2000)
next t
make object cube 1000,100 : scale object 1000,4000,2000,80 : position object 1000,-3000,-1000,0 : color object 1000,rgb(255,255,0) : make object cube 1001,100 : scale object 1001,4000,2000,80 : position object 1001,3000,-1000,0 : color object 1001,rgb(255,255,0)
make object cube 1002,100 : scale object 1002,8000,1000,80 : position object 1002,0,500,0 : color object 1002,rgb(255,0,0) : make object cube 1003,100 : scale object 1003,8000,1000,80 : position object 1003,0,-2500,0 : color object 1003,rgb(255,0,0)
make object sphere 100,175 : color object 100,rgb(0,0,200) : set text font "Arial" : set text size 24
start:
position object 100,0,-1050,0 : speed#=0 : score=0 : endgame=0 : while endgame=0
score=score+1 : speed#=speed#+0.002 : set cursor 0,0 : text 10,10,"Score: "+str$(score) : point object 100,object position x(100),-2100,0 : move object 100,15+speed#
if leftkey()=1 then point object 100,-2000,object position y(100),0 : move object 100,15+speed#/2
if rightkey()=1 then point object 100,2000,object position y(100),0 : move object 100,15+speed#/2
if object collision(100,0)>0 and object collision(100,0)<100 : if object position y(100)<object position y(object collision(100,0)) : else : position object 100,object position x(100),object position y(object collision(100,0))+100,0 : endif : endif
if object position x(100)<-890 then position object 100,-890,object position y(100),0
if object position x(100)>890 then position object 100,890,object position y(100),0
if object position y(100)>-75 or object position y(100)<-2000 then endgame=1
for f=1 to 4 : pos(f,2)=pos(f,2)+10+speed# : if pos(f,2)>0 : pos(f,1)=rnd(1250)-rnd(2000) : pos(f+10,1)=pos(f,1)+1100 : pos(f,2)=-2000 : endif : position object f,pos(f,1),pos(f,2),0 : position object f+10,pos(f+10,1),pos(f,2),0 : next f
position camera 0,-1000,-2000 : point camera object position x(100),-1000+((object position y(100)+1000)/2),0
sync : endwhile : center text 320,220,"Final score: "+str$(score) : center text 320,240,"Press SPACE to restart" : sync : wait 1000 : wait key : if spacekey()=1 then goto start
Here's a screenshot:
-Evan
AMD939 3500+, Gigabyte PCI-E X800XL 256mb, 1024mb RAM
Logitech Z680 5.1 Speakers