<SPOT> 
<HEAD>  
<TITLE NAME="The XML Cube" />
<BLOCKSET HREF="http://blocksets.flatland.com/flatsets/basic.bset"/> 
<MAP DIMENSIONS = "(30,15,6 )" /> 
<SKY TEXTURE="images/dark-clouds.gif" />
<GROUND TEXTURE="images/bgtile.gif" /> 
<AMBIENT_LIGHT BRIGHTNESS="80%" /> 
<!-- AMBIENT_SOUND FILE = "sounds/waves.wav" VOLUME = "65%"/>  -->
<DEBUG /> 
        </HEAD>  

        <BODY>  
<CREATE SYMBOL="T" BLOCK="FULL">
  <PART NAME="*" TEXTURE="images/tim.gif" />

  </CREATE> 
<CREATE SYMBOL="P" BLOCK="PYRAMID"> 
  <EXIT HREF="http://www.flatland.com" TEXT="Link to: Flatland, the home of 3DML" />
  <PART NAME="*" COLOR="(128,0,0)" />
  </CREATE> 
<CREATE SYMBOL="Q" BLOCK="PYRAMID"> 
  <EXIT HREF="http://www.xml.com" TEXT="Link: Back to XML.com" />
  <PART NAME="*" COLOR="(200,200,200)" />
  </CREATE> 
<CREATE SYMBOL="R" BLOCK="PYRAMID"> 
  <EXIT HREF="w.wrl" TRIGGER="click on" TEXT="Link to: A real VRML scene that you couldn't do in 3DML" />
  <PART NAME="*" COLOR="(0,128,0)" />
  </CREATE> 
<CREATE SYMBOL="S" BLOCK="PYRAMID"> 
  <PART NAME="*" COLOR="(0,0,128)" />
  </CREATE> 
<CREATE SYMBOL="a" BLOCK="FULL"> 
  <PART NAME="*" TEXTURE="images/Veins.gif" />
  </CREATE> 
<CREATE SYMBOL="c" BLOCK="CEILING"> 
  <PART NAME="*" TEXTURE="images/Veins.gif" />
  </CREATE> 
<CREATE SYMBOL="d" BLOCK="CEILING"> 
  <PART NAME="*" TEXTURE="images/marble.gif" />
  </CREATE> 
<CREATE SYMBOL="m" BLOCK="SBOTTOMRAMP"> 
  <PART NAME="*" TEXTURE="images/marble.gif" />
  </CREATE> 
<CREATE SYMBOL="M" BLOCK="STOPRAMP"> 
  <PART NAME="*" TEXTURE="images/marble.gif" />
  </CREATE> 
<CREATE SYMBOL="k" BLOCK="NBOTTOMRAMP"> 
  <PART NAME="*" TEXTURE="images/marble.gif" />
  </CREATE> 
<CREATE SYMBOL="K" BLOCK="NTOPRAMP"> 
  <PART NAME="*" TEXTURE="images/marble.gif" />
  </CREATE> 
<CREATE SYMBOL="l" BLOCK="EBOTTOMRAMP"> 
  <PART NAME="*" TEXTURE="images/marble.gif" />
  </CREATE> 
<CREATE SYMBOL="L" BLOCK="ETOPRAMP"> 
  <PART NAME="*" TEXTURE="images/marble.gif" />
  </CREATE> 
<CREATE SYMBOL="I" BLOCK="COLUMN"> 
  <PART NAME="*" TEXTURE="images/marble.gif" />
  </CREATE> 
<CREATE SYMBOL="Y" BLOCK="PLATFORM"> 
  <PART NAME="*" TEXTURE="images/marble.gif" />
  </CREATE> 


<LEVEL NUMBER="1">  
..........aaaaaaaaaa..........
..........a........a..........
..aaaaaaaaaaaa.aaaaaaaaaaaaa..
..a........................a..
..a...................I..I.a..
..a.....I................I.a..
..a.....I..................a..
..a..I.....................a..
..a....m............Y......a..
..a....M............Y......a..
..a....dddddddddddddd.I....a..
..a......II................a..
..aaaaaaaaaaaaaaaaaaaaaaaaaa..
..............................
..............................
</LEVEL>  
 
