Category Archives: Technology


I set out to evaluate 3DML for use as a 3D mapping tool for my tabletop games.

A screenshot of my Ordos Hall spot

Back in early 2000, I stumbled upon 3DML and was impressed at how easy it was to use to create 3D content on the Web. I built some spots based on the environments in the campaigns I was running at the time (Mage: the Sorcerers Crusade and Dungeons and Dragons 3rd edition).

Later, when scripting was added as a feature of 3DML, I wrote a script that allowed me to toggle the camera from first person to top-down—perfect for viewing 3D maps.

What is 3DML?

3DML stands for three-dimensional markup language. The intent behind the language is to make 3D content creation on the Web as easy as writing HTML.

As surprisingly little code as what follows will be rendered as a basic 3D scene, called a “spot”.

           <blockset href="" />
           <map dimensions="(5,5,1)" style="single" />
           <entrance location="(3,3,1)" name="default" angle="0.0" />
           <level number="1">

How do you view 3DML content?

Currently, the only way to view 3DML content is to use a standalone browser called Flatland Rover; the browser plugins of the same name only work with relatively archaic browser and operating system combinations.

A screenshot of Decca canals spot

Who created 3DML?

3DML was created by Michael Powers, who co-developed Flatland Rover with Philip Stevens. Michael, Philip, if you have future plans for 3DML or Flatland Rover, let me know.

What is the status of 3DML?

Development of Flatland Rover ceased in 2005. Most newer systems cannot easily run the older software (Mac OS X), plugin architecture has changed (in IE), and entirely new browsers are unsupported (Chrome, Firefox).

Much 3DML content on the Web can no longer be viewed because model dependencies (“blocksets”) originally hosted by have not been maintained.

And current and emerging 3D web technologies such as WebGL do not require special plugins or standalone browsers for viewing content.

A screenshot of a dungeon spot


The benefits of current 3D web technologies surpass the ease-of-use of 3DML in its current state. Also, I think I would benefit more from learning a modern toolset such as Blender than use what sadly appears to be an abandoned technology.

I have fond memories of the builder community and the 3DML spots we created. I would love to see its revival in the future.

I will continue to keep my 3DML reference materials, blocksets, and spots available.

Reference materials

Tabletop Gaming Setup

This was my tabletop gaming setup from 2011.

It was assembled with the following components:


For 30 years, I used the traditional approach to running tabletop RPGs: drawing maps with washable markers on a vinyl grid mat. Frequently, game play was interrupted by the need for me to erase and redraw the map. So I decided to devise a technological solution.

I considered the original version of the Microsoft Surface (now rebranded as PixelSense), which was a touch screen computer with the form factor of a table. But at $10,000, it was outside of my budget.

Then I considered using an all-in-one touchscreen computer oriented horizontally to display pre-drawn maps. This did have the advantage of a self-contained solution. But the largest touchscreen computer at that time was 27 inches. And I was also concerned the computer might overheat or its components might not work in a different orientation that it was designed.

I decided instead to use a flat screen TV connected to a computer. Since the TV component should also serve its original purpose, I also needed to find a way to tilt the TV to any desired orientation.

Typically, flat screen TVs do use wall mounts; some allow a small degree of tilt, but none of them could tilt 90 degrees. I search for a long time until I found POS monitor stands that could tilt, swivel, and lock in any position I needed. The POS monitor stand could only support a certain amount of weight, so this influenced my selection of TVs. The largest and lightest flat screen I could find was a LG 37 inch. The screen is guarded against scratches and fingerprints by a transparent acrylic anti-glare TV protector. The anti-glare aspect of the protector was an exaggeration on the part of its manufacturer, but its 1/4″ thickness completely protects the screen from flying dice or dropped metal miniatures.

Tabletop Setup 2013

Since last December, I have improved the portability of the setup significantly. I replaced the Mac Mini and Apple Display with a MacBook Air. This required the addition of a Thunderbolt-to-DVI adapter, since the MacBook Air does not have a DVI port. And I use a mid-2012 Mac Pro Server to host to serve all of the content I need for a gaming session (maps, reference books, character sheets, pictures, music) to the MacBook Air.

Now rather than erase and redraw the map, I simply open a new map on my laptop and drag it onto the screen for the other players to see. I also use iTunes to queue up and play music through the TV speakers to set the mood.

What’s next?

Before a gaming session, I use Photoshop to draw maps of the various dungeon, city, and wilderness environments the player characters will experience. Like traditional maps, they are 2 dimensional representations of a 3 dimensional environment. I want to take the maps to the next level, and make them 3 dimensional. I am considering two approaches.

  1. Draw the maps in Blender, or
  2. Build the maps using 3DML.

Blender has the advantage of being a current technology. And it is also free. But to create maps in Blender, I would be required to learn how to use it. While I see knowledge of Blender as a valuable addition to my toolset, it will take time. And speaking of time, I have no idea how long it would take me to build maps in Blender on a regular basis.

3DML has the advantage of its ease of use. It is something I already understand how to use. I could create new maps rapidly and easily with it. It has the disadvantage of being an unsupported technology, which I hope to see revived as a supported and thriving technology.