Some question about Defold Engine

Hi,

So our studio is going to make a new game (2D, mobile). After last year drama of Unity, we are now evaluating some engines and frameworks so see if there is something better on the market. After a few weeks trying out Defold, here is some questions I hope you guys can help me with.

  1. In Unity, the play-in-editor mode allow me to pause the simulation, click on some object and see their data in runtime. Does Defold has something similar to that workflow? I do know about Defold debug tool for code, but, for example, my character fires 50 bullets, and the 42th bullet moves a little bit weird, so I want to check its movement data, without toggle debug and wait until the debugger stop at the right bullet. How do I do that?
  2. Our next game is going to use bezier spline a lot, but as far as I know, the engine does not support spline and there is only extension can help with that but is abandon for a long time. Is there any good solution or we have to write our own spline tool in Defold?
  3. In Unity, you can create an animation for material’s properties. In Defold I can only find script animation option, and that is pretty limited. Is there any solution for that problem?

These are the biggest problems we are facing with Defold right now. I really like the simplicity and the performance/file size/build process of Defold, but these problems are critical and non-negotiable so I hope you guys can help me answer or solve these issues.

2 Likes

We do not have anything similar built-in I’m afraid. You can build these kinds of in-game visualisation tools yourself with a little bit of effort. We provide a C++ API to traverse the scene graph. I have a simple extension which can surface the data to Lua: GitHub - britzl/extension-scene-graph

You can combine the scene graph information with something like DearImGUI to create your own overlay or node tree. Example:

Correct, there is no built in spline support. Is the extension you are referring to Hypertrails (https://defold.com/assets/hypertrails)? It is not abandoned as far as I know. What makes you think that?

We support property animations with easing functions applied to the tweens. What kind of animations are you looking to create? Could you give an example?

5 Likes

Thank you, that looks exactly like what I need, so I will try to dig a little deeper.

So we gonna do a game with Zuma Deluxe mechanic, therefore we need a spline tool which can draw the spline on the screen and sample it,… HyperTrail is not the extension I’m talking about (it only draw trail, not to setup a spline), but DefGraph. Its last update was 2 years ago so I consider it not supported anymore. To be honest DefGraph does not really offer what I’m looking for so maybe I have to write a spline extension if I want to use Defold :sweat_smile:

Alright so after asking around on Reddit and some Discord servers, here is the sum up of my animation problem Keyframes and Curve Editor

But if it’s considered done, why update it for no good reason?

Also, it’s possible to use conditional breakpoints + eval:

2 Likes

To me the extension looks like version 1.0 at best, barebone visualization, hard to control and edit, the API is not really that good, still has a lot of space for improvement. The author also did not post anything new for 2 years as well, both here and Github, so that looks like an abandon extension in my book. That doesn’t mean the extension is useless, just that if I want to use it then I am on my own.

Thanks! I knew how to use debugger with conditional breakpoint, but didn’t know that you can print variable in console while the debugger halt the game. Nice tips!

1 Like

Of course, further inspection (as you say) should reveal if an extension is functional or not.

Well, I was speaking only to this. We often see users say something is abandoned just because there is no activity. In fact, no activity might mean its considered done.

2 Likes

Doing this was a real education about what our scene graph truly looks like!

In theory, could the dmGameObject API used by extension-scene-graph be used to modify objects as well as inspect them?

Possibly. @JCash is reworking a lot of our APIs to make full game development possible using C++.

Great! When will this be ready for open beta? Maybe this year?

If you refer to the expanded C++ SDK, then yes, it will be available in a month or two. It is actively being worked on so that we have a stable C API from which we can generate C++, C# or any other compiled language.

2 Likes