Original author(s) | Christian Murray, Ragnar Svensson |
---|---|
Developer(s) | Defold Foundation |
Stable release | 1.9.4[1]
/ 21 October 2024 |
Repository | https://github.com/defold/defold |
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 |
Defold is a cross-platform, free, and source-available game engine developed by King, and later the Defold Foundation.[4][5][3][6] It is used to create mostly two-dimensional (2D) games,[7] but is fully capable of three-dimensional (3D) as well.[8][9]
Defold is a downloadable desktop app, and ships with its own embedded IDE. Defold targets desktop, mobile, web, and console platforms. The development model of the maintainers (Source-available) keeps the engine free to use, because it is maintained by its community.[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 uses Lua for scripting,[12] but also allows native extensions, written in C, 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 the message-passing paradigm, which allows scripts to intercommunicate in call-response and event-based models.[15] Defold's IDE natively supports in-editor Git 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 a Lua API.[15] LuaJIT is used on all platforms except HTML and just-in-time compilation is enabled on permitted platforms. Users can extend the engine using C, C++, Java, Objective-C, and JavaScript for platform-specific or more performant code. In addition, the community maintains TypeScript[20] and Haxe[21] bindings. Scripts are platform-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 into OpenGL, OpenGL ES, Vulkan,[22] or Metal (via MoltenVK) depending on the user's needs. Shaders can be written in GLSL for various post-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 at Avalanche Studios, and later as a full time business before being acquired by King 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 an Apache 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 the Free Software Foundation and the Open 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]