Defold pain points survey

Hi @Alex_8BitSkull, I’m not the person you addressed, but I can sympathize with his viewpoint a bit, so I’ll provide my perspective here as well.

First, I like Defold a lot, and have invested a lot of time and effort into it. In particular, it’s thanks to Defold and its simple render script that I’ve been able to learn a lot about 3D rendering and do some pretty interesting things. I’m a very code-oriented developer, so I never took to bigger engines like Godot or Unity, and my only other experience here is in Java frameworks like LibGDX and JMonkeyEngine. For me, Defold has been a nice middle-ground between those extremes, and I’ve accomplished more with it than any other engine / framework so far.

Regarding the engine not having many built-in things, and needing to install a lot of extensions – this can be a red flag for some developers. This has been discussed here before, but the small core + extensions approach can lead to fragmentation of the ecosystem and lots of unmaintained / half-finished extensions that can be hard to sift through. For example, a new developer who wants 3D graphics will probably have a hard time deciding which extension will best suit their needs, and will probably be disappointed if they (quite reasonably) want features like SSAO and basic post-processing filters too.

Regarding @ross.grams comment about fanboys – when new users ask / complain about missing features, I’ve felt that some of Defold’s more ardent supporters often respond in a way that comes across like “You don’t really need this feature! Or you can build it yourself! Only dummies would want this to be built in! You’re not a dummy, are you?” Of course no one literally says this, but sometimes this is the vibe that comes across on Discord and in the forums. And when I read such comments, I usually think, hey, it’s okay to just admit that Defold’s approach isn’t for everyone or every situation, and that some devs and projects might truly be better served by Godot / Unity/ whatever.

Having said all that, I want to reiterate that I do enjoy using Defold, and am pretty committed to it at this point (and your own work, @Alex_8BitSkull, is one of the things that gives me confidence in the engine, to no small extent). I realize that the engine maintainers have limited resources and can only focus on so many things at once, and they’ve been pretty responsive whenever I’ve had a specific issue. Given all the improvements to Defold over the last couple years, I’m optimistic that there’ll continue to be good things coming down the pipeline.

9 Likes

Defold does not have a built-in 2D bone animation editor
Both Godot and Unity are available
In today’s era, a 2D skeletal animation editor is an essential feature, no longer the same as 10 years ago

Implementing a full skeletal animation tool within Defold, isn’t really on our road map to be honest.
Part of our philosophy is to let other content creation tools do what they do best.
E.g. we wouldn’t implement a new Photoshop in our editor.
Same goes with animation standards. Blender/Maya is already a good setup for 3d animations, and Spine/Rive is already an industry standard for 2d animations.

If you can point to another tool that creates 2d animation formats that can be considered to be an industry standard, we’d start look into it of course. Then also, as usual, comes the question of funding.
Nothing is free when it comes to implementing a feature, and let’s not forget about supporting that feature well into the far future.

7 Likes

Godot 2d skeletal system sucks so bad, maybe you should try to use it first before saying Godot has a 2d skeletal system

It is also abandoned, no one used it

2 Likes

I realise we never shared any results from the survey so I’ll share briefly how we have worked with the survey results.

Survey results

The results were automatically gathered in a spreadsheet by Google Forms. 43 people responded to the survey. A total of 70 unique issues were suggested

Sorting by most votes

We counted how many times each issue was suggested and found that at most five people ever voted for the same issue, while most issues were only suggested by one or two people. Top 10 issues sorted by number of votes (:white_check_mark: = done, :yellow_square: = in progress):

  1. Implement an advanced text rendering system - 5 votes :yellow_square:
  2. Migrate GUI to GO - 4 votes
  3. Possible to override all properties on collections - 3 votes
  4. Setting/getting instanced attributes for models - 3 votes
  5. New function: gui.set_layout() - 3 votes :white_check_mark:
  6. True Billboards for 3D - 3 votes
  7. Design a game object picking solution - 2 votes
  8. Gamepads - use a centralised mapping database - 2 votes
  9. Introduce late/deferred update for scripts - 2 votes
  10. Get actual world position for game object - 2 votes :white_check_mark:

Adding team insights

