Sí. Debe implementar un sistema para cargar contenido fuera de su motor principal.
Encabezados para respuestas concisas.
No. No consume demasiado tiempo.
Creo que la cuestión de si es una asignación válida de su tiempo limitado es discutible; aunque solo sea por el hecho de que será una pequeña porción del tiempo total del proyecto.
Pasará cientos (miles) de horas en un proyecto de juego que completará. Tal vez no en un clon de Pong, pero seguramente para tu complejo juego espacial. Compare eso con un lector de archivos de configuración. Implementar un sistema para canalizar XML en su constructor principal, y posteriormente reiniciar el proceso del juego, tomará tal vez 10 o 20 horas. Incluso si te lleva 50 o 100, será una pequeña fracción del tiempo total del proyecto.
Ahorrará tiempo
No es un gasto de tiempo; Es una inversión de tiempo. Y valdrá la pena.
El flujo de trabajo es importante, y tener un cargador de configuración mejorará su flujo de trabajo. Al crear un sistema que le permite editar configuraciones sobre la marcha, ahorrará innumerables reconstrucciones. Puedes mirar el juego mientras se está ejecutando, ajustar XML y volver a verificar en segundos. O puede mirar el código, encontrar una línea de código (entre miles), editar sus valores con mucho cuidado (está en su motor principal, después de todo), reconstruir, ejecutar, devolver el juego al estado de prueba, esforzarse por recuerde cómo se veía antes del cambio y vea si su cambio tuvo el efecto que deseaba. Asumiendo que nada se rompa en su motor, su tren de pensamiento seguramente se ve interrumpido.
Desde una perspectiva más fundamental de comp-sci, trate de recordar que la parte más lenta del software de escritura es no tener algunas teclas adicionales o espacios en blanco. Es cazar insectos. Y si dedica un poco más de tiempo para aclarar las cosas escribiendo un código más detallado, se ahorrará mucho más tiempo después. En su caso, escribir un importador de contenido da como resultado un código más limpio que será más fácil de leer. En lugar de millas y millas de valores codificados, su fuente presentará una carga de archivo simple. Del mismo modo, puede leer el archivo de configuración sin necesidad de leer el código del motor del juego. Ambas partes se vuelven más fáciles de mantener y más fáciles de depurar.
Los equipos de un miembro se benefician más
Si contrataste a un artista para generar parte de ese contenido, necesitarías crear herramientas con las que trabajar. Necesitan hacer ediciones de píxeles y ver los efectos rápidamente. No se atrevería a obligarlos a reconstruir el código para ver cada cambio. Su tiempo es costoso y no quieres desperdiciarlo.
Ahora imagine que el artista es muy inexperto y lento (artista programador), y tiene muchas otras cosas de qué preocuparse porque también son el principal programador y músico. Definitivamente no quieres perder ese tiempo, o el proyecto nunca terminará. Y ese artista horrible odiará la capacitación para ser un mejor artista, porque pasan todo su tiempo cambiando el nombre de las cadenas de activos en el código.
No te hagas eso a ti mismo. Crea las herramientas y tendrás más tiempo para hacer un juego.