XML hat meiner Meinung nach viel zu viel Overhead. Ich würde mehrere Layer nehmen: Einen Ground-Layer für den Boden, einen Upper-Layer für Objekte auf dem Boden. Diese Layer speicherst du als array of array of Byte (Word, Cardinal) und assoziierst das sie mit einer Grafiktabelle. Darüber kommen dann nur noch Objekte, die sich bewegen sollen als Klasseninstanzen, die du dann serialisiert speicherst.