Use apenas um banco de dados se precisar de um banco de dados. Isso é:
- Se você precisar executar consultas complexas com frequência.
- Se você tiver relacionamentos de dados complexos.
- Se seus dados forem enormes e provavelmente não caberão na memória.
Se os dados do seu jogo atenderem a alguma dessas condições, você poderá se beneficiar do uso de um banco de dados. Observe que isso não é muito comum e você provavelmente não satisfaz nenhum deles. Se você preferir, eu usaria o SQLite ou algo com uma idéia semelhante de não exigir um servidor em execução e ser apenas uma biblioteca.
Caso contrário, use arquivos e carregue dados na memória na inicialização. Se você deseja que o jogo seja modificável, carregue esses dados no diretório do jogo e nos diretórios do mods e defina como as informações conflitantes podem ser mescladas.
Observe também que, se você fazer usar um banco de dados, ele pode beneficiar você e os desenvolvedores mods ainda usar arquivos para ler os dados iniciais e construir o banco de dados somente quando o jogo carrega. A menos que o tamanho potencial desse banco de dados seja enorme (ou seja, mais de algumas dezenas de MiB), convém usar um banco de dados em memória, o que é possível no SQLite especificando :memory:
como o caminho do banco de dados .