Todos os objetos no meu jogo vão ser descritos por algo semelhante a um xml(ou um xml, ainda n decidi), umas um dos problemas que eu tenho é:
É burrice usar strings como “calor especifico” como chave para o valor de calor especifico de um metal, é muito mais inteligente usar um numero pois não tem que fazer .equals() (na real tem… mas é bilhões de vezes mais rapido que o equals de string), uma ideia seria criar um editor de objetos que é onde eu gerencio os objetos e criação do arquivo de descrição, e depois eu “compilo” ele em um arquivo binario para ser processado pelo jogo.
Entretanto, é burrice para um humano identificar atributos usando numeros e bem mais inteligente usar Enums. Mas agora eu tenho que manter a classe do Enum e o arquivo binario SEMPRE sincronizados, e isso é, até onde eu imagino, quase impossivel de fazer no braço…
O que você pode fazer é carregar o seu xmls em objetos. E usar Maps para mapear a String ao seu valor.[/quote]
Definitivamente a maneira mais facil, entretanto o jogo vai ser um mmo, e como é feito em java(até eu aprender c++(as locuras ninjas que fazem c++ mais rapido) os computadores já aguentam o java pra fazer qualquer coisa…) não posso disperdiçar nada. As tags vão ser acessadas o tempo todo, tipo 5.000 acessos pro ciclo só de npcs, talvez mais…
Acho que a melhor solução é o editor de xml tambem gerar o arquivo .java que é onde fica os enums…
Enum é trocado pelo seu valor respectivo quando o compilador gera o bytecode né? ou é melhor usa constantes nesse caso?
Aqui vão algumas dicas sobre otimização, leia e siga-as:
Um delas é não pré-otimizar seu código. Provavelmente seus gargalos mais sérios não estarão nesse enum, e sim, em acesso a arquivos, bancos de dados, o mais provável, na própria rede.
Você tem alguma experiência com jogos? Ou esse aí é o seu primeiro?