Dies hängt davon ab, ob dies während der Entwicklung oder Veröffentlichung geschieht.
Während der Entwicklung werden Ihnen ständig Dinge, Fehler und Durcheinander fehlen, und Sie möchten möglicherweise sogar Assets bei Bedarf "heiß" laden oder ein Asset ersetzen, während das Spiel ausgeführt wird. Sie können Skripte bearbeiten, während das Spiel läuft, um die Leistung einer KI zu testen, oder ähnliches.
Es ist am ärgerlichsten, wenn das Programm einen Fehlerdialog anzeigt und jedes Mal beendet wird und Sie es neu starten müssen, was 2-3 Minuten dauert. Das Ziel in der Entwicklung ist es, Sie (deren Zeit das wertvollste Kapital ist) so wenig wie möglich aufzuhalten.
Wenn zum Beispiel eine Textur fehlt, möchten Sie so etwas wie ein rot-weißes Schachbrett sehen, möglicherweise mit dem Wort "fehlt" als Ersatztextur, sodass sofort klar ist, dass etwas seltsam ist . Sie möchten jedoch nicht, dass das Spiel ordnungsgemäß beendet wird oder gar abstürzt. Detaillierte Informationen darüber, was in Ihrer Protokolldatei fehlt, sind immens hilfreich.
Andererseits sollte in einem Release der gesamte Satz von Asset-Dateien idealerweise [1] Ihre automatisierte Asset-Pipeline durchlaufen haben. Dies muss nicht viel mehr als ein einfacher Parser sein, der alle Ihre JSONs einliest und dann überprüft, ob jedes Modul in sich konsistent ist, und überprüft, ob jedes Asset, auf das Sie verweisen, tatsächlich vorhanden ist, und dann die gesamte Gruppe von Dateien komprimiert in bekannter (aber nicht notwendigerweise standardmäßiger) Weise, die für Ihre Engine leicht lesbar ist, optional durch Hinzufügen einiger Prüfsummen.
Sie wissen, dass es keinen Fehler geben kann, da Ihre Pipeline überprüft hat, ob alles vorhanden ist, bevor Sie das Paket für den Endbenutzer freigegeben haben. Wenn also ein Fehler auftritt, ist entweder ein Übertragungsfehler aufgetreten oder der Benutzer versucht mit größerer Wahrscheinlichkeit zu betrügen. In beiden Fällen sollte das Programm eine Meldung anzeigen, dass Asset-Dateien beschädigt sind, und beenden.
Alternativ können Sie die Option zum Herunterladen einer unberührten Kopie der Assets aus dem Internet anbieten (wenn Sie einen Download-Server haben). Um jedoch einen Kunden-Support-Albtraum zu vermeiden, sollten Sie vor dem Herunterladen von Gigabyte-Daten nachfragen .
[1] Die Realität mag anders aussehen, es kann sogar vorkommen, dass bei AAA-Titeln, deren Hersteller "Bescheid wissen" sollten, Vermögenswerte fehlen, diese jedoch in der Regel unrealistische Fristen und große, wechselnde Teams aufweisen. Idealerweise hat alles, was Sie versenden, die automatisierte Pipeline durchlaufen und ist garantiert vollständig.