
EdenSpark Update 0.0.4.6
Dynamische GI, Skelettanimation, Behaviour Tree, MCP-Server, neuer Mesh-Optimierer und vieles mehr! Tauche ein und erfahre mehr!
Beispiel für Skelettanimationen
Ein neues Beispielprojekt zeigt, wie du mit der Komponente `SingleAnimationPlayer` Skelettanimationen zu deinem Spiel hinzufügen kannst. Für zukünftige Versionen sind fortgeschrittenere Beispiele geplant, die sich mit Überblendungen und Zustandsübergängen befassen. In der Zwischenzeit steht die (https://docs.edenspark.io/index/scene_core.html#sample_animation_and_blend) zur Verfügung, um benutzerdefinierte Animationscontroller zu erstellen.
Behaviour Tree-Modul
Das Modul `engine.ai.behtree` bietet ein Behaviour Tree-Framework zum Erstellen von Spiel-KI in EdenSpark. Erstelle Bäume aus integrierten Leaf-, Decorator- und Composite-Knoten – oder erstelle eigene Knoten als Unterklassen von `BehNode`. Das Modul umfasst Lifecycle-Hooks, ein Reaktionssystem für unterbrechungsgesteuerte Prioritätsänderungen sowie Debugging-Hilfsmittel zur Visualisierung des Baumzustands zur Laufzeit. (https://docs.edenspark.io/index/behtree.html).
Aktualisierungen zum Arbeitsablauf von Debugger und Profiler

Die Einrichtung von Debugger und Profiler ist nun direkt über spezielle Anzeigen und Einstellungs-Popups in der oberen Leiste des Editors möglich. Du kannst beide Tools aktivieren und Änderungen übernehmen, ohne das Skript bearbeiten oder die Startvoreinstellungen wechseln zu müssen.
Einige Schritte müssen jedoch weiterhin manuell durchgeführt werden: Für das Debugging muss nach der Aktivierung weiterhin der Das-Debugger aus VS Code angehängt werden, und für das Profiling muss weiterhin die externe daProfiler-App verbunden werden, um Daten zu erfassen.
Weitere Informationen findest du in der Dokumentation: - Debugger: https://docs.edenspark.io/getting_started/debugger.html - Profiler: https://docs.edenspark.io/getting_started/profiler.html
Dynamic GI
Die GI ist nun vollständig dynamisch: Wann immer man statische Meshes platziert oder löscht oder Lichtquellen verschiebt, werden diese Änderungen schnell und flüssig übernommen, (fast) ohne zusätzliche Leistungseinbußen.
Außerdem ist nun über die Komponente „HDGlobalIllumination“ eine grundlegende, szenenabhängige GI-Konfiguration verfügbar.
Launcher

Der Launcher unterstützt nun das Lesen und Verfassen von Kommentaren zu veröffentlichten Spielen. Öffne die Seite eines beliebigen Spiels und klicke auf das Kommentarsymbol, um den gesamten Kommentar-Thread anzuzeigen. Du kannst neue Kommentare verfassen, deine eigenen bearbeiten oder löschen sowie Kommentare anderer mit „Gefällt mir“ oder „Gefällt mir nicht“ bewerten.

Der Launcher enthält nun eine eigene Registerkarte „Erstellen“. Inhalte, die sich auf das Erstellen von Projekten konzentrieren, wurden aus der Startseite entfernt, sodass „Meine Spiele“ und der „Papierkorb“ nun unter „Erstellen“ zu finden sind, um eine klarere Trennung zwischen der Entdeckung neuer Inhalte und der Projektverwaltung zu gewährleisten.
EdenSpark MCP Server
EdenSpark enthält nun einen integrierten MCP-Server (Model Context Protocol), der es KI-Tools wie Claude Code ermöglicht, in Echtzeit mit dem laufenden Editor und dem Spiel zu interagieren. Der Server bietet Tools zur Szeneninspektion, Eingabesimulation, Screenshot-Erfassung und Spielsteuerung für einen externen KI-Agenten.
Mesh-Optimierer & -Vereinfacher
Ein neuer Mesh-Optimierer ist nun Teil der Modellerstellungs-Pipeline (immer aktiviert). Er verbessert die Lokalität des Vertex-Caches, ohne die Mesh-Topologie zu verändern, und sorgt in Benchmark-Tests für eine bis zu 30-fache Beschleunigung der Rendering-Geschwindigkeit.
Ebenfalls neu: ein optionaler Mesh-Vereinfacher mit vier Reduktionsstufen – `None`, `Soft` (2x), `Medium` (6x) und `Aggressive` (10x) – für Anwendungsfälle, in denen die Polygonanzahl wichtiger ist als die vollständige Detailtreue.
Physik-Callback
Es wurde ein Callback für die globale Funktion „on_fixed_update“ der Physiksimulation hinzugefügt. Dieser wird vor jedem Physikschritt aufgerufen; nutze ihn, um alle physikalischen Berechnungen durchzuführen, beispielsweise um Kräfte anzuwenden.
Hier ist ein Diagramm, das zeigt, wie „on_fixed_update“ aufgerufen werden könnte:

Hinweis: „get_delta_time“ innerhalb dieses Callbacks gibt die feste Physik-Delta-Zeit zurück.
Shader Graph

Mit dem neuen Shader-Graph-Editor kann man benutzerdefinierte Materialien erstellen und bearbeiten, indem man Knoten miteinander verbindet – ganz ohne Shader-Code.
Dies ist ein experimentelles Feature, und wir würden uns über euer Feedback dazu freuen. Zukünftige Updates werden eine erweiterte Knotenbibliothek, eine verbesserte Editor-Benutzererfahrung, Laufzeit-Vorschauen und mehr bringen.
Ein Beispiel für einen Dissolve-Shader, der mit dem Shader Graph von EdenSpark erstellt wurde.
Volumetrische Wolken und Himmelseinstellungen
Im HD-Renderer kannst du nun volumetrische Wolken aktivieren und das Aussehen des Himmels mithilfe der neuen HDSky-Komponente anpassen.

Darüber hinaus kannst du mit der Komponente „HDSkyOrigin“ Positionen für verschiedene Bereiche des Himmels festlegen.
Unterstützung des SVG-Formats

EdenSpark unterstützt nun .svg-Dateien als Texturen. SVGs werden während der Asset-Erstellung einmalig in ihrer Standardauflösung gerastert – du kannst sie genau wie .png- oder .jpeg-Dateien verwenden. Dynamisches (Laufzeit-)Rendering wird noch nicht unterstützt.
Verbesserungen an der Benutzeroberfläche und -erfahrung des Editors

Der Dateibrowser wechselt nun in eine kompakte Listenansicht, wenn die Symbolgröße auf das Minimum eingestellt ist, wodurch sich große Asset-Listen leichter durchsuchen lassen.

Wir unterstützen nun die unabhängige Fokussierung auf den Knoten (Inspektor) und das Asset (Importer). Diese können nebeneinander bearbeitet werden.
Vollständiges Änderungsprotokoll
Vollständiges Änderungsprotokoll
✨ Hinzugefügt
- Beispielprojekt zur Demonstration von Skelettanimationen mit der Komponente `SingleAnimationPlayer`
- Verhaltensbaum-Modul (`engine.ai.behtree`) zum Erstellen von KI-Entscheidungsbäumen in Daslang
- Blatt-Nodes: `TrueBehNode`, `FalseBehNode`, `WaitBehNode` (Zufallsverzögerungstimer)
- Dekorator-Nodes: `NotBehNode` (invert result), `SuccessBehNode`, `FailureBehNode`, `RunningBehNode`, `ChanceBehNode` (wahrscheinlichkeitsbasierte Ausführung)
- Zusammengesetzte Nodes: `SequenceBehNode` (AND), `SelectorBehNode` (OR), `ParallelBehNode` (gleichzeitige Ausführung)
- Lebenszyklus-Hooks: `firstTick`, `tick`, `lastTick` für Einrichtung, Ausführung und Aufräumen
- Reaktionssystem für die interruptgesteuerte Neubewertung von Prioritäten
- `dump_tree`- und `debugState`-Hilfsfunktionen zur Visualisierung des Baumzustands zur Laufzeit
- Vollständige Dokumentation mit Beispielen für benutzerdefinierte Nodes, Baumkonstruktion, Reaktionen, parallele Ausführung und Debugging
- Popups in den Editor-Einstellungen zum Aktivieren/Deaktivieren von Debugger und Profiler
- Debugger-/Profiler-Anzeigen im oberen Bereich mit Rückmeldung zum aktiven Status
- HDGlobalIllumination-Komponente zum Einrichten der globalen Beleuchtung im HD-Renderer
- Popup-Fenster für Kommentare auf Spieleseiten: Anzeigen, Veröffentlichen, Bearbeiten, Löschen und Wiederherstellen eigener Kommentare
- Like- und dislike-Schaltflächen für Kommentare anderer
- Anzeige der Kommentaranzahl in der Spielstatistikleiste neben Likes, Downloads und Starts
- Schaltfläche „Abbrechen“ für Spiel-Einreichungen
- Neuer Reiter „Erstellen“ in der Launcher-Navigation
- „Meine Spiele“ und „Papierkorb“ wurden von der Startseite zu „Erstellen“ verschoben
- Werkzeuge zur Szenenprüfung: `scene_children` (hierarchy tree view) und `scene_find` (search nodes by name or path)
- Tool zur Screenshot-Erfassung (`get_screenshot`), das JPEG-Bilder mit konfigurierbarer Qualität und Größe liefert
- Werkzeuge zur Spielsteuerung: `game_play`, `game_pause`, `game_next_frame`, `get_game_status`
- Maus-Inputwerkzeuge: `mouse_click`, `mouse_press`, `mouse_release`, `mouse_move`, `mouse_wheel`
- Tastatur-Inputwerkzeuge: `key_press`, `key_down`, `key_up` mit Unterstützung für Modifier-Tastenunterstützung
- Cheat-Befehls-Integration: `exec_cheat` und `list_cheat_commands`-Tools zum Ausführen von mit `[cheat]` gekennzeichneten Spielbefehlen über MCP
- Konsolenbefehle für die Serververwaltung: `app.mcp_start`, `app.mcp_stop`, `app.mcp_call`
- Mesh-Optimierer in der Modell-Build-Pipeline – immer aktiviert, Topologie beibehalten, bis zu 30-fache Beschleunigung beim Rendern
- Optionaler Mesh-Simplifier mit den Polygonreduktionsmodi `None` / `Soft` (2x) / `Medium` (6x) / `Aggressive` (10x)
- Unterstützung für Draco-Mesh-Compression bei glTF-Dateien
- Neuer Callback ``on_fixed_update``
- Shader-Graph-Editor zum visuellen Erstellen und Bearbeiten von Materialien, ohne Shader-Code schreiben zu müssen
- HDSky- und HDSkyOrigin-Komponenten zum Einrichten des Himmels im HD-Renderer
- Unterstützung für SVG-Texturen – werden während der Asset-Erstellung einmalig in der Standardauflösung gerastert
- Listenansicht im Dateibrowser bei minimaler Symbolgröße
- Ladeanimation für Asset-Symbole während der Erstellung
- Warnungen und Fehler bei fehlgeschlagener Asset-Erstellung werden nun im `Importer`-Fenster angezeigt
- Aktionen „Zurücksetzen“ und „Kopieren“ für die Transformation der Editor-Kamera
🔧 Verbesserungen
- Die globale Beleuchtung passt sich nun schnell an, wenn man Lichter oder statische Geometrie verschiebt
- Der Papierkorb für gelöschte Projekte sieht nun besser aus
- Der Textur-Generator für 4K-Texturen ist nun bis zu doppelt so schnell
- Das ImGui-Backend wurde auf den Docking-Branch v1.92.6 aktualisiert
- Das Umbenennen von Assets führt nicht mehr zum Verlust von Asset-Referenzen und ist deutlich schneller
- Build-Benachrichtigungen: Es wird nur das Ergebnis der letzten Kompilierung angezeigt, frühere Ergebnisse werden gelöscht
- Tastaturnavigation im Menü „Add Component“ mithilfe der Pfeiltasten
- Das Erstellen neuer Dateien wird nun bis zum Drücken der Eingabetaste zurückgestellt, wodurch Fehlkompilierungen von DasLang und unnötige Dateisystemaktivitäten vermieden werden
- Verbesserte Darstellung von Null-Ressourcen im Editor
- Der Textcursor verhält sich nun korrekt beim Umbenennen von Dateien und Nodes
- Gekoppelte Fenster mit Code-Editor-Registerkarten werden beim erneuten Öffnen korrekt wiederhergestellt
🪲Behoben
- Die Schaltfläche „Löschen“ für heruntergeladene Spiele löscht diese nun tatsächlich
- Die Physikberechnungen wurden vom Ende an den Anfang des Frames verschoben, wodurch die Verzögerung der Physiksimulation um einen Frame beseitigt wurde
- Charakter-Controller werden nun entlang der Physikschritte simuliert, wodurch gelegentliches Ruckeln beseitigt wird
- Eine leichte Physik-Desynchronisation, die durch einen Floating-Point-Fehler verursacht wurde, wurde behoben; Physik und Logik sind nun präzise synchronisiert
- Integriertes Andocklayout für den Texteditor
- DX12 ist nun der Standard-Grafiktreiber, wenn im Launcher „Auto“ ausgewählt ist (zuvor war es DX11)
- Aktualisierung von Blocking-Vertices unter DX11
- Ein Fehler wurde behoben, durch den eine Node nach dem Duplizieren nicht mehr abgewählt wurde
- Die Anzeige von Nodes mit mehrzeiligen Namen wurde korrigiert