I've attempted a localised rain effect using particles, but it doesn't look very good. The main problem is that you can't limit the horizontal velocity of the particles. Here's the code anyway:
rem Why does it always rain on me?
sync on
sync rate 60
hide mouse
autocam off
make matrix 1,1000,1000,5,5
create bitmap 1,32,32
for i=0 to 360
for j=0 to 14
ink rgb(255-int(j*15.9),255-int(j*15.9),255-int(j*15.9)),0
dot 16+(cos(i)*j),16+(sin(i)*j)
next j
next i
get image 1,0,0,31,31
set current bitmap 0
delete bitmap 1
for i=1 to 5
make particles i,1,100,40
position particles i,500,0,500
set particle emissions i,1
set particle velocity i,-20
set particle speed i,0.05
position particle emissions i,0,10,0
color particles i,0,255,255
set particle gravity i,10
next i
do
a#=wrapvalue(a#+mousemovex())
for i=1 to 5
position particle emissions i,int(rnd(10)-5),10,int(rnd(10)-5)
next i
position camera 500+(sin(a#)*500),200,500+(cos(a#)*500)
point camera 500,50,500
sync
loop
Once I was but the learner,
now, I am the Master.