20 Punkte von GN⁺ 2025-04-19 | 2 Kommentare | Auf WhatsApp teilen
  • Eine leichte und leistungsstarke vor allem auf 2D ausgerichtete Game-Engine, die auch 3D-Funktionen unterstützt
  • Steuert die gesamte Spiellogik auf Basis von Lua-Skripten und erhöht dank schneller Builds und Hot Reload die Entwicklungsgeschwindigkeit
  • Wird kostenlos angeboten und hat weder Lizenzkosten noch Royalties
  • Starke Unterstützung für Cross-Platform, sodass eine einzige Entwicklung auf verschiedene Plattformen ausgerollt werden kann
  • Bietet künstlerfreundliche Tools wie Szenen-Editor und GUI-Tools und erleichtert damit die visuelle Erstellung
  • Ermöglicht Erweiterbarkeit und produktiven Praxiseinsatz durch native Erweiterungen wie C/C++ und die Integration verschiedener SDKs

Hauptfunktionen von Defold

  • Keine Installation erforderlich: Kann sofort ohne Installation oder Einrichtung verwendet werden
  • Visueller Editor und Code-Editor: Kreatives Arbeiten mit visuellem Editor und Code-Editor
  • Lua-Debugger: Bietet Werkzeuge zum Debuggen von Lua-Skripten
  • Szenen- und Partikel-Editor: Bietet verschiedene Editoren für die Entwicklung von 2D- und 3D-Spielen
  • Keine Kosten: Keine Anfangskosten, Lizenzkosten, Royalties oder Runtime-Kosten

Cross-Platform-Unterstützung

  • Vielfältige Plattformen: Spiele können auf wichtigen Plattformen wie PlayStation, Nintendo Switch, Android, iOS, macOS, Linux, Windows, Steam, HTML5 und Facebook veröffentlicht werden
  • Keine externen Tools erforderlich: Unterstützung aller Plattformen mit einer einzigen Codebasis ohne externe Tools

Auf 2D fokussierte Engine mit 3D-Fähigkeiten

  • Defold ist für die 2D-Spieleentwicklung optimiert, verfügt aber auch über integrierte 3D-Funktionen
  • Komponentenbasierte Architektur stärkt Performance und Modularität
  • 2D-Komponenten: 2D-Sprites, Spine-Modelle, Tilemap-Editor
  • 3D-Komponenten:
    • Laden von 3D-Modellen und -Animationen
    • Erzeugen und Bearbeiten von 3D-Meshes zur Laufzeit
    • Benutzerdefinierte Materialien und GLSL-basierte Shader
  • Partikeleffekte
    • Partikel-Editor mit Echtzeitvorschau
    • Anpassung von Parametern mit Kurven-Editor
    • Unterstützung für 2D-/3D-Partikel-Emitter

Animationsfunktionen

  • Leistungsstarkes Animationssystem für Sprites, Modelle, GUI und mehr
  • Flipbook-Animationen: Für Sprites, GUI-Knoten und Partikel
  • Spine- und Modellanimationen
    • Blending-Unterstützung
    • Verarbeitung von Keyframe-Events
    • Inverse Kinematik möglich und per Skript steuerbar
  • Property-Animationen
    • Alle Sprite- und GUI-Eigenschaften können animiert werden
    • Benutzerdefinierte skriptbasierte Property-Animationen
    • Verwendung benutzerdefinierter oder vordefinierter Easing-Funktionen

Künstlerfreundliche Tools

  • GUI-Editor
    • Ebenenaufbau mit Text, Bildern, Pie Nodes usw.
    • Clipping- und Maskenfunktionen
    • Unterstützung für Auto-Layout und Bildschirmrotation
    • 9-Slice-Texturen, Bitmap-/Distance-Field-Schriftarten
    • Wiederverwendung von UI-Elementen mit Templates
  • Szenen-Editor
    • Visueller Editor zum Zusammensetzen und Platzieren von Assets
    • Prefab-basierte Zusammenstellung von Game Objects
    • Gruppierung von Objekten in einer Hierarchie

Physiksimulation

  • Vollständig integrierte 2D-/3D-Physik-Engines auf Basis von Box2D und Bullet
  • Statische/dynamische/kinematische Objekte
  • Formbasierte Kollisionen und Raycast-Erkennung
  • Präzise Kollisionserkennung für Tilemaps
  • Unterstützung für Trigger, Joints und Motoren

