XML-based maps
==============

Intro
-----
Objects and maps would be made using XML language. The maps would then be 'compiled' to faster stage. That way, the game can use those optimized maps.
XML-file
--------
First we would have the need for a map file. This file contains info about the map, and what should be in it.
eg.
<map name="testmap">
  <object type="house" pos="3,1,0" dir="1,0,0">
  </object>
  <object type="player" pos="0,0,0" dir="1,0,0">
    <property starthealth="100"></property>
  </object>
  .
  .
  .
</map>
A second XML file could contain the objects itself. Look at the 'type="house"', we don't know yet what house is, but we'll specify it here
<objects>
  <object name="house">
    <subobject type="wall" pos="0,0,0" dir="0,1,0"></subobject>
  </object>
  <object name="wall">
    <subobject type="brick" pos="0.2,0,0.3" dir="0,1,0"></subobject>
    <subobject type="brick" pos="0.4,0,0.3" dir="0,1,0"></subobject>
  </object>
  <object name="brick">
    .
    .
  </object>
  <object name="player">
    <subobject type="leg" pos=",," dir=",,"></subobject>
    >property name="starthealth" value="125"></property>
  </object>
  .
  .
</objects>

Compiling
---------
So, those XML-files could then be compiled to a binary format, the actial maps. The idea would be that the objects have curves, specified with vectors (a circle can be made with 3 vectors). When compiling, it would be possible to tell the compiler how accurate the map would have to be. If somebody would like to play with a old graphics card, he could set the number of polygons to the minimal in the compiled version. While one with a kick- ass system could play with billion's of polygons (playing at foto or movie quality).