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.
My ego resents that comment! lol
There is certainly some stuff in the TripleA xml that is specific to triplea, but maybe not as much as you might think. All of the javaClass=“…” attributes could simply be removed.
The only remaining section that has TripleA-specific information is the <gameplay>section. This section could probably be removed in its entirety, as much of this information is implicit to all A&A games, as far as I can tell, with the exception of the players and player turn-order. The player turn order could instead be captured in the existing PlayerList section, like so:
<playerlist><player name=“Russians” optional=“false” turnnumber=“1”><player name=“Germans” optional=“false” turnnumber=“2”>…
Notice that the revised.xml file defined map layout, the initial state of the game, any game options, and the gameplay sequence.
I think these are all good things for an open format to describe (except perhaps the last one, for reasons stated above), so it can support all different flavours of A&A.
However, you’ll also want new sections for the current state of the game. Or, perhaps you’ll want to keep that as a separate XML file.
This is where you’ll need to make tough decisions, like whether it will reflect the current state only, or enumerate all state transitions (ie: unitA moved from terrA to terrB on r3…, etc) that occur in a turn.
Also, will it track only one turn (or Round) at a time or will it track the progress of an entire game?
TripleA does the latter in its saveGame file, and it is extremely useful, and one of the many reasons that I find the tripleA interface far superior to any other I’ve seen. If you take the easy route and only support the current board state in your open format, you will likely not win over many TripleA users.
I am currently working on features to TripleA that make it easy to play against a non-triplea player, by enabling the TripleA player to play out the opponents turn in a special “Edit” mode that allows for fixed outcomes of battles, etc. I think this will be more user-friendly than an open format that loses turn history.
I think a good place to start is a more in-depth discussion on the revised.xml format I posted from tripleA, and how it does or doesn’t meet general requirements. I guess I’ve just started that discussion ;)</player></player></playerlist></gameplay>