<LEVEL>
..........aaaaaaaaaa..........
..........acccccccca..........
..aaaaaaaaaaaaaaaaaaaaaaaaaa..
..a........................a..
..a.....ddddddddddddd.I..I.a..
..a.....Y...........d....I.a..
..a.....Y...........d......a..
..a..I..............d......a..
..a.................K......a..
..a.................k......a..
..a...................I....a..
..a......II................a..
..aaaaaaaaaaaaaaaaaaaaaaaaaa..
..............................
..............................
</LEVEL>  
<LEVEL>
..............................
..............................
..aaaaaaaaaaaaaaaaaaaaaaaaaa..
..a........................a..
..a...................I..I.a..
..a.....m................I.a..
..a.....M..................a..
..a..I.dd..................a..
..a....d...................a..
..addddd...................a..
..ad..................I....a..
..addddddYY................a..
..aaaaaaaaaaaaaaaaaaaaaaaaaa..
..............................
..............................
</LEVEL>  
<LEVEL>
..............................
..............................
..aaaaaaaaaaaaaaaaaaaaaaaaaa..
..a........................a..
..a...................I..Y.a..
..a......................Y.a..
..a......................d.a..
..a..I...................d.a..
..a......................d.a..
..a......................d.a..
..a...................I..d.a..
..a......lLddddddddddddddd.a..
..aaaaaaaaaaaaaaaaaaaaaaaaaa..
..............................
..............................
</LEVEL>  

<LEVEL>
..............................
..............................
..aaaaaaaaaaaaaaaaaaaaaaaaaa..
..acccccccccccccccccccccccca..
..acccccc.c.ccccc.c.ccYccKca..
..acccccc.c..ccc..cc.ccc.kca..
..acccccc.c.c.c.c.ccc.c.ccca..
..accYccc.c.cc.cc.cccc.cccca..
..acccccc.c.ccccc.ccc.c.ccca..
..acccccc.c.ccccc.cc.ccc.cca..
..ac......c.ccccc.c.ccYcc.ca..
..acccccccccccccccccccccccca..
..aaaaaaaaaaaaaaaaaaaaaaaaaa..
..............................
..............................
</LEVEL>  
<LEVEL>
..............................
..............................
..............P...............
..............................
..............................
..................R...........
..............................
..............................
...........................Q..
..............................
..............................
..............................
..T...........................
..............................
..............................
</LEVEL>  

<ENTRANCE LOCATION="(19,2,1)" NAME="default" ANGLE="270" /> 


<POPUP radius="1" LOCATION="(19,2,1)" TEXT="Navigate with mouse or the arrow keys (most people prefer the arrows)." />
<POPUP radius="1" LOCATION="(17,2,1)" TEXT="Take a left into the big room." />
<POPUP radius="1" LOCATION="(16,2,1)" TEXT="Climb the ramp and learn about 3DML." />
<POPUP radius="1" LOCATION="(15,3,1)" TEXT="This is XML!" />
<POPUP radius="1" LOCATION="(15,4,1)" TEXT="The 'a' key looks up, the 'z' key down - try them out." />
<POPUP radius="1" LOCATION="(8,9,1)" TEXT="Climb me!" />
<POPUP radius="1" LOCATION="(8,11,2)" TEXT="Watch your step, it's easy to fall off the edge, and there's no flying in 3DML." />
<POPUP radius="2" LOCATION="(9,11,2)" TEXT="There's no wall at the other end!  That's because you can't see beyond a certain adjustable distance; it'll come into view as you move along." />
<POPUP radius="1" LOCATION="(14,11,2)" TEXT="3DML is from Flatland Online, Inc.; visit them at http://www.flatland.com" />
<POPUP radius="1" LOCATION="(18,11,2)" TEXT="3DML isn't QUITE pure XML.  They misuse the '&' character, are case-insensitive, and don't seem to be using a real XML processor for input." />
<POPUP radius="1" LOCATION="(20,11,2)" TEXT="But their hearts seem to be in the right place.  Let's hope they clean it up." />


