Nah, probably watched it longer than it took to make
.
Code:
null=make vector2(1)
null2=make vector3(2)
sync on
sync rate 0
set ambient light 0
color backdrop rgb(0,64,64)
for n=1 to 2000
if n=1
load object "worm.x",n
ghost object on n
else
instance object n,1
endif
rotate object n,rnd(360),rnd(360),rnd(360)
next n
hide object 1
foc=-1
fog on
fog distance 130
fog color rgb(0,64,64)
make light 1
color light 1,rgb(0,0,64)
position light 1,0,-200,0
set light range 1,600
make light 2
color light 2,rgb(0,64,0)
position light 2,200,-200,-200
set light range 2,500
make light 3
color light 3,rgb(64,0,0)
position light 3,-200,-200,200
set light range 3,400
point light 1,0,0,0
point light 2,0,0,0
point light 3,0,0,0
set light range 0,100
hide light 0
position camera 0,100,0
load music "title.mp3",1
loop music 1
do
inc foc,1
if mouseclick()=1 and foc>500
foc=-100
inc ang#,rnd(360)
endif
inc ang#,0.5
position object 1,sin(ang#/1.32)*cos(ang#/1.23)*50.0,cos(ang#/1.14)*sin(ang#/1.41)*50.0,cos(ang#/1.53)*sin(ang#/1.35)*50.0
move object 1,0.099
position camera sin(ang#/1.32)*40.0,cos(ang#*1.14)*40.0,cos(ang#/1.53)*40.0
point camera 0,0,0
position light 0,object position x(1),object position y(1),object position z(1)
spd#=0.5
r#=0.125
mode=0
fill=0
for n=1 to 2000
randomize n+timer()
nn=n-1
if foc>3000 then nn=1 : r#=10.0
if n<>1
d#=0.25
if foc>n+100
d#=range3D(object position x(n),object position y(n),object position z(n),object position x(nn),object position y(nn),object position z(nn))-r#
if d#>spd# then d#=spd#
if spd#<1.0 then inc spd#,0.01
`if d#<-0.3 then d#=-0.3
if d#<-0.3 then d#=-0.3
if d#<1.0 then inc fill,1
point object n,object position x(nn),object position y(nn),object position z(nn)
turn object left n,sin(rnd(360))*15.0
pitch object up n,sin(rnd(360))*15.0
move object n,d#
else
if foc=n then rotate object n,rnd(360),rnd(360),rnd(360)
move object n,d#
endif
endif
randomize n
rotate object n,wrapvalue(object position x(n)*20.0)+rnd(360),wrapvalue(object position y(n)*20.0)+rnd(360),wrapvalue(object position z(n)*20.0)+rnd(360)
next n
if fill>1990 then foc=-101
if foc>4000 then foc=-101 : mode=0
if spacekey()=1 then center text 400,0,"FPS:"+str$(Screen FPS())
sync
loop
function range2D(ax#,az#,bx#,bz#)
set vector2 1,ax#-bx#,az#-bz# : result#=length vector2(1)
endfunction result#
function range3D(ax#,ay#,az#,bx#,by#,bz#)
set vector3 2,ax#-bx#,ay#-by#,az#-bz# : result#=length vector3(2)
endfunction result#