<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-os vector-sticky-header-enabled" lang="en" dir="ltr"><head>
    <meta charset="UTF-8">
    <title>3DML</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/png" href="./_res_/favicon.png">
    <link rel="canonical" href="https://en.wikipedia.org/wiki/3DML"> <link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
    <meta name="ResourceLoaderDynamicStyles" content="">
    
    <link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
    <link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
    <link rel="stylesheet" type="text/css" href="./_res_/footer.css">
    <link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
  </head>
  <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-3DML rootpage-3DML skin-vector-2022 action-view">
    <div class="mw-page-container">
      <div class="mw-page-container-inner">
        <div class="mw-content-container">
          <main id="content" class="mw-body">
            <header class="mw-body-header vector-page-titlebar">
              <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">3DML</span></h1>
            </header>
            <a id="top"></a>
            <div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
              <div id="contentSub">
                <div id="mw-content-subtitle"></div>
              </div>
              <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1305433154">
/* start https://en.wikipedia.org/ */


.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}


/* end   https://en.wikipedia.org/ */
</style>
<p><b>3DML</b> was a format for creating three-dimensional websites by combining similar-sized building blocks. It was invented in 1997 by Michael Powers, who co-developed it with Philip Stephens and developed it further over the next four years. 3DML files are written in <a href="XML" title="XML">XML</a> and can be delivered from standard web servers and shown within a browser via a plugin, or in an independent 3DML <a href="Web_browser" title="Web browser">browser</a> called Flatland Rover. A new update was posted in 2017 with updated code and binaries for Windows 10. 3DML had no avatar or multi-user support, unlike other platforms of the time like <a href="Active_Worlds" title="Active Worlds">Active Worlds</a>, and thus never attracted a large following. There were plugins for <a href="Internet_Explorer" title="Internet Explorer">Internet Explorer</a>, <a href="Netscape_Navigator" title="Netscape Navigator">Netscape Navigator</a> and <a href="AOL" title="AOL">AOL</a>, but not for <a href="Mozilla_Firefox" class="mw-redirect" title="Mozilla Firefox">Mozilla Firefox</a>. The most recent version is a standalone Windows application.
</p><p>A 3DML world was called a "spot". In the spot "blocks" can be inserted, laid out in a grid. The blocks can be ordered into "levels" - each has the same size. This approach was designed to simplify the building process and comprehension of 3D pages. The following is an example of a full spot description of a 3D room with walls.
</p>
<div class="mw-highlight mw-highlight-lang-xml mw-content-ltr" dir="ltr"><pre><span></span><span class="nt">&lt;spot</span><span class="w"> </span><span class="na">version=</span><span class="s">"3.5"</span><span class="nt">&gt;</span>
<span class="w">   </span><span class="nt">&lt;head&gt;</span>
<span class="w">     </span><span class="nt">&lt;debug</span><span class="w"> </span><span class="nt">/&gt;</span>
<span class="w">     </span><span class="nt">&lt;title</span><span class="w"> </span><span class="na">name=</span><span class="s">"Tall Spot"</span><span class="w"> </span><span class="nt">/&gt;</span>
<span class="w">     </span><span class="nt">&lt;blockset</span>
<span class="w">      </span><span class="na">href=</span><span class="s">"http://blocksets.flatland.com/flatsets/basic.bset"</span><span class="nt">/&gt;</span>
<span class="w">     </span><span class="nt">&lt;map</span><span class="w"> </span><span class="na">style=</span><span class="s">"single"</span><span class="w"> </span><span class="na">dimensions=</span><span class="s">"(9,9,2)"</span><span class="w"> </span><span class="nt">/&gt;</span>
<span class="w">     </span><span class="nt">&lt;sky</span><span class="w"> </span><span class="na">texture=</span><span class="s">"images/clouds.gif"</span><span class="w"> </span><span class="na">brightness=</span><span class="s">"90%"</span><span class="w"> </span><span class="nt">/&gt;</span>
<span class="w">     </span><span class="nt">&lt;ground</span><span class="w"> </span><span class="na">texture=</span><span class="s">"images/dirt.gif"</span><span class="w"> </span><span class="nt">/&gt;</span>
<span class="w">     </span><span class="nt">&lt;ambient_light</span><span class="w"> </span><span class="na">brightness=</span><span class="s">"100%"</span><span class="w"> </span><span class="nt">/&gt;</span>
<span class="w">     </span><span class="nt">&lt;ambient_sound</span><span class="w"> </span><span class="na">file=</span><span class="s">"sounds/waves.wav"</span><span class="w"> </span><span class="na">volume=</span><span class="s">"65%"</span>
<span class="w">      </span><span class="na">playback=</span><span class="s">"looped"</span><span class="nt">/&gt;</span>
<span class="w">   </span><span class="nt">&lt;/head&gt;</span>
<span class="w">   </span><span class="nt">&lt;body&gt;</span>
<span class="w">     </span><span class="nt">&lt;level</span><span class="w"> </span><span class="na">number=</span><span class="s">"1"</span><span class="nt">&gt;</span>
<span class="w">     </span>###...###
<span class="w">     </span>#.......#
<span class="w">     </span>#.......#
<span class="w">     </span>#.......#
<span class="w">     </span>#.......#
<span class="w">     </span>#.......#
<span class="w">     </span>#.......#
<span class="w">     </span>#.......#
<span class="w">     </span>#########
<span class="w">     </span><span class="nt">&lt;/level&gt;</span>
<span class="w">     </span><span class="nt">&lt;level</span><span class="w"> </span><span class="na">number=</span><span class="s">"2"</span><span class="nt">&gt;</span>
<span class="w">     </span>###---###
<span class="w">     </span>#-------#
<span class="w">     </span>#-------#
<span class="w">     </span>#-------#
<span class="w">     </span>#-------#
<span class="w">     </span>#-------#
<span class="w">     </span>#-------#
<span class="w">     </span>#-------#
<span class="w">     </span>#########
<span class="w">     </span><span class="nt">&lt;/level&gt;</span>
<span class="w">     </span><span class="nt">&lt;entrance</span><span class="w"> </span><span class="na">location=</span><span class="s">"(5,8,1)"</span><span class="w"> </span><span class="na">name=</span><span class="s">"default"</span><span class="w"> </span><span class="na">angle=</span><span class="s">"0,0"</span><span class="w"> </span><span class="nt">/&gt;</span>
<span class="w">   </span><span class="nt">&lt;/body&gt;</span>
<span class="nt">&lt;/spot&gt;</span>
</pre></div>
<p>You can navigate the spots by using either mouse or arrow keys.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Three.js" title="Three.js">Three.js</a></li>
<li><a href="VRML" title="VRML">VRML</a></li>
<li><a href="X3D" title="X3D">X3D</a></li>
<li><a href="3DMLW" title="3DMLW">3DMLW</a></li>
<li><a href="3DXML" title="3DXML">3DXML</a></li>
<li><a href="GlTF" title="GlTF">glTF File Format</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.flatland.com/">Homepage of the developers</a></li>
<li><a rel="nofollow" class="external autonumber" href="https://github.com/powerspowers/flatland">[1]</a> Version 4.0 sourcecode and binary for Windows 10]</li>
<li><a rel="nofollow" class="external text" href="http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&amp;Sect2=HITOFF&amp;p=1&amp;u=%2Fnetahtml%2FPTO%2Fsearch-bool.html&amp;r=1&amp;f=G&amp;l=50&amp;co1=AND&amp;d=PTXT&amp;s1=IN3D.ASNM.&amp;OS=AN/IN3D&amp;RS=AN/IN3D">Patent granted to original developers</a></li>
<li><a rel="nofollow" class="external text" href="http://original.flatland.com/guides/tutorial/index.html">Original tutorial</a></li>
<li><a rel="nofollow" class="external text" href="http://www.xml.com/pub/a/1999/01/3dml/3dml-plain.html">An introduction to 3DML</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
    This article is issued from <a class="external text" title="Last edited on 2025-08-08" href="https://en.wikipedia.org/wiki/?title=3DML&amp;oldid=1304833839">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
            </div>
          </main>
        </div>
      </div>
    </div>
     <script src="./_webp_/webpHandler.js"></script>
  

</body></html>