Hello, I’m the main developer of TripleA. I guess I have a bit of an ego, but tonez is also a developer, and he seems quite reasonable.
You want to do,
<territtory name=“England”>Rather than
<england>One reason is dtd, schema validation. Another reason is that if you try to encode names like
<finland norway=“”></finland>
It doesn’t work using the tag name as the country name.Â
A lot of the xml format can be taken directly from TripleA. The dtd is here,
http://triplea.svn.sourceforge.net/viewvc/triplea/trunk/triplea/data/games/strategy/engine/xml/game.dtd?revision=1592&view=markup
I’m quite supportive of an open xml format, but there are serious technical issues.
TripleA will be able to write to the xml format very easily, but TripleA will have a lot of problems trying to read this xml format.
TripleA uses it’s own xml format (an example was posted abvove) only for initializing games. When TripleA saves a game in progress, a more complicated binary format is used because TripleA’s xml format does not contain enough information. When a game is underway, TripleA tracks things such as:
how many territories a unit has moved this round
what transports are carrying which units
what territories did units invade a country from (you can only retreat to territories where units came from)
is the bomber in germany fighting a land battle, or doing a strat bomb raid
did the strat bomb raid in germany already happen
did the battleship already shore bombard this combat phase?
did the battle ship shore bombard in the combat phase (this means it can’t move in non combat)
if you save after rolling in a battle, TripleA tracks who just fired, what the dice were, and who moves next
is this a low luck game?
…
The list goes on. The problem is that none of the utilities store this information. So when TripleA loads a game stored by AABattleMap, it will have to guess (in the case of which transport is carrying which troops) unless there is enough information in the games history to infer this information.</england></territtory>