This roadmap outlines our long-term plans for the Defold engine and editor. The list of planned new features and improvements are in no particular order.
Resource properties will allow developers to define new property types referencing component resources such as atlases, sounds, models and many other things. This opens up a whole set of new possibilities for dynamic content creation.
Multi-texturing will greatly simplify the way additional textures are fed into shaders for various effects that are currently very hard or impossible to do in Defold.
We’ll bring our system for native extensions out of alpha and into a mature beta or stable state. This means better integration of app manifests and configurations into the build pipeline, as well as improving the stability and speed of builds. We will also use the native extension system to extract non-vital parts of the engine core into native extensions, thus giving users even better control of what to include in the engine core, as well as opening up for community collaboration and improvements.
The audio support in Defold is pretty basic and unfortunately new audio features have been given low priority over the years. While there nowadays exist very capable audio extensions in our Asset Portal it is our ambition to improve on the native audio capabilities of the engine.
Metal and Vulkan
With the upcoming deprecation of OpenGL in iOS 12 and MacOS we will start looking into alternative rendering pipelines. For iOS this will mean the transition to Metal. We will also look into the feasibility of supporting Vulkan as an alternative to OpenGL on other platforms. This also means that we will look into what this means for materials and shaders and the current status of GLSL.
Improved 3D support
The Defold engine operates fully in 3D, although tools and APIs are geared towards 2D games. Our plan is to start improving the 3D support in the engine. We will do this through improvements to the vector math lib, increased 3D performance, frustum culling, custom vertex formats, dynamic mesh creation and geometry instancing to mention a few of the things we have planned. The editor support will also be improved with support for better viewing of 3D content, as well as in-editor geometry creation. This will be a long running task with new features being shipped in stages during 2018 and 2019.
Our current set of supported platforms have remained the same since the introduction of Amazon support almost three years ago and the more recent additions of sub-platforms such as Facebook Game Room and Facebook Instant Games. The stance which we’ve taken regarding the addition of new platforms has been to explore new platforms when there’s been enough requests from our community. We are now reevaluating this decision and will start to look into the effort required to port Defold to one of the current gen game consoles.
We will also look into running Defold iOS builds on the iOS simulator. Even though this won’t replace testing on actual hardware it will be of help to developers with limited access to iOS devices.
Google Play Game Services
Google Play Game Services support has been a long requested feature of Defold. Support for will be added as a native extension.
Bug fixes and improvements
We will continue our ambition of delivering a stable and bug free editor and engine with the clear goal of no hard crashes. We will continue to work together with the community to identify, prioritize and fix bugs and crashes. During the first six months of 2018 we fixed 232 reported engine bugs and 265 editor bugs, not to mention all of the new features and improvements. If you’ve found a bug or have a feature suggestion please get in touch!
We constantly work to improve the performance of the Defold engine and editor. For the engine we focus on maintaining a low runtime memory footprint as well as a small binary size. We have also identified several areas where we can improve the speed of the engine. Besides things such as optimizations of transform updates, url resolutions and other engine internals we will also improve HTML5 builds through the use of web assembly. For the editor we’re in a slightly different position where we, while we think of and care about memory and CPU usage when creating new features, don’t feel that these things have the same impact and importance as for the engine.
Unified build pipeline
While the migration to the new editor can be considered almost fully completed (some very minor differences still exist) we still only provide the old build pipeline (bob.jar) for users building from the command line. The new build pipeline in the new editor is better and faster than bob.jar thanks to some really great work from the editor team with optimizations and parallelization of tasks. We want command line builds to benefit from these improvements as well and will extract the build system into a standalone tool suitable for command line use.
Improved undo workflow
The current undo functionality in the Defold editor works on a global level, meaning that there’s a single list of changes. When an undo is performed the most recent change in the history will be reverted, regardless of which editor tab that is open. This has caused some confusion in the community and because of this we have decided to revise the undo workflow.
The ability to extend the editor with custom tools will be one of the next really major milestones for Defold during 2019. Editor extensions will open up many new possibilities for developers to improve their workflow and integrate custom tools to speed up content creation.