- 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
Es ist nicht einfach nur Lua, sondern LuaJIT, daher ist es sehr schnell.
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
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
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
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
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