The following gives it a more natural feel :
sync on
sync rate 60
hide mouse
randomize timer()
dim stars(1000,9)
for i=0 to 1000
stars(i,0)=rnd(4000)-2000
stars(i,1)=rnd(4000)-2000
stars(i,2)=rnd(4000)+1000
stars(i,7)=25+rnd(100)
next i
rem speed=25+rnd(150)
do
for i=0 to 1000
stars(i,2)=stars(i,2)-stars(i,7):rem speed
if stars(i,2)<=0
stars(i,0)=rnd(4000)-2000
stars(i,1)=rnd(4000)-2000
stars(i,2)=rnd(4000)+1000
stars(i,7)=25+rnd(50)
endif
stars(i,3)=(stars(i,0)*100)/stars(i,2)
stars(i,4)=(stars(i,1)*100)/stars(i,2)
stars(i,5)=(stars(i,0)*100)/stars(i,2)+(stars(i,7)*4):rem (speed*4)
stars(i,6)=(stars(i,1)*100)/stars(i,2)+(stars(i,7)*4):rem (speed*4)
dot 320+stars(i,3),240+stars(i,4)
next i
sync
cls
randomize timer()
loop