Ich überlege, wie ein komponentenbasiertes Spiel implementiert werden soll, da dies sehr aktuell zu sein scheint und ich die Idee eines so flexiblen Designs mag. Eines der Merkmale eines solchen Designs ist, dass das Hinzufügen neuer Elemente zum Spiel über Daten erfolgen kann, die häufig als Laden von Inhalten über Textdateien wie XML dargestellt werden. Dies hat den Vorteil, dass es in jedem Texteditor lesbar und leicht zu bearbeiten ist. Auf der anderen Seite kann der Umgang mit Text langsamer sein, und Sie müssen eine große Sammlung von Datendateien verwalten. Ähnliche textbasierte Formate wie JSON oder Konfigurationsdateien hätten ähnliche Vorteile.
Auf der anderen Seite gibt es kleine, portable Datenbanken wie SQLite oder Tokyo Cabinet. Obwohl diese Dateien nicht direkt von Menschen gelesen werden können, sind sie einfach zu bedienen, und ich würde mir vorstellen, dass eine Art Bearbeitungswerkzeug für die Gestaltung von Spielinhalten sowieso vorzuziehen ist. Die Verwendung einer Datenbank ermöglicht das konsistente Speichern von Konfigurationsinformationen und das einfache Abrufen. Sie können auch Daten in eine Datenbank serialisieren, um Spiele zu speichern.
In Bezug auf die Leistung denke ich, dass XML im Allgemeinen für kleine Dateien schneller ist, eine Datenbank jedoch für große Datenmengen besser skalierbar ist. Ich würde mir vorstellen, dass jedes echte Spiel eine Menge Spielobjekte haben wird.
Also die Frage: Welcher Ansatz ist vorzuziehen? Ich neige zur DB, aber ich möchte wissen, ob Textdateien versteckte Fallstricke oder wirkliche Vorteile haben. Oder wenn es noch andere Alternativen gibt (ich schätze, Serialisierung auf Binärformat)