Wow, that's pretty cool. The platform engine works really well and the blurred effect does to.
Uncompressed Code
`Project: Compressed Platform, and effect test
`Author: The Game Guy
sync on
sync rate 25
set camera range 0,.1,10000
fog on
fog distance 500
fog color RGB(255,255,128)
color backdrop RGB(255,255,192)
hide mouse
set ambient light 10
make object cube 1,2
position object 1,0,10,0
for i = 1 to 1000
obj = i+10
if i < 990
make object box obj,(rnd(200)+50.0)/30.0,(rnd(200)+50.0)/30.0,(rnd(200)+50.0)/30.0
position object obj,(rnd(2000)-1000)/40,rnd(3000)/2,(rnd(2000)-1000)/40
endif
if i >= 990 and i <> 1000
j# = j# + .2
make object box obj,(i-980)*4,.5,(i-980)*4
position object obj,0,-j#,0
endif:if i = 1000
j# = j# + .2
make object box obj,(i-980)*4,5000,(i-980)*4
position object obj,0,-j#-2500,0
endif
color object obj,rgb(rnd(255),rnd(255),rnd(255))
next i
for i = 1 to 500
obj=i+10000
make object plain obj,.4,.4
position object obj,(rnd(400)-200)/4.0,(rnd(400)-200)/4.0,(rnd(400)-200)/4.0
next i
Alpha = 256-77*2.5
blur=2
set camera to image 0,1000,512,512
sprite 1000,0,0,1000
size sprite 1000,640,480
set sprite 1000,0,1
do
t = t + .1
for i = 1 to 500
obj = i+10000
turn object right obj,obj+.05
roll object right obj,obj+.05
if object position x(obj) < object position x(1)-50
position object obj,object position x(obj)+100,object position y(obj),object position z(obj)
endif
if object position x(obj) > object position x(1)+50
position object obj,object position x(obj)-100,object position y(obj),object position z(obj)
endif
if object position y(obj) < object position y(1)-50
position object obj,object position x(obj),object position y(obj)+100,object position z(obj)
endif
if object position y(obj) > object position y(1)+50
position object obj,object position x(obj),object position y(obj)-100,object position z(obj)
endif
if object position z(obj) < object position z(1)-50
position object obj,object position x(obj),object position y(obj),object position z(obj)+100
endif
if object position z(obj) > object position z(1)+50
position object obj,object position x(obj),object position y(obj),object position z(obj)-100
endif
color object obj,RGB(rnd(255),rnd(255),rnd(255))
position object obj,object position x(obj)+sin(obj+t)*.1,object position y(obj)-.2,object position z(obj)+cos(obj+t)*.1
next i
MMX# = MouseMoveX()
MMY# = MouseMoveY()
CAX# = CAX# + MMY#
CAY# = CAY# + MMX#
if CAX# > 85
CAX# = 85
endif
if CAX# < -85
CAX# = -85
endif
rotate object 1,0,0,0
turn object right 1,CAY#
rotate camera 0,CAX#,CAY#,0
N# = 1:for i = 1 to 4
N# = N# * 10
if P1SpeedZ# > 1/N#
P1SpeedZ# = P1SpeedZ# - 1/N#
endif
if P1SpeedZ# < -1/N#:P1SpeedZ# = P1SpeedZ# + 1/N#
endif
if P1SpeedX# > 1/N#:P1SpeedX# = P1SpeedX# - 1/N#
endif
if P1SpeedX# < -1/N#:P1SpeedX# = P1SpeedX# + 1/N#
endif
next i
if P1SpeedZ# > 0 and P1SpeedZ# < .0002
P1SpeedZ# = 0
endif
if P1SpeedZ# < 0 and P1SpeedZ# > -.0002
P1SpeedZ# = 0
endif
if P1SpeedX#>0 and P1SpeedX#<.0002
P1SpeedX#=0
endif
if P1SpeedX#<0 and P1SpeedX#>-.0002
P1SpeedX#=0:endif
if UpKey() = 1
P1SpeedZ# = P1SpeedZ# + .15
endif
if DownKey() = 1
P1SpeedZ# = P1SpeedZ# - .15
endif
if RightKey() = 1
P1SpeedX# = P1SpeedX# + .15
endif
if LeftKey() = 1
P1SpeedX# = P1SpeedX# - .15
endif
if P1SpeedZ# > 1
P1SpeedZ# = 1
endif
if P1SpeedZ# < -1
P1SpeedZ# = -1
endif
if P1SpeedX# > 1
P1SpeedX# = 1
endif
if P1SpeedX# < -1
P1SpeedX# = -1
endif
P1SpeedY# = P1SpeedY# -.02
if P1SpeedY# < -10
P1SpeedY# = -10
endif
if mouseclick() = 1 and Ground = 1
P1SpeedY# = 1.20
endif
Ground = 0
move object 1,P1SpeedZ#/2
move object right 1,P1SpeedX#/3
move object up 1,P1SpeedY#
if object position y(1) < -50
position object 1,0,10,0
endif
for i = 1 to 1000
obj = i+10
if object position x(1)+1 > (object position x(obj)-object size x(obj)/2)
if object position x(1)-1 < (object position x(obj)+object size x(obj)/2)
if object position y(1)+1 > (object position y(obj)-object size y(obj)/2)
if object position y(1)-1 < (object position y(obj)+object size y(obj)/2)
if object position z(1)+1 > (object position z(obj)-object size z(obj)/2)
if object position z(1)-1 < (object position z(obj)+object size z(obj)/2)
if object position y(1)+.5 > (object position y(obj)-object size y(obj)/2)
if object position y(1)-.5 < (object position y(obj)+object size y(obj)/2)
if object position z(1)+.5 > (object position z(obj)-object size z(obj)/2)
if object position z(1)-.5 < (object position z(obj)+object size z(obj)/2)
if OPX# <= object position x(obj)-object size x(obj)/2
position object 1,object position x(obj)-object size x(obj)/2-1,object position y(1),object position z(1)
endif
if OPX# >= object position x(obj)+object size x(obj)/2
position object 1,object position x(obj)+object size x(obj)/2+1,object position y(1),object position z(1)
endif
endif
endif
endif
endif
if object position x(1)+.5 > (object position x(obj)-object size x(obj)/2)
if object position x(1)-.5 < (object position x(obj)+object size x(obj)/2)
if object position z(1)+.5 > (object position z(obj)-object size z(obj)/2)
if object position z(1)-.5 < (object position z(obj)+object size z(obj)/2)
if OPY# <= object position y(obj)-object size y(obj)/2
position object 1,object position x(1),object position y(obj)-object size y(obj)/2-1,object position z(1)
P1SpeedY# = 0
endif
if OPY# >= object position y(obj)+object size y(obj)/2
position object 1,object position x(1),object position y(obj)+object size y(obj)/2+1,object position z(1)
P1SpeedY# = 0
if mouseclick() = 0
Ground = 1
endif
endif
endif
endif
endif
endif
if object position x(1)+.5 > (object position x(obj)-object size x(obj)/2)
if object position x(1)-.5 < (object position x(obj)+object size x(obj)/2)
if object position y(1)+.5 > (object position y(obj)-object size y(obj)/2)
if object position y(1)-.5 < (object position y(obj)+object size y(obj)/2)
if OPZ# <= object position z(obj)-object size z(obj)/2
position object 1,object position x(1),object position y(1),object position z(obj)-object size z(obj)/2-1
endif
if OPZ# >= object position z(obj)+object size z(obj)/2
position object 1,object position x(1),object position y(1),object position z(obj)+object size z(obj)/2+1
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
next i
OPX# = object position x(1)
OPY# = object position y(1)
OPZ# = object position z(1)
position camera 0,OPX#,OPY#,OPZ#
set sprite alpha 1000,Alpha
sprite 1000,0,0,1000
set sprite alpha 1000,Alpha
paste sprite 1000,blur,0
set sprite alpha 1000,Alpha/2
paste sprite 1000,0,blur
set sprite alpha 1000,Alpha/4
paste sprite 1000,-blur,0
set sprite alpha 1000,Alpha/8
paste sprite 1000,0,-blur
sync
loop
There is no such thing as "Too Fast!"