Stellaris News - Stellaris Dev Diary #182 : Die Gefahren des Scripting und wie man sie vermeidet

Es gibt eine neue News zu dem Steam Game Stellaris vom 03.09.2020. Folgendes hat dabei der Entwickler von Stellaris veröffentlicht:

"Hallo zusammen! Ich bin Caligula, einer von Stellaris' Content Designern, was bedeutet, dass ich eine Vielzahl von Aufgaben erledige, die auf dem Schreiben von Erzählungen und Skripten basieren - "Skripten" ist unsere Bezeichnung dafür, Dinge zu tun, die dem Programmieren etwas ähneln, aber ohne den Quellcode zu verändern. Mit anderen Worten, ich tue, was Modder tun (obwohl ich den großen Vorteil habe, dass ich auch in den Quellcode schauen und ihn bei Bedarf ändern kann). Jeder Content-Designer hat seine Nische, und meine ist, dass ich in die Bresche springe, wenn ein besonders kompliziertes System mit einem Skript versehen werden muss (oder, was häufiger vorkommt - der Krieg im Himmel bereitet mir immer noch Alpträume...).

Nun haben wir in den kommenden Wochen und Monaten viel Spannendes vorzuweisen, aber für heute werde ich, inspiriert durch einige Fragen, die nach dem letzten Entwicklertagebuch gestellt wurden, über die technische Seite des Skriptings für Modder und angehende Modder schreiben, insbesondere mit Blick darauf, was Performance-Probleme verursachen kann und wie man vermeiden kann, schlechte Skripte zu machen.

Die Skriptsprache Stellaris ist ein sehr mächtiges Werkzeug, und es kann viel damit gemacht werden, aber zuallererst ein Hinweis zur Vorsicht: Nur weil etwas möglich ist, heißt das nicht, dass es auch gemacht werden sollte. Ich kann das nicht genug betonen, denn (und ich spreche hier aus Erfahrung) diese Haltung wird mit ziemlicher Sicherheit sowohl zu Problemen bei der Ausführung als auch zu unleserlichen Skripten führen, die man sechs Monate später nicht mehr entwirren kann, wenn man feststellt, dass ein Teil davon kaputt ist. Es sollte jedoch bedacht werden, dass es per Definition schneller geht, etwas im Code zu tun: Im Code kann man eine einzelne Funktion prüfen und mit ihr fertig werden, aber wenn man will, dass sie über ein Skript zugänglich ist, muss sie eine ganze Reihe notwendiger Funktionen durchlaufen, bevor man mit der Prüfung der Funktion beginnt (Umwandlung der Skriptzeile in einen Codebefehl, Prüfung, ob sie im richtigen Umfang verwendet wird, usw. usw.) - daher sind manche Dinge hartkodiert, und auch, warum gehackte Problemlösungen am Ende ziemlich schlecht sein könnt. Die erste Frage, die man sich stellen muss, lautet also: Sollte ich das wirklich tun?

Aber wem mache ich was vor, ich spreche hier mit Moddern, also werden Ihr es natürlich tun :D Also ohne weitere Umschweife...

Was verursacht Leistungsprobleme?



Jedes Mal, wenn Ihr eine Prüfung durchführen oder einen Effekt ausführen, nimmt dies einen sehr kleinen Teil der Rechenleistung Eures Computers in Anspruch. Abgesehen von ein paar Ausnahmen, die sparsam eingesetzt werden sollten (auf diese werde ich später eingehen), ist das völlig in Ordnung...
Die vollständige News zu Stellaris Dev Diary #182 : Die Gefahren des Scripting und wie man sie vermeidet findet ihr auf der Stellaris Steam Seite