Alles mit Lua-Skripten möglich

  • Lua-Skripte
    • Inklusive Code-Editor, Syntax-Highlighting, Autovervollständigung und LSP
    • Integrierter Debugger und Variableninspektion
    • Rendering-Pipeline vollständig per Skript steuerbar
    • Typisierung mit der Sprache Teal möglich
  • Reaktiver Code-Stil
    • Unterstützung für reaktiven Lua-Stil bei gleichzeitig hoher Performance
    • Asynchrone Kommunikationsstruktur zwischen Game Objects

Cross-Platform-Unterstützung

  • Echtes Cross-Platform
    • One-Click-Deployment auf Basis derselben Codebasis
    • Steam, Facebook Instant usw. werden per Erweiterung unterstützt
    • Der Editor unterstützt macOS, Windows und Linux
    • Mobile Deployment auch ohne Xcode oder Android Studio möglich
    • Unterstützung für WebGL, OpenGL, Vulkan und Metal
  • Sehr leichtgewichtig
    • Automatisches Ressourcenmanagement, das nur verwendete Assets einschließt
    • Sprite-Atlas-Packing
    • Plattformabhängige Einstellungen für Texturkomprimierung
    • Dynamisches Batching in der Rendering-Pipeline

Performance und Stabilität

  • Deutlich kleinere Binärgröße als bei anderen Engines
    • Etwa 10 % der Binärgröße von Unity 6 und Godot 4.3 (unter Android, iOS, HTML5 und Windows)
  • Hervorragende Performance
    • Kann Zehntausende Objekte rendern (Beispiel: Bunnymark)
    • Läuft auch auf älterer Hardware und in mobilen Browsern flüssig
  • Stable-Version
    • 4-Wochen-Release-Zyklus mit 2-wöchiger Beta-Phase
    • Kaum Änderungen, die die Abwärtskompatibilität brechen
    • Engine-Abstürze treten sehr selten auf

Schneller Workflow

  • Hot Reload
    • Assets/Logik werden in Echtzeit übernommen
    • Unterstützung für drahtloses Hot Reload und Debugging auf Geräten
    • Benutzerdefinierte Reload-Verarbeitung über Lua-Hooks möglich
  • Benutzerdefinierte Workflows
    • Nutzung einer unabhängigen Build-Pipeline möglich
    • Unterstützung für Headless-Builds mit CI-Integration
    • Bibliotheken können projektübergreifend geteilt werden
    • Betrieb eines Asset Portals mit offiziellen und Community-Assets
    • Alle Daten werden als Textdateien verwaltet und sind dadurch leicht zusammenzuführen
  • Build und Refactoring
    • Alle Builds, einschließlich HTML5, sind in wenigen Sekunden abgeschlossen
    • Unterstützung für asynchrones und synchrones Laden
    • Automatisches Asset-Refactoring
  • Optimierung und Debugging
    • Visueller Profiler in Echtzeit
    • Remote-basiertes webbasiertes Frame-Sampling
    • Aufzeichnung von Spielvideos möglich
    • Native Crash-Log-API verfügbar

Funktionen per nativer Erweiterung ergänzen

  • Die Defold-Engine kann mit C, C++, ObjectiveC, Java und JavaScript erweitert werden
  • Automatische Erzeugung maßgeschneiderter Engines in der Cloud
  • Anwendungsbeispiele
    • Hochleistungsberechnungen und Datenverarbeitung
    • Zugriff auf Hardware wie mobile Kameras
    • Integration externer SDKs für Werbung, Analytics usw.

Praxiseinsatz und Third-Party-Integration

  • Defold ist eine produktionsreife Game-Engine und bietet Integrationen mit verlässlichen SDKs
  • Push-Benachrichtigungen: Google, Apple
  • In-App-Käufe: Google, Apple, Amazon, Facebook
  • Game-Services: Facebook SDK, Google Play, Firebase
  • Werbung: Vermittlungsunterstützung für AdMob, IronSource usw.
  • Netzwerk: WebSockets, Nakama, PlayFab, Colyseus usw.
  • Weitere Erweiterungen sind im Asset Portal zu finden

