when treeform dreams...

Xml could contain python code too, yeah?

But no editor will highlight such code correctly…

I would have to say stay in the python side then. At least that’ll cover 90% of the programmers here.

I would stay with python for describing data too, code looks very neat, and its similar to json (easily readable to humans).

I’ll cast a vote for YAML. I feel that game maps/levels should be considered “safe” to be downloaded from untrusted sources, so I would prefer it to remain purely data. I think most people understand when they download a mod that they are executing arbitrary code, but they don’t tend to think of maps and models in that way. Many online games will even auto-download from user hosted servers…a big no-no if maps can contain arbitrary code. They can certainly contain references to external python files. For example you might load a map and it will say “This map requires SuperDuperMod v1.2”. Then I only have to trust the mod provider and not every single map made for users of that mod.

I always think about programs in layers. So data(base) layer, application layer and presentation layer.
A game level is in this model in the data layer (layout, collisions, navimesh, waypoints, triggers etc. -the scen graph), the presentation layer is where the look of things is set (meshes, textures, animations, effects, ligths),
I don’t like the idea that a level file would mess with all layers.
Xml for me, not even having the models inside, just pointing to the files and having info on all the transforms needed to load all the data to the game and building a scen graph.

Might be jumping the gun a bit, but I’ve made a start on a ui. Basically copying the one from Ogitor…

This is specifically the reason why I am using YAML in my project. YAML has a great “safe load” feature which will only read in basic data types. I even used YAML for the scripting system so users will be able to safely download mission scripts made by others. I think XML might be more flexible but YAML is easy to edit by hand which is great. A Python file could do anything. I would be terrified if a game started downloading executable code as a map format.