Here's update nr.2, I haven't worked on the rollercoaster, but on different resolutions and a COOL intro
sync on
sync rate 0
hide mouse
cls
text 5,5,"This demo requires 32-bit display mode to function correctly"
text 5,20,"Press space to continue, or press escape/F12"
while spacekey()=0
sync
endwhile
set display mode 640,480,32
hide mouse
cls
center text 320,225,"Loading"
create bitmap 10,640,480
set current bitmap 10
for a=0 to 639
for b=0 to 479
r = 255 - sqrt(a^2+b^2) / 800.0 * 235.0
if r < 0 then r = 0
g = 255 - sqrt((a-320)^2+(b-240)^2) / 800.0 * 255.0
if g < 0 then g = 0
c = 255 - sqrt((a-639)^2+(b-479)^2) / 800.0 * 235.0
if c < 0 then c = 0
ink rgb(r,g,c),rgb(r,g,c)
dot a,b
next b
set current bitmap 0
ink rgb(r,g,c),rgb(r,g,c)
angle# = a / 639.0 * 360.0
line 320+sin(angle#)*60,240+cos(angle#)*60,320+sin(angle#)*140,240+cos(angle#)*140
line 321+sin(angle#)*60,241+cos(angle#)*60,321+sin(angle#)*140,241+cos(angle#)*140
line 319+sin(angle#)*60,239+cos(angle#)*60,319+sin(angle#)*140,239+cos(angle#)*140
ink rgb(255,255,255),0
center text 320,225,"Loading"
set current bitmap 10
sync
next a
ink rgb(255,255,255),rgb(255,255,255)
set text font "Tahoma"
set text size 24
center text 320,225,"MATH"
set text size 16
center text 320,280,"By Emperor Baal"
center text 520,450,"Alien game Productions"
set current bitmap 0
copy bitmap 10,0
sync
delete bitmap 10
sync
wait 12000
ink rgb(255,255,255),0
cls 0
sync rate 0
text 5,20,"Press 1 to use current resolution (640x480x32)"
text 5,35,"Press 2 to switch to 800x600x32"
text 5,50,"Press 3 to switch to 1024x768x32"
while x$ <> "1" and x$ <> "2" and x$ <> "3"
x$ = inkey$()
sync
endwhile
if x$ = "1" then set display mode 640,480,32
if x$ = "2" then set display mode 800,600,32
if x$ = "3" then set display mode 1024,768,32
hide mouse
`goto buf
wait 1500
cls
center text 320,225,"Are you ready for a ride?"
wait 500
sync
for b=1 to 10
blur bitmap 0,1
sync
next b
center text 320,225,"That you never saw before?"
wait 500
sync
for b=1 to 10
blur bitmap 0,1
sync
next b
center text 320,225,"Then come with me, I'll show you the light!"
wait 500
sync
for b=1 to 10
blur bitmap 0,1
sync
next b
cls
backdrop on
color backdrop 0
set ambient light 10
make light 1
set point light 1,0,0,0
color light 1,rgb(64,64,255)
obj = 1000
for a=0 to 348 step 12
inc obj
make object triangle obj, 0, 5, 0, sin(a)*1.2941,4.8296,cos(a)*1.2941,sin(a+12)*1.2941,4.8296,cos(a+12)*1.2941
color object obj,rgb(255,0,0) : sync
next a
for a=0 to 348 step 12
inc obj
make object triangle obj, sin(a)*1.2941,4.8296,cos(a+12)*1.2941, sin(a)*2.5,4.3301,cos(a)*2.5,sin(a+12)*2.5,4.3301,cos(a+12)*2.5
color object obj,rgb(192,64,0) : sync
next a
for a=0 to 348 step 12
inc obj
make object triangle obj, sin(a)*2.5,4.3301,cos(a)*2.5,sin(a)*3.5355,3.5355,cos(a)*3.5355,sin(a+12)*3.5355,3.5355,cos(a+12)*3.5355
color object obj,rgb(128,128,0) : sync
next a
for a=0 to 348 step 12
inc obj
make object triangle obj, sin(a)*3.5355,3.5355,cos(a)*3.5355,sin(a)*4.3301,2.5,cos(a)*4.3301,sin(a+12)*4.3301,2.5,cos(a+12)*4.3301
color object obj,rgb(128,128,0) : sync
next a
for a=0 to 348 step 12
inc obj
make object triangle obj, sin(a)*4.3301,2.5,cos(a)*4.3301,sin(a)*4.8296,1.2941,cos(a)*4.8296,sin(a+12)*4.8296,1.2941,cos(a+12)*4.8296
color object obj,rgb(64,192,0) : sync
next a
for a=0 to 348 step 12
inc obj
make object triangle obj, sin(a+12)*4.8296,1.2941,cos(a+12)*4.8296,sin(a)*5,0,cos(a)*5,sin(a+12)*5,0,cos(a+12)*5
color object obj,rgb(0,255,0) : sync
next a
obj = 3000
for a=0 to 348 step 12
inc obj
make object triangle obj, 0, -5, 0, sin(a)*1.2941,-4.8296,cos(a)*1.2941,sin(a+12)*1.2941,-4.8296,cos(a+12)*1.2941
color object obj,rgb(255,0,0) : sync
next a
for a=0 to 348 step 12
inc obj
make object triangle obj, sin(a)*1.2941,-4.8296,cos(a+12)*1.2941, sin(a)*2.5,-4.3301,cos(a)*2.5,sin(a+12)*2.5,-4.3301,cos(a+12)*2.5
color object obj,rgb(192,64,0) : sync
next a
for a=0 to 348 step 12
inc obj
make object triangle obj, sin(a)*2.5,-4.3301,cos(a)*2.5,sin(a)*3.5355,-3.5355,cos(a)*3.5355,sin(a+12)*3.5355,-3.5355,cos(a+12)*3.5355
color object obj,rgb(128,128,0) : sync
next a
for a=0 to 348 step 12
inc obj
make object triangle obj, sin(a)*3.5355,-3.5355,cos(a)*3.5355,sin(a)*4.3301,-2.5,cos(a)*4.3301,sin(a+12)*4.3301,-2.5,cos(a+12)*4.3301
color object obj,rgb(128,128,0) : sync
next a
for a=0 to 348 step 12
inc obj
make object triangle obj, sin(a)*4.3301,-2.5,cos(a)*4.3301,sin(a)*4.8296,-1.2941,cos(a)*4.8296,sin(a+12)*4.8296,-1.2941,cos(a+12)*4.8296
color object obj,rgb(64,192,0) : sync
next a
for a=0 to 348 step 12
inc obj
make object triangle obj, sin(a+12)*4.8296,-1.2941,cos(a+12)*4.8296,sin(a)*5,0,cos(a)*5,sin(a+12)*5,0,cos(a+12)*5
color object obj,rgb(0,255,0) : sync
next a
dim loc#(5000)
for buf = 1000 to 5000
if object exist(buf) = 1 then loc# = object position y(buf)
next buf
for a=1 to 360
if a<180 then text 5,5,"MATH by Emperor Baal"
position camera sin(a)*10,0,cos(a)*10
point camera 0,0,0
sync
next a
for b=1 to 360
if b<180 then text 5,5,"Math is fast"
position camera sin(b*2)*10,0,cos(b)*10
point camera 0,0,0
sync
next b
for c=1 to 360
if c<180 then text 5,5,"Math is easy"
position camera sin(c*2)* 10, 0, 0
point camera 0,0,0
for a = 1000 to 2000
if object exist(a) = 1
position object a,object position x(a),loc#(a)+abs(sin(c)*7),object position z(a)
endif
next a
for b = 3000 to 4000
if object exist(b) = 1
position object b,object position x(b),loc#(b)-abs(sin(c)*7),object position z(b)
endif
next b
sync
next c
for d=1 to 1080
if d<540 then text 5,5,"Math is flexible"
position camera sin(d)*10, 0, 0
point camera 0,0,0
for a = 1000 to 2000
if object exist(a) = 1
position object a,object position x(a),loc#(a)+abs(sin(c)*12),object position z(a)
xrotate object a,wrapvalue(d)
zrotate object a,wrapvalue(d)
endif
next a
for b = 3000 to 4000
if object exist(b) = 1
position object b,object position x(b),loc#(b)-abs(sin(c)*12),object position z(b)
xrotate object b,wrapvalue(d)
zrotate object b,wrapvalue(d)
endif
next b
sync
next d
for a=1 to 960
if a<480 then text 5,5,"Math is also dangerous"
if a>700 then center text 320,225,"WARNING WARNING WARNING!"
position camera sin(a*3)*10, 0, 0
point camera 0,0,0
sync
next a
color light 1,rgb(255,0,0)
set light range 1, 5000
for a=1 to 700
if a<500
position camera camera position x(),camera position y(),camera position z()-0.1
else
text 5,5,"That gotta hurt"
for b=1000 to 4000
if object exist(b) then move object b,-0.4
next b
endif
point camera 0,0,0
sync
next a
for a=1 to 5000
if object exist(a)=1 then delete object a
next a
cls
backdrop off
cls
center text 320,225,"Now it's time for a ferrywheel ride"
wait 500
sync
for b=1 to 10
blur bitmap 0,1
sync
next b
center text 320,225,"Something you've never seen before"
wait 500
sync
for b=1 to 10
blur bitmap 0,1
sync
next b
center text 320,225,"Come with me"
wait 500
sync
for b=1 to 10
blur bitmap 0,1
sync
next b
backdrop on
for b=1 to 12 step 11
for a=0 to 348 step 12
inc obj
make object triangle obj,cos(a)*b,0,sin(a)*b,cos(a)*b,2,sin(a)*b,cos(a+12)*b,0,sin(a+12)*b
color object obj,rgb(255,abs(cos(a)*255),0) : sync
next a
for a=0 to 348 step 12
inc obj
make object triangle obj,cos(a)*b,2,sin(a)*b,cos(a+12)*b,2,sin(a+12)*b,cos(a+12)*b,0,sin(a+12)*b
color object obj,rgb(abs(cos(a)*255),255,0) : sync
next a
next b
for b=0 to 2 step 2
for a=0 to 348 step 12
inc obj
make object triangle obj,cos(a)*12,b,sin(a)*12,cos(a),b,sin(a),cos(a+12),b,sin(a+12) : sync
next a
next b
make object triangle obj+1,0,2,0,-5,2,-18,5,2,-18 : sync
make object triangle obj+2,0,0,0,-5,0,-18,5,0,-18 : sync
make object box 1000,4,1,2 : sync
make object box 1001,4,1,2 : sync
make object box 1002,4,1,2 : sync
make object box 1003,4,1,2 : sync
make object plain 6000,1000,1000 : sync
position object 6000,0,0,-18
color object 6000,rgb(0,255,0)
color backdrop rgb(200,232,255)
position camera 0,21,-12
point camera 0,0,0
delete light 1
set ambient light 70
color ambient light rgb(255,255,255)
for angle = 1 to 720
angle# = angle / 2
if angle > 360 then text 5,5,"Im sure you want to go inside, don't ye?"
for a=1000 to 1003
position object a,sin((a-1000)*90)*12,-1,cos((a-1000)*90)*12
yrotate object a,angle#
next a
yrotate object obj+1,angle#
yrotate object obj+2,angle#
yrotate object 6000,angle#
position object 6000,sin(angle#)*-18,0,cos(angle#)*-18
yrotate camera angle#
sync
next angle
for a = 1 to 500
if a<250 then text 5,5,"Well then, why dont you step right in?"
if a>250 then point camera 0,0,-12 : move camera 0.03
sync
next a
for b = 1 to 500
text 5,5,"What was that? Oh no!, RUN!!!"
move camera -0.1
for a=1000 to 1003
if object position z(a)<>-18 then position object a,object position x(a),object position y(a),object position z(a)-0.04
next a
sync
next b
for a=1 to 7000
if object exist(a)=1 then delete object a
next a
cls
backdrop off
cls
center text 320,225,"That was close right?"
wait 500
sync
for b=1 to 10
blur bitmap 0,1
sync
next b
center text 320,225,"You're lucky that you are still alive"
wait 500
sync
for b=1 to 10
blur bitmap 0,1
sync
next b
center text 320,225,"Let's go to the rollercoaster instead"
wait 500
sync
for b=1 to 10
blur bitmap 0,1
sync
next b
buf:
cls
backdrop on
cls
create bitmap 20,128,128
set current bitmap 20
ink 0,0
box 0,0,127,127
ink rgb(255,128,64),0
box 18,0,26,127
box 101,0,109,127
ink rgb(128,64,0),0
box 27,57,100,75
ink rgb(128,128,128),0
box 61,0,66,127
get image 1,0,0,127,127,1
set current bitmap 0
delete bitmap 20
create bitmap 20,128,128
set current bitmap 20
ink rgb(128,64,0),0
box 0,0,127,127
for a=1 to 100
ink rgb(128+rnd(64),64+rnd(32),rnd(16)),0
circle rnd(127),rnd(127),rnd(3)
next a
get image 2,0,0,127,127,1
set current bitmap 0
delete bitmap 20
cls
create bitmap 21,128,128
set current bitmap 21
ink rgb(12,122,12),0
box 0,0,127,127
for a=1 to 1445
ink rgb(rnd(32),rnd(220),rnd(32)),0
dot rnd(127),rnd(127)
next a
get image 10,0,0,127,127
set current bitmap 0
delete bitmap 21
make matrix 1,10000,10000,31,31
prepare matrix texture 1,10,1,1
fill matrix 1,0.0,1
randomize matrix 1,70.0
position matrix 1,-5000,-100,-5000
update matrix 1
obj = 1000
inc obj
make object plain obj,10,10 : xrotate object obj,90 : position object obj,5,0,5
inc obj
make object plain obj,10,10 : xrotate object obj,90 : position object obj,5,-20,15
inc obj
make object plain obj,10,10 : xrotate object obj,90 : position object obj,5,-65,25
inc obj
make object plain obj,10,10 : xrotate object obj,90 : position object obj,5,-110,35
inc obj
make object plain obj,10,10 : xrotate object obj,90 : position object obj,5,-155,45
inc obj
make object plain obj,10,10 : xrotate object obj,90 : position object obj,5,-200,55
for a=1001 to 1006
texture object a,1
set object a,1,0,0
next a
position camera 5,4,0
point camera 5,4,10
ink rgb(255,255,255),rgb(255,255,255)
for a=1 to 360
if a < 120 then text 5,5,"Okay, this is something you never experienced before"
if a > 120 and a < 240 then text 5,5,"I will create the track while you are riding on it"
if a > 240 then text 5,5,"Lets begin, slowly"
sync
next a
for a=1 to 800
for b=1002 to 1006 : if object position y(b) < 0.0 : position object b,object position x(b),object position y(b)+0.3,object position z(b) : endif : next b
for b=1002 to 1006 : if object position y(b) > 0.0 : position object b,object position x(b),0.0,object position z(b) : endif : next b
move camera 0.06
sync
next a
for a=1 to 360
if a < 120 then text 5,5,"That was neat, wasn't it?"
if a > 120 and a < 240 then text 5,5,"Do you want to go faster?"
if a > 240 then text 5,5,"Ofcourse you want! Let's go up then"
sync
next a
autocam off
for a=1 to 1005
if object exist(a) = 1 then delete object a
next a
obj = 1018
for a = 1007 to 1018
make object plain a,10,10
texture object a,1
xrotate object a,90.0-((a-1005)*(45.0/12.0))
y# = object position y(a-1) + (cos(object angle x(a-1))*5) + (cos(object angle x(a))*5)
z# = object position z(a-1) + (sin(object angle x(a-1))*5) + (sin(object angle x(a))*5)
position object a,5,y#,z#
set object a,1,0,0
sync
next a
while camera position z() < 60
move camera 0.3
if camera position z() > 60 then position camera 5,4,60
sync
endwhile
for a=0 to 450
a# = a / 10.0
if a<300 then text 5,5,"Here we go"
xrotate camera wrapvalue(0.0 - a#)
move camera 0.2
sync
next a
for a=0 to 120
move camera 0.2
sync
next a
obj = 1030
for a = 1019 to 1030
make object plain a,10,10
texture object a,1
xrotate object a,45.0+((a-1019)*(45.0/12.0))
y# = object position y(a-1) + (cos(object angle x(a-1))*5) + (cos(object angle x(a))*5)
z# = object position z(a-1) + (sin(object angle x(a-1))*5) + (sin(object angle x(a))*5)
position object a,5,y#,z#
set object a,1,0,0
sync
next a
for a=0 to 450
a# = 45.0 - (a / 10.0)
if a<300 then text 5,5,"Allmost there"
xrotate camera wrapvalue(0.0 - a#)
move camera 0.3
sync
next a
Quote: "
UPDATED
Amd 2800+ 1024mb pc3200 A7N8X - Deluxe Ati Radeon 9800PRO 256mb"