Oui. Vous devez implémenter un système pour charger le contenu en dehors de votre moteur principal.
En-têtes de réponses succinctes.
Non, cela ne prend pas trop de temps.
Je pense que la question de savoir si c'est une allocation valide de votre temps limité est sans objet; même si ce n'est que pour le fait qu'il s'agisse d'une petite partie du temps total du projet.
Vous passerez des centaines (milliers) d’heures sur un projet de jeu que vous menez à terme. Peut-être pas sur un clone de Pong, mais sûrement pour votre jeu spatial complexe. Comparez cela à un lecteur de fichier de configuration. L'implémentation d'un système permettant de canaliser XML dans votre constructeur principal, puis de reprendre le processus de jeu, prendra peut-être 10 ou 20 heures. Même si cela vous prend 50 ou 100, ce ne sera qu'une infime fraction du temps total du projet.
Ça fera gagner du temps
Ce n'est pas une dépense de temps; c'est un investissement de temps. Et ça va payer.
Le flux de travail est important, et avoir un chargeur de configuration améliorera votre flux de travail. En créant un système vous permettant d'éditer des configurations à la volée, vous économiserez d'innombrables reconstructions. Vous pouvez regarder le jeu en cours d'exécution, ajuster XML et vérifier à nouveau en quelques secondes. Ou vous pouvez regarder le code, trouver une ligne de code (parmi des milliers), éditer ses valeurs extrêmement soigneusement (vous êtes dans votre moteur principal, après tout), reconstruire, exécuter, ramener le jeu à l'état de test, essayer de rappelez-vous à quoi il ressemblait avant le changement et voyez si votre changement produisait l'effet escompté. En supposant que rien ne casse votre moteur, votre train de vie est certainement perturbé.
Dans une perspective comp-sci plus fondamentale, essayez de vous rappeler que la partie la plus fastidieuse du logiciel d’écriture n’a pas besoin de quelques touches supplémentaires ou espaces. C'est la chasse aux insectes. Et si vous passez un peu plus de temps pour clarifier les choses en écrivant du code plus détaillé, vous économiserez beaucoup plus de temps par la suite. Dans votre cas, l'écriture d'un importateur de contenu donne un code plus propre qui sera plus facile à lire. Au lieu de kilomètres de valeurs codées en dur, votre source comportera un simple chargement de fichier. De même, vous pouvez lire le fichier de configuration sans vous faufiler dans le code du moteur de jeu. Les deux parties deviennent plus faciles à gérer et à déboguer.
Les équipes composées d'un seul membre bénéficient le plus
Si vous avez embauché un artiste pour générer une partie de ce contenu, vous devrez créer des outils avec lesquels il pourra travailler. Ils doivent modifier les pixels et voir rapidement les effets. Vous n'oseriez pas les forcer à reconstruire le code pour voir chaque changement. Leur temps est cher et vous ne voulez pas le perdre.
Maintenant, imaginez que cet artiste soit très peu qualifié et lent (artiste programmeur) et qu'il doit s'occuper de beaucoup d'autres choses, car il est également le programmeur principal et le musicien. Vous ne voulez certainement pas perdre ce temps, sinon le projet ne sera jamais terminé. Et, cet artiste de merde détesterait la formation pour devenir un meilleur artiste, car ils passent tout leur temps à renommer des chaînes d'actifs en code.
Ne fais pas ça pour toi. Fabriquez les outils et vous aurez plus de temps pour créer un jeu.