Ja. Sie sollten ein System implementieren, um Inhalte außerhalb Ihres Hauptmoduls zu laden.
Überschriften für prägnante Antworten.
Nein, es verbraucht nicht zu viel Zeit.
Ich denke, die Frage, ob es sich um eine gültige Zuteilung Ihrer begrenzten Zeit handelt, ist umstritten. schon allein deshalb, weil es nur ein kleiner Teil der gesamten Projektzeit sein wird.
Sie werden Hunderte (Tausende) Stunden für ein abgeschlossenes Spielprojekt aufwenden. Vielleicht nicht auf einem Pong-Klon, aber sicherlich für Ihr komplexes Weltraumspiel. Vergleichen Sie das mit einem Konfigurationsdatei-Reader. Das Implementieren eines Systems, um XML in den Hauptkonstruktor zu leiten und anschließend den Spielprozess neu zu starten, dauert möglicherweise 10 oder 20 Stunden. Selbst wenn Sie 50 oder 100 benötigen, ist dies ein winziger Bruchteil der gesamten Projektzeit.
Das spart Zeit
Es ist kein Zeitaufwand; Es ist eine Zeitinvestition. Und es wird sich auszahlen.
Workflow ist wichtig, und ein Konfigurationsladeprogramm verbessert Ihren Workflow. Indem Sie ein System erstellen, mit dem Sie Konfigurationen im Handumdrehen bearbeiten können, sparen Sie unzählige Neuerstellungen. Sie können sich das Spiel ansehen, während es ausgeführt wird, XML optimieren und es in Sekundenschnelle erneut überprüfen. Oder Sie können sich den Code ansehen, eine Codezeile (unter Tausenden) finden, seine Werte äußerst sorgfältig bearbeiten (schließlich befinden Sie sich in Ihrer Haupt-Engine), neu erstellen, ausführen, das Spiel wieder in den Testzustand versetzen und sich anstrengen Erinnern Sie sich daran, wie es vor der Änderung aussah, und prüfen Sie, ob Ihre Änderung den von Ihnen beabsichtigten Effekt hatte. Vorausgesetzt, dass nichts in Ihrem Motor kaputt geht, ist Ihr Zug sicherlich gestört.
Denken Sie aus einer grundlegenderen comp-sci-Perspektive daran, dass der zeitaufwändigste Teil des Schreibens von Software nicht darin besteht, einige zusätzliche Tastenanschläge oder Leerzeichen zu verwenden. Es ist Wanzenjagd. Und wenn Sie etwas mehr Zeit aufwenden, um die Dinge durch das Schreiben von ausführlicherem Code klarer zu machen, sparen Sie sich später viel mehr Zeit. In Ihrem Fall führt das Schreiben eines Inhaltsimporters zu einem saubereren Code, der leichter zu lesen ist. Anstelle von Meilen und Meilen von fest codierten Werten bietet Ihre Quelle ein einfaches Laden von Dateien. Ebenso können Sie die Konfigurationsdatei lesen, ohne durch den Code der Game-Engine zu waten. Beide Teile sind leichter zu warten und zu debuggen.
Ein-Mitglieder-Teams profitieren am meisten
Wenn Sie einen Künstler damit beauftragt hätten, einen Teil dieser Inhalte zu erstellen, müssten Sie Tools erstellen, mit denen sie arbeiten können. Sie müssen Pixelbearbeitungen vornehmen und die Effekte schnell erkennen. Sie würden es nicht wagen, sie zu zwingen, Code neu zu erstellen, um jede Änderung zu sehen. Ihre Zeit ist teuer und Sie möchten sie nicht verschwenden.
Stellen Sie sich nun vor, der Künstler ist sehr ungelernter und langsamer (Programmierer) und hat viele andere Sorgen, weil er auch der Hauptprogrammierer und Musiker ist. Sie wollen diese Zeit definitiv nicht verschwenden, sonst wird das Projekt nie abgeschlossen. Und dieser beschissene Künstler wird die Ausbildung zum besseren Künstler hassen, weil er seine ganze Zeit damit verbringt, Asset-Strings in Code umzubenennen.
Tu dir das nicht an. Stellen Sie die Werkzeuge her, und Sie haben mehr Zeit, um ein Spiel zu machen.