Warum Defold?

  • Defold behauptet nicht, für alle Spiele optimal zu sein
  • Für bestimmte Spiele kann es jedoch die beste Wahl sein
  • Besondere Stärken liegen in Entwicklungsproduktivität, geringem Gewicht, Cross-Platform und schnellen Iterationen

2 Kommentare

 
viel214 2025-04-21

Es ist nicht einfach nur Lua, sondern LuaJIT, daher ist es sehr schnell.

 
GN⁺ 2025-04-19
Hacker-News-Kommentare
  • Sie haben sich für eine interessante Lizenzlösung entschieden. Mir gefällt, dass sie es statt Open Source als Source-Available-Lizenz bezeichnen

    • Man kann proprietäre Änderungen an der Engine vornehmen, ohne sie offenlegen zu müssen (anders als bei der GPL)
    • Spiele, die mit der Engine erstellt werden, können frei monetarisiert werden, und sie geben die Zusicherung, dass es kein Lockangebot mit späterem Wechsel geben wird
    • Der Grund, warum es nicht Apache 2.0 ist, ist, dass man die Game-Engine selbst nicht monetarisieren darf
    • Das wirkt fair und sorgfältig durchdacht. Lob an das Team
  • Großes Lob dafür, dass sie es "Source Available" nennen und nicht fälschlich als "Open Source" bezeichnen. Gut ist auch, dass sie die Ergänzungen zur Apache-basierten Lizenz hervorheben

  • Ich habe eine gewisse Zuneigung zu Defold. Im Bereich Game Development ist es einzigartig. Zum Beispiel ist der eingebaute GUI-Editor in Clojure geschrieben

    • Soweit ich weiß, stammt es aus einem schwedischen Game-Development-Studio (möglicherweise King)
    • Build-/Release-Tools für Konsolenplattformen können für Game Developer kostenpflichtig sein, weil die Plattform-SDKs selbst Einschränkungen auferlegen
    • Es wirkt, als würde die Defold-Organisation sich ernsthaft bemühen, bei Lizenzierung und Ähnlichem fair gegenüber Game Developern zu sein
  • Defold gibt es schon lange. Ich weiß nicht, warum das jetzt auf der Startseite ist. Wie auch immer, Defold ist gut. Community, Dokumentation usw. liegen allerdings unter Godot

    • Andere Optionen sind MonoGame (damit wurde Stardew Valley geschrieben) sowie große Engines wie Unity und Unreal
    • Das hängt stark davon ab, wie viel man ins Lernen investieren will, welchen Funktionsumfang man möchte, welche Trade-offs oder Plattformen man berücksichtigt und welche Programmiersprache bzw. welchen Stil man verwenden will
  • Ich erinnere mich noch daran, wie es sich angefühlt hat, als Unity zum ersten Mal aufkam. Es fühlte sich an, als könnte daraus etwas werden

    • Das hier fühlt sich ähnlich an. Am Geist der Kommunikation und der Sprache merkt man, dass das Team etwas Gutes in der Hand hat
    • Ein großer Punkt ist, dass der aktuelle Multi-Plattform-Export sehr umfassend ist. Eines der größten Hindernisse bei Godot war der Konsolen-Support
    • Mein einziger Kritikpunkt war, dass nur Lua unterstützt wird. Mit C# wäre es noch interessanter gewesen. Aber immerhin ist es nicht wie bei manchen Engines ein vollständiges Neu-Kompilieren in C++
  • Es gibt eine verwandte laufende Einreichung. Sie handelt von einem Spiel, das mit dieser Engine in 60k LOC Lua geschrieben wurde

  • Ich habe festgestellt, dass es nicht in Nixpkgs ist

  • Ich würde gern einen tiefergehenden Vergleich mit Godot in Bezug auf die Funktionen sehen. Zumindest bei den 3D-Fähigkeiten scheint Letzteres deutlich weiter zu sein

  • Ich habe diese Engine vor ein paar Jahren verfolgt. Eine von King entwickelte Game-Engine, die sie freigegeben haben, nachdem sie nicht mehr selbst hineininvestiert haben

  • Im Vergleich zu Löve 2D frage ich mich, worin genau die Unterschiede liegen, abgesehen davon, dass Defold mit einer IDE kommt. Defold scheint mehr Plattformen zu unterstützen, aber das Paketieren von Spielen für verschiedene Konsolen kann mit sehr proprietären Abhängigkeiten verbunden sein