The list was a great starting point but we did not feel that we could take the list as-is and run with it. In addition to user votes we also wanted to factor in our knowledge and vision for Defold. We started by assigning each issue a size from 1 to 5, with 1 indicating an issue which requires a very low effort to resolve while a 5 indicates a very complex and time consuming issue. We also assigned a priority from 1 to 5 (low to high) based on our own vision and the anticipated overall community need. With these additional variables we were able to calculate a new order of priority with the top 20 issues being (:white_check_mark: = done, :yellow_square: = in progress):

  1. Editor auto save :white_check_mark:
  2. Project with a large number of models with textures opens infinitely in IDE
  3. Crash when using ray casts under certain conditions :yellow_square:
  4. Design a game object picking solution
  5. Possible to override all properties on collections
  6. Setting/getting instanced attributes for models
  7. Add orthographic camera projection settings :white_check_mark:
  8. Gamepads - use a centralised mapping database
  9. New function: gui.set_layout() :white_check_mark:
  10. Introduce late/deferred update for scripts
  11. Sound: Add “start_time” (or “offset”) parameter to sound.play() :white_check_mark:
  12. Show Functions list in Outline
  13. Easy seaching for keys in input binding
  14. Expand the object limit to over 32,000 instances :white_check_mark:
  15. Control sort order of rendered primitives :white_check_mark:
  16. Show and write profile counters when the engine is shut down
  17. Get actual world position for game object :white_check_mark:
  18. Modify particle fx emitter/modifier parameters through code
  19. Undo in the editor
  20. Playing audio causes a hard crash

As you can see there is quite a bit of overlap between the top 10 community votes and our own curated list, but also a number of issues that were not high on community votes, but where we judge that the importance and impact of the issues is high.

Next steps

We will continue to work through the list of issues and try to deliver the fixes or features on the list in the coming months.

19 Likes

Hi,

I am still new to Defold, but love it so far.
I can code, but never used a game engine so I started simple with GDevelop then GameMaker before going to Defold. Since I can code, I was struggling not having a real dev. language in these engines! I learn Lua with and it is great. The coding side of Defold is great.

What I miss coming from GameMaker is having some graphic tools inside the Editor.
In GM you have a sprite editor, you can just draw some images and put them in frames to get your sprite animation.
This is really cool when you are prototyping things, or quick-fixing stuffs.

In defold you cannot even have a preview of a png in the editor! You have to create your image in another software, save it, create an atlas, add your image…THEN you can see it in the Editor. This is not fast nor streamlined!

That’s a pain also building atlas when you are unsure of the image name to choose, since you cant see the image before choosing it!

When I m designing some game mechanics or systems, I like to have prototyping projects and just code. But I need to rapidly create (awfully looking) graphics to test things in context and with real defold components.
For ex. you need an atlas, a tilesources and colission shapes to design the code for a plateformer player.
Maybe you want to mess with a normal map image to test some shaders. Or test different slopes or shapes in a tileset.
Having to use another app just for editing some png is a pain.

When things works, then only I use dedicated graphics tool in the real project to integrate the system and build the really graphics.

So could we have

  1. a builtin image viewer when we click on an image asset? Supporting at least png/jpg.
  2. a builtin simple image editor like Piskel in Gamemaker, maybe even a frame by frame animation editor?

I dont use 3D (yet) so this need is 2D oriented, but maybe having a really simple builtin 3D previewer/modeler could help too.
As a dev I could then just open the editor and do all I need inside it.

1 Like

We used to have a preview on hover but that does not seem to work anymore. I’m looking into it!

We will not create one. BUT I see a future where such a tool could be created using editor scripts.

3 Likes

Yes, if we could have access to an Image API inside the editor_scripts it would open up some great things!

That’s one of the reasons I am currently writing some python scripts instread of lua right now to convert an LDTK project (the level editor) to Defold assets, because I would like to generate a tilesource (so a png) from the intGrid enums, and maybe manipulate aseprite files.
I could not manipulate images from Lua so I was stucked.

…but ok this wasnt the only reason, maybe also I am more capable in python, had Quicktype for ldtk files, and the Deftree python lib was a help :grinning_face_with_smiling_eyes:
I will publish the library when I am done spaghetting code :upside_down_face:

3 Likes

Upvote an issue: :wink:

Also, if you are working with LDtk, check out the LDtk exporter for Defold by @TheKing0x9, maybe some of this would be helpful to you already:

Please make fetching library dependencies optional. It’s absurd to fetch libraries each time when opening project and fetching when bundling project.

5 Likes

This is the feature request btw: Make autofetch dependencies optional · Issue #9549 · defold/defold · GitHub

2 Likes