here's a tiled demo, the far and left sides of each tile are cyan and the near and right is blue.
Hopefully this helps visualise it as it took me a while to get my head around it.
hide mouse
sync on : sync rate 0
cyan = rgb(0,255,255)
blue = rgb(0,0,128)
`tiles
for z = -100 to 100 step 50
for x = -100 to 100 step 50
x#=x : z#=z
ink blue,0
@iso_line(x#,.0,z#, x#+50,.0,z#) : `bottom
@iso_line(x#+50,.0,z#, x#+50,.0,z#+50) : `right
ink cyan,0
@iso_line(x#+50,.0,z#+50, x#,.0,z#+50) : `top
@iso_line(x#,.0,z#+50, x#,.0,z#) : `left
next x
next z
print "Press any key to explode the tiles"
sync
wait key
cls
`tiles with gap
for z = -100 to 140 step 60
for x = -100 to 140 step 60
x#=x : z#=z
ink blue,0
@iso_line(x#,.0,z#, x#+50,.0,z#) : `bottom
@iso_line(x#+50,.0,z#, x#+50,.0,z#+50) : `right
ink cyan,0
@iso_line(x#+50,.0,z#+50, x#,.0,z#+50) : `top
@iso_line(x#,.0,z#+50, x#,.0,z#) : `left
next x
next z
sync
wait key
END
`FUNCTIONS
FUNCTION @iso_line(sx#,sy#,sz#, ex#,ey#,ez#)
scrw = screen width()
scrh = screen height()
x1# = (sx#*.66) - (sz#*.67)
y1# = scrh-(sy#*.67) - (sx#*.33) + (sz#*.33)
x2# = (ex#*.66) - (ez#*.67)
y2# = scrh-(ey#*.67) - (ex#*.33) + (ez#*.33)
x1 = @RUP(x1#) : y1 = @RUP(y1#)
x2 = @RUP(x2#) : y2 = @RUP(y2#)
`draw the line
@dline(x1+scrw/2,y1-scrh/2,x2+scrw/2,y2-scrh/2)
` line x1+scrw/2,y1-scrh/2,x2+scrw/2,y2-scrh/2
ENDFUNCTION
`round up
FUNCTION @RUP(n#)
if n#<>0 then f# = n# / abs(n#*2)
n# = n# + f#
n = n#
ENDFUNCTION n
`line
FUNCTION @dline(l,t,r,b)
w = r-l : h = b-t
if w >= 0 then xstep = 1 else xstep = -1
if h >= 0 then ystep = 1 else ystep = -1
w# = ABS(w) : h# = ABS(h)
if w#=0 then w#=0.1
if h#=0 then h#=0.1
xfact# = w#/h#
yfact# = h#/w#
x = 0 : y = 0
repeat
`don't overshoot
if abs(x+xstep) > abs(w) then xstep = 0
if abs(y+ystep) > abs(h) then ystep = 0
dot x+l,y+t
if yfact# > xfact#
inc y,ystep
if ABS(x) < ABS(y*xfact#) then inc x,xstep
else
inc x,xstep
if ABS(y) < ABS(x*yfact#) then inc y,ystep
endif
until xstep = 0 and ystep = 0
ENDFUNCTION
I have a job interview tomorrow so I'll have to call it a day there, but I'll definitely be able to give you a fully functioning world by tomorrow

I say that although I haven't used the Y axis yet

I'm starting to see why Iso was a good idea
In programming, nothing exists
