Je réfléchis à la façon de mettre en œuvre un jeu basé sur des composants, car cela semble être la chose la plus intéressante et j'aime l'idée d'une conception si flexible. L'une des caractéristiques d'une telle conception est que l'ajout de nouvelles choses au jeu peut se faire par le biais de données, souvent présentées comme du chargement de contenu via des fichiers texte tels que XML. Cela a l'avantage d'être lisible par l'homme et facilement modifiable dans n'importe quel éditeur de texte. À la baisse, le texte peut être plus lent à traiter et vous devez gérer une grande collection de fichiers de données. Des formats textuels similaires comme JSON ou des fichiers de configuration auraient des avantages similaires.
De l'autre côté, il existe de petites bases de données portables comme SQLite ou Tokyo Cabinet. Bien qu'ils ne soient pas directement lisibles par l'homme, ces fichiers sont faciles à interfacer, et j'imagine qu'une sorte d'outil d'édition serait préférable pour la conception de contenu de jeu de toute façon. L'utilisation d'une base de données permet un stockage cohérent des informations de configuration et une récupération facile. Vous pouvez également sérialiser des données dans une base de données pour sauvegarder des parties.
En termes de performances, je pense que XML est généralement plus rapide pour les petits fichiers, mais une base de données s'adapte mieux à de grandes quantités de données. J'imagine que tout vrai jeu aura beaucoup d'objets de jeu.
Donc la question: quelle est l'approche préférable? Je penche vers la base de données, mais je veux savoir s'il y a des pièges cachés ou des avantages réels importants pour les fichiers texte. Ou s'il y a d'autres alternatives que celles-ci (sérialiser au format binaire je suppose?)