Well I was giving this one a bit a of a bash, having some spare time and all, but I didn't read that it was only 3D! So heres what I had so far but I don't know if it qualifies.
autocam off
randomize timer()
set display mode 1024,768,32
global y
global xfac=420
global rad=0
global curvangle=10
global yang=440
global xpar=400
global ypar=475
land_and_sun()
repeat
scenery()
line 420,y-10,420,y
line 421,y-10,421,y
smoke_dots()
inc y,1
REM 505 is the Y value for missile contact with the earth!
text 0,320,str$(screen fps())
until y=505
repeat
scenery()
explosion()
until returnkey()
end
function smoke_dots()
`smokes dots
`third row
dot 415,y-20
dot 420,y-20
dot 425,y-20
`second row
dot 418,y-15
dot 423,y-15
endfunction
function scenery()
`Flat beginning
line 0,500,50,490
`Mountain
line 50,490,80,300
line 80,300,110,510
`Valley
line 110,510,450,505
`Hill
line 450,505,500,450
line 500,450,550,450
line 550,450,600,503
`Valley 2
line 600,503,700,510
line 700,510,900,510
`Big mountain
line 900,510,1100,290
endfunction
function land_and_sun()
`makes the ground
make object plain 1,5,100
color object 1,rgb(0,255,0)
zrotate object 1,90
position object 1,0,-4.5,10
`makes the sun
make object sphere 2,3
color object 2,rgb(255,255,0)
position object 2,-6.8,5,10
`light 1
make light 1
position light 1,-6.8,3,7
`light 2
make light 2
position light 1,-5,3,9
endfunction
function explosion()
`Shockwave
inc rad,5
`780 is the maxium radius then it dissapears
circle xfac,y,rad
`Particles
particles()
`Exploding lines
line xpar,505,xpar-50,yang+rnd(20)
line xpar,505,xpar+50,block+yang+rnd(20)
line xpar,505,xpar-30,yang+rnd(20)
line xpar,505,xpar+30,block+yang+rnd(20)
line xpar,505,xpar-20,yang+rnd(20)
line xpar,505,xpar+20,block+yang+rnd(20)
line xpar,505,xpar-40,yang+rnd(20)
line xpar,505,xpar+40,block+yang+rnd(20)
endfunction
function particles()
`Particles one
dot xpar+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar+rnd(12),ypar+rnd(20),rgb(255,255,0)
dot xpar+rnd(12),ypar+rnd(20),rgb(255,255,0)
dot xpar+rnd(12),ypar+rnd(20),rgb(255,255,0)
dot xpar+rnd(12),ypar+rnd(20),rgb(255,255,0)
dot xpar+rnd(12),ypar+rnd(20),rgb(255,255,0)
`Particles two
dot xpar+10+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar+10+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar+10+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar+10+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar+10+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar+10+rnd(12),ypar+rnd(20),rgb(255,255,0)
dot xpar+10+rnd(12),ypar+rnd(20),rgb(255,255,0)
dot xpar+10+rnd(12),ypar+rnd(20),rgb(255,255,0)
dot xpar+10+rnd(12),ypar+rnd(20),rgb(255,255,0)
dot xpar+10+rnd(12),ypar+rnd(20),rgb(255,255,0)
`Particles three
dot xpar+10+rnd(20),ypar+10+rnd(12),rgb(255,255,0)
dot xpar+10+rnd(20),ypar+10+rnd(12),rgb(255,255,0)
dot xpar+10+rnd(20),ypar+10+rnd(12),rgb(255,255,0)
dot xpar+10+rnd(20),ypar+10+rnd(12),rgb(255,255,0)
dot xpar+10+rnd(20),ypar+10+rnd(12),rgb(255,255,0)
dot xpar+10+rnd(12),ypar+10+rnd(20),rgb(255,255,0)
dot xpar+10+rnd(12),ypar+10+rnd(20),rgb(255,255,0)
dot xpar+10+rnd(12),ypar+10+rnd(20),rgb(255,255,0)
dot xpar+10+rnd(12),ypar+10+rnd(20),rgb(255,255,0)
dot xpar+10+rnd(12),ypar+10+rnd(20),rgb(255,255,0)
`Particles four
dot xpar-10+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar-10+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar-10+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar-10+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar-10+rnd(20),ypar+rnd(12),rgb(255,255,0)
dot xpar-10+rnd(12),ypar+rnd(20),rgb(255,255,0)
dot xpar-10+rnd(12),ypar+rnd(20),rgb(255,255,0)
dot xpar-10+rnd(12),ypar+rnd(20),rgb(255,255,0)
dot xpar-10+rnd(12),ypar+rnd(20),rgb(255,255,0)
dot xpar-10+rnd(12),ypar+rnd(20),rgb(255,255,0)
`Particles four
dot xpar-20+rnd(20),ypar+10+rnd(12),rgb(255,255,0)
dot xpar-20+rnd(20),ypar+10+rnd(12),rgb(255,255,0)
dot xpar-20+rnd(20),ypar+10+rnd(12),rgb(255,255,0)
dot xpar-20+rnd(20),ypar+10+rnd(12),rgb(255,255,0)
dot xpar-20+rnd(20),ypar+10+rnd(12),rgb(255,255,0)
dot xpar-20+rnd(12),ypar+10+rnd(20),rgb(255,255,0)
dot xpar-20+rnd(12),ypar+10+rnd(20),rgb(255,255,0)
dot xpar-20+rnd(12),ypar+10+rnd(20),rgb(255,255,0)
dot xpar-20+rnd(12),ypar+10+rnd(20),rgb(255,255,0)
dot xpar-20+rnd(12),ypar+10+rnd(20),rgb(255,255,0)
endfunction
I know it's very simple and doesn't look WOW but it was a start. It wasn't finished but I don't know if I want to if I can't enter it!
Is this 2D explosion allowed?