| Defold | |
|---|---|
| Original authors | Christian Murray, Ragnar Svensson |
| Developer | Defold Foundation |
| Stable release | |
| Written in | Lua,C++ |
| Middleware | Box2D |
| Operating system | Windows,macOS,Linux |
| Platform | Windows Linux macOS HTML5 iOS Android Nintendo Switch PlayStation 4 PlayStation 5 |
| Size | 300 MB (Editor)976 kB (Build) |
| Available in | English |
| Type | Game engine |
| License | Defold License (Source Available)[2][3] |
| Website | defold |
| Repository | https://github.com/defold/defold |
Defold is across-platform, free, andsource-availablegame engine developed byKing, and later the Defold Foundation.[4][5][3][6] It is used to create mostlytwo-dimensional (2D) games,[7] but is fully capable ofthree-dimensional (3D) as well.[8][9]
Defold is a downloadable desktop app, and ships with its own embeddedIDE. Defold targetsdesktop,mobile,web, andconsole platforms. Defold is free-to-use and is source-available.[4][8][10] Defold has over 30,000 users, and has been used to publish over 100 games.[11] Exported games with Defold typically use less than 100kB RAM[12] and very small bundle sizes, less than 2 MB,[13] due to the Engine's modularization and efficient core.[11][14]
Defold usesLua for scripting,[12] but also allows native extensions, written inC,C++, and target-specific native languages. Defold projects are organized as collections, which consist of a hierarchy of game objects containing in-game entities. Scripting between game objects is handled using themessage-passing paradigm, which allows scripts to intercommunicate incall-response andevent-based models.[15] Defold's IDE natively supports in-editorGit tracking.[16][17]
The Defold editor can be run on three platforms and natively supports targeting eight platforms.[4] Defold supports exports for:
The editor is currently supported on:
Users communicate with the engine via aLuaAPI.[15]LuaJIT is used on all platforms except HTML andjust-in-time compilation is enabled on permitted platforms. Users can extend the engine usingC,C++,Java,Objective-C, andJavaScript for platform-specific or more performant code. In addition, the community maintainsTypeScript[20] andHaxe[21] bindings. Scripts areplatform-agnostic.
The editor includes a visual scene editor,debugger, asset management,tilemap editor, and all templates required for bundling the game.[15] Newer versions support hot-reloading, to make changes to assets and scripts without rebuilding the project.
The render pipeline can be customized via a render script API, which can be translated intoOpenGL,OpenGL ES,Vulkan,[22] orMetal (viaMoltenVK) depending on the user's needs. Shaders can be written inGLSL for variouspost-processing effects.[15]
Defold has support for extensions, which are plugins that extend the engine, where users can integrate auxiliary solutions into their projects. There are libraries for simplifying game systems, interacting with hardware, and integration with third-party software. Both the Defold Foundation and the community host their extensions on the Defold Asset Portal.[23]
Defold was created in 2008[24][25] by Christian Murray and Ragnar Svensson[4][26] As a side-project while they were working atAvalanche Studios, and later as a full time business before being acquired byKing in 2014.[4] Defold was developed and used internally at King for a few years before the decision was made to make Defold available to developers outside of King.[8][27] The announcement and release of Defold as a free to use game engine was made at the Game Developers Conference in San Francisco in March 2016.[28] Some mobile developers expressed concern about King's long term intentions for the engine, as well as the lack of a clear business goal.[29] Development has continued with bi-weekly[12] incremental releases of the engine and editor, with a major milestone being the release of the new editor in 2017.[14] Defold was nominated for best engine in the 2018 Develop Awards, the 2018 and 2019 Mobile Games Awards.[30][31][32]
In 2020, the Defold Foundation was established to oversee the development and stewardship of the engine, ensuring its independence from any single entity.[4] In the process, the source code for the engine was made public.[33] King released the source on GitHub as open source game engine, but community of developers questioned the choice of license, as it was initially unclear. Many assumed it was released under anApache 2.0 - popular open source license. However, King had used a custom license that prevented commercialization of the Defold editor, so that Defold would always remain free for developers to use, calling into question whether it could be considered open source as defined by theFree Software Foundation and theOpen Source Initiative.[10][5][34] Shortly after, Defold added support for Nintendo Switch target platform exports.[35]
Defold is released under the "Defold License", derived from the Apache License, Version 2.0. The engine is "source available" and developers can access the engine's source code on GitHub.[3] The "Defold License" license permits any use of the code except for the sale of the Defold engine itself, but games made can be distributed freely, without royalties or restrictions.[34][9]
The Defold Foundation is funded entirely by community donations and corporate partnerships.[3][36] The Defold engine is maintained by both the Defold foundation and open source developers.[37][38][39]