Oh, das ist eine gute Idee!
Die Sache ist die: ich bin momentan
head over heels in den Routinen für's Speichern/Laden/Herstellen des
World States in meinem Roguelike; das ist logistisch ein größerer Aufwand als angenommen, vor allem da ich vorhabe, auch beim (noch nicht implementierten) Ebenen-Wechsel die
World Data zwischenzuspeichern und die
actorList zu flushen und neu zu erstellen - so arbeite ich immer nur mit aktuell relevanten Daten, halte Performance oben und den Speicherverbrauch minimal, und kann mir viele
isLegit-Abfragen sparen = weniger Debugging. Die Attribut-Liste meiner Actors ist mittlerweile auf rund 50 angewachsen, einiges davon sind Bytes, andere Integer, und 3 Floats habe ich auch. Bin diesbezüglich gebranntes Kind noch aus Blitzbasic-Zeiten, wo ich rund 25% aller Fehler auf falsche Dateitypen beim Speicher/Laden/Initialisieren zurückführen konnte. Ich möchte einfach sicher gehen, daß ich wirklich 100% aller Daten korrekt geladen habe, daher habe ich die Attribut-Typen in der Struktur-Definition angeordnet wie sie logisch und übersichtlich sind, beim Speichern und Laden dagegen sortiert nach Dateitypen - und so eine zusätzliche Abfrage, ob auch wirklich alles geladen und zugewiesen wurde, kann da nichts schaden, da hin und wieder auchmal ein paar Attribute wieder rausfliegen oder neu hinzukommen.
Habe außerdem ein paar Debugging-Tools in den Code implementiert, so kann ich z.B. jederzeit
in game mit TAB einen Actor taggen und mir dann mit erneutem Drücken der TAB-Taste seine Properties anzeigen lassen, oder durch Drücken einer Taste den
state der collisionMap() oder die Dijkstra-
Values pro Feld anzeigen lassen, etc.