Glad you like it!
Thanks for making it DBC too.
I wonder if a game could be made out of it? Maybe something to do with a snake.
EDIT:
I just edited the DBC code you made (so that it can hopefully work in both languages) to make the chain into a snake!
sync on
sync rate 60
hide mouse
autocam off
make matrix 1,1000,1000,20,20
make object sphere 22,210
scale object 22,100,100,200
color object 22,rgb(10,100,50)
for x=1 to 21
make object sphere x,x*10
color object x,rgb(10,100,50)
next x
do
set camera to follow object position x(22),object position y(22),object position z(22),object angle y(22),700,800,17,0
point camera object position x(22),object position y(22),object position z(22)
if upkey()=1 then move object 22,5.0
if leftkey()=1 then yrotate object 22,object angle y(22)-1.5
if rightkey()=1 then yrotate object 22,object angle y(22)+1.5
for x=1 to 21
chain(x,x+1,50.0,5.0,1)
next x
sync
loop
end
function chain(chainnumber,leadobj,stretchiness#,stretchiness_speed#,update)
if object position x(leadobj)=>object position x(chainnumber)
d1#=object position x(leadobj)-object position x(chainnumber)
else
d1#=object position x(chainnumber)-object position x(leadobj)
endif
if object position y(leadobj)=>object position y(chainnumber)
d2#=object position y(leadobj)-object position y(chainnumber)
else
d2#=object position y(chainnumber)-object position y(leadobj)
endif
if object position z(leadobj)=>object position z(chainnumber)
d3#=object position z(leadobj)-object position z(chainnumber)
else
d3#=object position z(chainnumber)-object position z(leadobj)
endif
d1#=d1# ^ 2
d2#=d2# ^ 2
d3#=d3# ^ 2
d1#=d1#+d2#+d3#
d2#=sqrt(d1#)
if d2#=>stretchiness#
point object chainnumber,object position x(leadobj),object position y(leadobj),object position z(leadobj)
move object chainnumber,stretchiness_speed#
endif
endfunction
function mouseobjectmovement(obj)
position object obj,object position x(obj)+mousemovex(),object position y(obj),object position z(obj)
move object obj,-1*mousemovey()
endfunction
-Twu Kai