Das finde ich prima, und ich hoffe, Du teilst Deine Bemühungen öffentlich, wenn das Fortschritte macht. Ich habe Godot erwähnt, weil das von einem Freund entwickelt wurde, und ich Unity nicht vertraue, aber selber benutzt habe ich es noch nicht viel. Mein letzter Versuch scheiterte daran, dass ich einen "Open File" Dialog nicht hinbekommen habe, der mich einen Report von meiner Festplatte wählen lässt. Die Dokumentation war da eher spärlich, und ich wollte Juan nicht mit doofen Fragen belästigen.
Zum JSON-Export: Es gibt keinen JSON-Report. Also, es gibt Code dafür, aber der ist nicht in Gebrauch, und auch nicht funktionsfähig, oder fertig ausgedacht. Aber über so ein Format habe ich schon oft nachgedacht.
Ein Problem ist, dass unsere Objekte keine UUIDs haben, oder wenn sie so etwas besitzen (Regionen haben eine ID), dann geht sie verloren: Viele Karten, die ich als Spieler benutze, haben keine IDs, nur Koordinaten. Und die Koordinaten sind von einem gemeinsamen Ursprung abhängig. So eine ID braucht man, wenn an einer Einheit stehen soll, in welcher Burg, Region, Schiff sie steht. Der CR macht das, indem er eine Hierarchie von Objekten speichert (welche Schiffe, Einheiten, Burgen sind in de Region), oder die vom Spieler gesetzte ID benutzt (der Kapitän des Schiffes, Besitzer der Burg, etc). Die ist aber vom Spieler gewählt und wegen NUMMER nur innerhalb des selben Reportes gültig.
Man kann ein Format definieren, dass davon ausgeht, das alle diese IDs konstant sind (innerhalb eines einzelnen Reports sind sie das ja), und das man Reporte eben nicht mergen kann. Ein Client müsste dann jeden Report als ganzes im Speicher halten, und relative Koordinaten-Verschiebungen oder wechselnde Einheitennummern zur Laufzeit auflösen.
Ich würde aus dem Server dann dictionaries per Objekt-Typ exportieren wollen, also im Top-Level:
Code:
{
"turn": 1071,
"faction": 7,
"regions": {},
"buildings": {},
"units": {},
"ships": {},
"factions": {},
}
Dabei stellt sich wieder einmal die Frage nach der Sprache. Im Eressea-CR ist ein Durcheinander aus Englisch und Deutsch. Das würde ich gerne bei der Gelegenheit komplett exorzieren. Alles ist Englisch, und Übersetzungen macht der Client.