This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Dieses Handbuch bietet einen Überblick und verlinkt auf die einzelnen Handbücher zu jedem Thema.
Defold unterstützt Automatisierung auf mehreren Ebenen. Eine für die Aufgabe geeignete Schnittstelle auszuwählen, ist einer der wichtigsten Aspekte einer wirksamen Automatisierung. Die folgende Tabelle hilft dir, die einfachste Schnittstelle für eine bestimmte Aktion auszuwählen:
| Ebene | Zweck |
|---|---|
| Editor-Skripte | Benutzerdefinierte Befehle und Arbeitsabläufe im Editor oder Integrationen, die Tests und Entwicklung beschleunigen, z. B. das Erstellen von Leveln und Assets |
| UI-Skripte für den Editor | Benutzerdefinierte visuelle Werkzeuge, Popups, Konfiguratoren oder Benutzeroberflächen mithilfe von Editor-Skripten |
| HTTP-API des Editors | Das geöffnete Spielprojekt im Defold-Editor über OpenAPI-Operationen, Projektressourcen, Builds, Editorbefehle, Vorschauen, Editoreinstellungen, Konsolenausgaben oder Editor-Skripte steuern: für benutzerdefinierte Operationen, externe Werkzeuge, IDE-Integrationen und Teststeuerungen |
| Bob CLI | Einen Build eines Projekts erstellen, Datenarchive oder eigenständige Bundles über die Kommandozeile erstellen, Berichte, CI |
| Lebenszyklus-Hooks | Validierung oder Generierung vor und nach Builds oder der Bundle-Erstellung im Editor |
| HTTP-Dienst der Engine | Die laufende Defold-Game-Engine (dmengine) untersuchen, Entwicklungsdienste, Profiling, Laufzeitnachrichten oder durch Erweiterungen definierte Laufzeit-APIs zur Automatisierung nutzen sowie mit externen Werkzeugen Abfragen stellen und Befehle an einen laufenden Debug-Build senden |
| Automation Bridge | Offizielle Defold-Erweiterung, die zusätzliche Endpunkte zur Automatisierung der Engine zur Laufzeit bereitstellt |
| Automatisierte Tests | Spiellogik, Nachrichten, Komponenten (components), Eingabe, Physik und Engine-Verhalten testen, Szenen untersuchen, visuelle Rückmeldungen z. B. über die Editorvorschau, eingespeiste Eingaben, aktueller Anwendungszustand, Ausführen von Testsammlungen (test collections) |
| Shell-Skripte oder Taskrunner | Generierung, Formatierung, Validierung und wiederholbare Aufgaben, gewöhnliche Dateioperationen |
| Externe plattformspezifische Werkzeuge und Werkzeuge zur Automatisierung von Webbrowsern | Desktop-Testwerkzeuge, HTML5-Interaktionstests, Bildschirmaufnahmen, Webintegrationen |
| Programmieragenten mit künstlicher Intelligenz (KI) und multimodale Modelle | Aufgaben, bei denen sich ein deterministischer Ansatz nur schwer oder gar nicht umsetzen lässt, semantische Analyse von Szenen, GUI-Layouts oder Bildschirmaufnahmen des laufenden Spiels |
Die wichtigste Unterscheidung besteht zwischen dem Defold-Editor und einem laufenden Spiel. Sie sind getrennte Prozesse mit eigenen HTTP-Servern.
Bevorzuge eine deterministische Lösung, wenn die Abfolge der Operationen bereits bekannt ist, etwa bei einem Werkzeug zur Levelvalidierung, einem Formatierungswerkzeug, einem Build-Job oder einem Regressionstest. Dafür sollten normalerweise feste Eingaben, Ausgaben, Grenzen für Zeitüberschreitungen und Rückgabecodes des Prozesses definiert sein. Das eignet sich gut für automatisierte Hooks und Tests, die zuverlässig in CI ausgeführt werden können. Auch für die prozedurale Erstellung von Ressourcen für deine Projekte ist eine deterministische Lösung vorzuziehen, z. B. ein Werkzeug, das gltf-Objekte in Modelle mit einem bestimmten Material umwandelt oder ein Level etwa mit Bäumen bestückt. Solche Abläufe lassen sich für jedes Projekt leicht mit Editor-Skripten und einer Benutzeroberfläche erstellen. Lies mehr darüber im Handbuch.
Ein Agent kann nützlich sein, wenn eine Aufgabe Untersuchungen oder multimodale Analysen erfordert, die z. B. auch visuelle Informationen einbeziehen: relevante Ressourcen finden, eine Implementierung auswählen, mehrere Dateien ändern, Fehler interpretieren und schrittweise auf festgelegte Abnahmekriterien hinarbeiten. Der Agent sollte dabei dennoch deterministische Schnittstellen aufrufen und dieselben Nachweise auswerten wie ein lokales Skript oder ein CI-Runner. Siehe das Handbuch zur Verwendung von KI-Programmieragenten mit Defold.
Ein zuverlässiger Automatisierungsprozess bildet eine geschlossene Schleife:

Die Überprüfung sollte Nachweise aus der tatsächlichen Umgebung liefern. Geeignete Nachweise sind unter anderem:
Lege das erwartete Ergebnis fest, bevor du Änderungen vornimmst. Definiere außerdem eine Grenze für Zeitüberschreitungen und eine maximale Anzahl an Reparaturversuchen. Ein unbeaufsichtigter Prozess sollte nicht unbegrenzt weiterlaufen, wenn er die Abnahmekriterien nicht erfüllen kann.
Weitere Einzelheiten zu bestimmten Themen rund um Automatisierungsabläufe findest du in den folgenden Handbüchern: