Skip to content
Surf Wiki
Save to docs
technology/programming-languages

From Surf Wiki (app.surf) — the open knowledge base

3DML

Markup language


Markup language

3DML 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 XML and can be delivered from standard web servers and shown within a browser via a plugin, or in an independent 3DML browser 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 Active Worlds, and thus never attracted a large following. There were plugins for Internet Explorer, Netscape Navigator and AOL, but not for Mozilla Firefox. The most recent version is a standalone Windows application.

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.

<spot version="3.5">
   <head>
     <debug />
     <title name="Tall Spot" />
     <blockset
      href="http://blocksets.flatland.com/flatsets/basic.bset"/>
     <map style="single" dimensions="(9,9,2)" />
     <sky texture="images/clouds.gif" brightness="90%" />
     <ground texture="images/dirt.gif" />
     <ambient_light brightness="100%" />
     <ambient_sound file="sounds/waves.wav" volume="65%"
      playback="looped"/>
   </head>
   <body>
     <level number="1">
     ###...###
     #.......#
     #.......#
     #.......#
     #.......#
     #.......#
     #.......#
     #.......#
     #########
     </level>
     <level number="2">
     ###---###
     #-------#
     #-------#
     #-------#
     #-------#
     #-------#
     #-------#
     #-------#
     #########
     </level>
     <entrance location="(5,8,1)" name="default" angle="0,0" />
   </body>
</spot>

You can navigate the spots by using either mouse or arrow keys.

Info: Wikipedia Source

This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.

Want to explore this topic further?

Ask Mako anything about 3DML — get instant answers, deeper analysis, and related topics.

Research with Mako

Free with your Surf account

Content sourced from Wikipedia, available under CC BY-SA 4.0.

This content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.

Report