O Excel é uma excelente solução. Fiquei me perguntando como isso deveria ser feito. Mas, pensando bem, o Excel é uma ferramenta muito popular e bastante adequada para essa tarefa. Eu não recomendaria essa prática. Além disso, banco de dados real, como @notabene sugere, traz um monte de sobrecarga extra que você realmente não precisa. Vejo algumas opções, uma das quais é semelhante ao uso do Excel:
- Abra o Office Calc: grátis. Há também um download do conector MySql (de código aberto, acredito) para o Calc.
- dados serializados: XML ou binários (criptografados)
... de qualquer maneira, livre e você tem controle total.
Pessoalmente, eu estaria inclinado a usar dados binários serializados e criptografados . Duas razões:
- os dados do jogo não podem ser facilmente alterados
- Eu posso trabalhar com tabelas de dados em vez de serialização XML de conjuntos de dados, ou seja , tenho a opção
Existe uma necessidade de uma biblioteca de dados dedicada e verdadeira orientada para jogos ? Talvez ... a menos que alguém já conheça essa biblioteca.
Ao ponto da pergunta do OP, observe cada arquivo CSV da página como uma única tabela de dados - semelhante a uma tabela em um banco de dados. Cada arquivo de página deve conter dados relacionados:
- Habilidades, ou
- Gear, ou
- Estatísticas de NPC
Isso ajuda a manter um alto nível de organização que será muito importante à medida que o conteúdo dos dados cresce, o conteúdo do jogo se expande etc.
Editar
Depois de realmente tentar usar o .ODS (arquivo do OpenOffice Calc) e conectar-se a partir de um aplicativo, na verdade não é possível, pois as postagens iniciais no site do OO implicavam. Não consegui encontrar nada especificamente mostrando o codez na implementação.
Além disso, o uso de arquivos do Excel pode ser bom durante o desenvolvimento de um jogo, para que os dados possam ser ajustados sem sobrecarga de um banco de dados. No entanto, e isso é importante, se você planeja fazer isso, é necessário ter o MS Office instalado para poder fazer referência ao Microsoft Excel Interop COM. Isso pode ser benéfico no começo, mas eu não gostaria de remover ou alterar um monte de código para preparar um aplicativo para Alpha, Beta ou RC. Uma biblioteca muito simplificada exigiria mais esforço do que eu poderia considerar útil.
Vou usar arquivos .CSV para armazenamento de dados em estágio inicial. Existem algumas desvantagens, mas no geral acho que essa é uma opção muito melhor. Tudo está contido em minhas bibliotecas. O .net possui classes muito úteis para ler esses arquivos de texto. Além disso, como arquivos .CSV, os dados são facilmente manipulados; e, para estágios posteriores de desenvolvimento, tudo o que preciso fazer é ter meus arquivos de dados serializados em XML e, posteriormente, em binários criptografados serializados.