Sim. Você deve implementar um sistema para carregar conteúdo fora do mecanismo principal.
Cabeçalhos para respostas sucintas.
Não. Não consome muito tempo.
Eu acho que a questão de saber se é uma alocação válida de seu tempo limitado é discutível; mesmo que seja apenas uma pequena parte do tempo total do projeto.
Você passará centenas (milhares) de horas em um projeto de jogo que concluirá. Talvez não em um clone de Pong, mas certamente no seu jogo espacial complexo. Compare isso com um leitor de arquivo de configuração. A implementação de um sistema para XML tubo em seu construtor principal, e posteriormente reiniciar a processo de jogo, terá talvez 10 ou 20 horas. Mesmo se você precisar de 50 ou 100, será uma pequena fração do tempo total do projeto.
Economizará tempo
Não é uma despesa de tempo; é um investimento de tempo. E vai valer a pena.
O fluxo de trabalho é importante, e ter um carregador de configuração tornará seu fluxo de trabalho melhor. Ao criar um sistema que permite editar configurações dinamicamente, você salvará inúmeras reconstruções. Você pode ver o jogo enquanto ele estiver rodando, ajustar o XML e verificar novamente em segundos. Ou você pode olhar para o código, encontrar uma linha de código (entre milhares), editar seus valores com muito cuidado (você está no seu mecanismo principal, afinal), reconstruir, executar, colocar o jogo de volta ao estado de teste, tentar lembre-se de como era antes da alteração e veja se sua alteração teve o efeito que você pretendia. Assumindo que nada quebre no seu motor, seu trem de pensamento certamente está interrompido.
De uma perspectiva mais básica da ciência da computação, tente lembrar que a parte mais demorada da criação de software não é a introdução de algumas teclas ou espaços em branco extras. É caça de insetos. E se você gastar um pouco de tempo extra para tornar as coisas mais claras escrevendo um código mais detalhado, economiza muito mais tempo depois. No seu caso, escrever um importador de conteúdo resulta em um código mais limpo que será mais fácil de ler. Em vez de milhas e milhas de valores codificados, sua fonte apresentará um simples carregamento de arquivo. Da mesma forma, você pode ler o arquivo de configuração sem percorrer o código do mecanismo do jogo. Ambas as partes se tornam mais fáceis de manter e mais fáceis de depurar.
As equipes de um membro são as que mais beneficiam
Se você contratou um artista para gerar parte desse conteúdo, seria necessário criar ferramentas para eles trabalharem. Eles precisam fazer edições de pixel e ver os efeitos rapidamente. Você não ousaria forçá-los a reconstruir o código para ver todas as alterações. O tempo deles é caro e você não quer desperdiçá-lo.
Agora imagine que o artista é muito pouco qualificado e lento (artista programador) e tem muitas outras coisas com que se preocupar, porque eles também são o principal programador e músico. Você definitivamente não quer perder esse tempo, ou o projeto nunca terminará. E esse artista ruim odiará o treinamento para ser um artista melhor, porque passa o tempo todo renomeando cadeias de ativos em código.
Não faça isso consigo mesmo. Faça as ferramentas e você terá mais tempo para fazer um jogo.