<POPUP radius="1" LOCATION="(21,8,3)" TEXT="If you've done any 3D work, 3DML is quite impressive.  For example, this 3DML file is only about 10K in size!" />

<POPUP radius="1" LOCATION="(21,5,3)" TEXT="And on most computers, the performance is pretty darn good (all these text popups slow you down a bit)." />

<POPUP radius="1" LOCATION="(18,5,3)" TEXT="3DML manages to be small and fast because it doesn't try to solve all the big hard Virtual-Reality problems. " />

<POPUP radius="1" LOCATION="(15,5,3)" TEXT="You might want to stop here and look around, up and down.  What are all those holes in the ceiling?" />

<POPUP radius="1" LOCATION="(11,5,3)" TEXT="Back to 3DML. You build scenes like this with a bunch of 'blocks'.  The 'basic' blockset comes with over 50 blocks; there are only a dozen or so different kinds in use here." />

<POPUP radius="1" LOCATION="(9,8,4)" TEXT="Watch the twists and turns." />

<POPUP radius="2" LOCATION="(8,9,4)" TEXT="There is also a 'Village' blockset, and a 'Lara Croft - Tomb Raider' blockset." />

<POPUP radius="1" LOCATION="(7,10,4)" TEXT="You MIGHT be able to jump across the gap right here; but that would certainly not be responsible, adult behavior." />

<POPUP radius="1" LOCATION="(7,11,4)" TEXT="Cowabungaaaaaaa!" />
<POPUP radius="1" LOCATION="(7,11,3)" TEXT="Wheeeeeeee!" />
<POPUP radius="1" LOCATION="(7,11,2)" TEXT="Oops..." />
<POPUP radius="1" LOCATION="(7,11,1)" TEXT="Thud. That was extremely juvenile." />

<POPUP radius="1" LOCATION="(4,11,4)" TEXT="You can make your own versions of their blocks by rotating them and painting them with your own textures.  There's no rotation here, but lots of textures." />

<POPUP radius="1" LOCATION="(7,12,4)" TEXT="A texture can be any old GIF or JPEG image; the ones here are taken with an ordinary digital camera and souped up a bit with Paintshop Pro (but a real pro would use Adobe PhotoShop)." />

<POPUP radius="1" LOCATION="(10,12,5)" TEXT="Your 3DML world has to be arranged in a bunch of levels, all the same size.  This one has 5 levels, each 30 by 15 blocks.  The whole setup seems very game-oriented." />

<POPUP radius="1" LOCATION="(13,12,5)" TEXT="Theory says that XML is supposed to be all about descriptive markup... Is this descriptive markup?" />

<POPUP radius="1" LOCATION="(16,12,5)" TEXT="3DML stupidly insists that all this text be in attribute values, so it can't contain source code samples and so on." />

<POPUP radius="1" LOCATION="(19,12,5)" TEXT="On the other hand, the little buttons at the bottom left will show you the source code and let you set all sorts of options." />

<POPUP radius="1" LOCATION="(22,12,5)" TEXT="You can also have sounds and lighting effects, and of course gateways with URLs that take you different places - there are a couple waiting for you up on the roof." />

<POPUP radius="1" LOCATION="(25,12,5)" TEXT="Is 3DML a good thing?  Well, it's (almost) XML, which is nice.  On the other hand, it is somewhat in competition with an existing ISO/industry standard, Virtual Reality Modeling Language (VRML)." />

<POPUP radius="1" LOCATION="(26,9,5)" TEXT="VRML hasn't taken off very fast, but a lot of people think it probably will, once the computers and networks get a bit faster.  It's a lot harder to create than 3DML is." />

<POPUP radius="1" LOCATION="(26,7,5)" TEXT="Up on to the roof!" />

<POPUP radius="1" LOCATION="(26,4,6)" TEXT="Be careful not to fall off; but if you do, use the little split-diamond button at the bottom left to start again.  Also, watch the holes in the roof.  The pyramids are hyperlinks; click on them with your mouse to engage the transporter." />

        </BODY>  
</SPOT>  

