What is Defold's focus moving forward?

I was just thinking about Defold as a whole, specifically on its beginnings as a mobile-focused engine and its claim as “The best way for you to create 2D games for web and mobile”.

With projects like Chemaria, and Fates of Ort it is clear that Defold can already be used for the creation of larger desktop titles.

Does the Defold team wants to continue pushing the engine towards web and mobile, or are desktop/console targets starting to get a focus?

  • If web and mobile, what steps are being made to make Defold the best solution?
  • If desktop/console, what major features does the Defold team have in mind to pursue this goal? Would this mean we should look forward to more features out of the box in Defold, like a robust native GUI system? Or is this the eternal purpose behind extensions like Dirty Larry and Gooey?

Does the Defold team want to have a place among the all-in-one engines like Unity, Unreal, and Godot?

  • What is unique to Defold?
  • What does the Defold team think they can do better than other engines?

Just some thoughts I have been having, and what better way to discuss it than reach out to those who care most about it, the community and developers behind it all. :smile:

1 Like

With the small engine size, memory optimized design and very short startup times Defold really is a good engine for web and mobile games. We do however also recognize that Defold can be used to create desktop games as well. We do not wish to exclude one or the other, but they really are very different platforms with requirements that in some cases can be conflicting.

We will continue to care a lot about the engine architecture and stay away from engine bloat. We want to keep the engine small and performant. We have several things in our roadmap to increase performance even more and in some cases reduce engine size further.

We have also recently made a big push to modularise the engine. Facebook, Push, WebView and other systems are moved to native extensions (In-App purchases will soon follow). This will ensure that we can focus on the engine core while at the same time encourage contributions and continued improvements to the extensions.

There are some basic things such as keeping the engine process running while in the background or while the window is being resized. And then there are larger and more complex things such as improved 3D support and console support.

We have no plans to compete with Unity and Unreal on every point. If we try to create an engine that is a decent choice for all kinds of projects then I believe we will no longer be an excellent (or maybe even best) choice for some projects.

Godot is a bit different since it is an open source project where I get a feeling that it sometimes lack direction and focus. I am really impressed by what the Godot team has achieved though and for us to compete for the same users as Godot we would have to become an open source project. The topic of open sourcing Defold has been discussed many times before but I have no news to share at the moment.

11 Likes

If a problem can be solved in an unambiguous and easy-to-understand way, we’re all for that.
Not all systems work that way though.

Areas like UI is extremely difficult to create in a fashion that every user likes. How should scrolling/clicking/dragging/animating work etc. We cannot suit everyone.
In situations like this we opt for a solution that lets our users create something that works for them.
We’re a small team, and have to work as smartly as we can in symbiosis with our users.

Native Extensions/Libraries is another good example where we just couldn’t keep up with the demands of our users.
So we opened up the possibility for our users to unblock themselves. And it’s been a great success I’d say.

So, going forward, we’ll continue to try to strike the balance between performance (memory/speed/engine size), ease of use and modularity.

8 Likes

This reminds me that @sven actually played around with a native extension for ImGui . This is a good example of an alternative way of providing a more advanced GUI system in Defold.

4 Likes

We are currently discussing some additional functionality for extensions to get callbacks during pre and post render (which makes it possible to add for example an dear-imgui extension). :+1:

If someone is interested, here is dear imgui used in a Defold project: https://forum.defold.com/uploads/default/original/3X/3/e/3e66b60a06f7d5229d0513675c929d2f00f37431.mov

8 Likes

This would be super useful for productivity especially for in engine level editors. :sunny:

2 Likes

I personally love the fact that the engine is not bloated and the interaction workflow is very quick. I wouldn’t change that for anything else tbh.

What sometimes feels is not progressing as well (and fast) is the editor: it works really well as a simple interface on the various data structures of the engine, but I think it’s missing some more “fancy” ways of manipulating that data.
For example easy alignment of game objects, components and GUI in the viewport, relative to the world or other objects or autotiling for tilemaps.

On a side note, I think cameras and GUI elements are some of the more recurring questions in the forum. There are solutions but probably users see them as 3rd party. They work great but it’s maybe a matter of perception on their side.
What about some Defold official modules? They won’t have to cover every use case, but would probably be good enough for the majority of users.

5 Likes

I personally see all @britzl’s extensions as official! :grin:

Also, there are quite a few official Defold extensions already:

7 Likes

This makes a lot of sense. This is definitely one of the draws to Defold for me is the focus on extensions and minimizing the engine as much as possible without being painful.

It probably pushes away some people out of fear when trying to accomplish something more complex that other engines have native solutions to, but I think in the end Defold allows for a more custom and specific experience in making a game.

2 Likes