Sì. È necessario implementare un sistema per caricare contenuti all'esterno del motore principale.
Intestazioni per risposte sintetiche.
No. Non richiede troppo tempo.
Penso che la questione se si tratti di un'assegnazione valida del tuo tempo limitato è controversa; anche se solo per il fatto che sarà una piccola parte del tempo totale del progetto.
Trascorrerai centinaia (migliaia) di ore in un progetto di gioco che completerai. Forse non su un clone di Pong, ma sicuramente per il tuo complesso gioco spaziale. Confrontalo con un lettore di file di configurazione. L'implementazione di un sistema per convogliare XML nel tuo costruttore principale, e successivamente riavviare il processo di gioco, richiederà forse 10 o 20 ore. Anche se impieghi 50 o 100, sarà una piccola frazione del tempo totale del progetto.
Risparmierai tempo
Non è una spesa in termini di tempo; è un investimento di tempo. E pagherà.
Il flusso di lavoro è importante e disporre di un caricatore di configurazione renderà il tuo flusso di lavoro migliore. Creando un sistema che ti consente di modificare le configurazioni al volo, risparmierai innumerevoli ricostruzioni. Puoi guardare il gioco mentre è in esecuzione, modificare XML e ricontrollare in pochi secondi. Oppure puoi guardare il codice, trovare una riga di codice (tra le migliaia), modificarne i valori con estrema attenzione (sei nel tuo motore principale, dopotutto), ricostruire, eseguire, riportare il gioco allo stato di test, provare a ricorda com'era prima della modifica e vedi se la modifica ha avuto l'effetto che volevi. Supponendo che nulla si rompa nel tuo motore, il tuo treno di è sicuramente interrotto.
Da una prospettiva comp-sci più fondamentale, prova a ricordare che la parte più lunga del software di scrittura non sta avendo qualche tasto in più o spazi bianchi. È a caccia di insetti. E se passi un po 'di tempo in più per rendere le cose più chiare scrivendo un codice più dettagliato, risparmierai molto più tempo in seguito. Nel tuo caso, scrivere un importatore di contenuti comporta un codice più pulito che sarà più facile da leggere. Invece di miglia e miglia di valori codificati, la tua sorgente presenterà un semplice caricamento di file. Allo stesso modo, puoi leggere il file di configurazione senza passare attraverso il codice del motore di gioco. Entrambe le parti diventano più gestibili e più facili da eseguire il debug.
Le squadre a un membro ne traggono il massimo beneficio
Se hai assunto un artista per generare parte di quel contenuto, dovrai creare degli strumenti con cui lavorare. Devono apportare modifiche ai pixel e vedere rapidamente gli effetti. Non oseresti costringerli a ricostruire il codice per vedere ogni cambiamento. Il loro tempo è costoso e non vuoi sprecarlo.
Ora immagina che l'artista sia molto abile e lento (artista programmatore) e abbia molte altre cose di cui preoccuparsi perché sono anche il programmatore principale e il musicista. Non vorrai assolutamente perdere tempo, altrimenti il progetto non finirà mai. E quell'artista schifoso odierà l'addestramento per diventare un artista migliore, perché trascorrono tutto il loro tempo a rinominare le stringhe di risorse in codice.
Non farlo da solo. Crea gli strumenti e avrai più tempo per creare un gioco.