Defold and 3D Support - Discussion

As a 2D fan, I kind of agreed with the first post and was tempted to chime in accordingly. I did however think there was some nuance I was probably missing, and so I refrained. I think @Pkeod has provided that now.

While I am personally unlikely to use them, 3D features that spice up 2D games make sense. 3D features beyond that make less sense, but if they’re funded by corporations that make the Defold project thrive, then I’m supportive.

Like has been stated, Defold has always been 3D and the devs have made it clear that they aren’t competing with Unity and Unreal. I trust they know what they are doing.

That said, I agree with @WhiteBoxDev 's point number 2. My standard blurb about Defold when asked includes the phrase “it’s technically a 3D engine but it’s not the common way of using it” and I think that’s a fair point to make to newbies.

11 Likes

Thanks, we appreciate the feedback from you and others in this thread!

True. This is not our goal, and it never will be. We will not compete with Unity, Unreal or perhaps even Godot in the 3D space. It is much too crowded and fiercely competitive. I have said this numerous times here and elsewhere.

I agree. We are definitely seeing more interest in 3D. I believe a lot of this comes from the release of the Mesh component in Defold 1.2.169, released almost exactly one year ago. The mesh component is one of those low level but super flexible components that can be used for so many things. It is a perfect example of the kind of building blocks we prefer to provide. It is not super easy to use but it opens up sooooo many opportunities for cool 3D and 2D features.

I honestly can’t understand what you are basing this on. The Mesh component was released one year ago. I can’t think of any other feature released in the past year that has focused on improving 3D support. There was a recent contribution by @aglitchman to fix custom 3D convex shapes but I can’t think of anything else.

Are there really that many examples of this? The only thing that comes to mind is @Epitaph64 who struggled quite a bit with his Unexplored Territories game.

Other developers in our community with quite a bit of experience in game dev, such as @aglitchman, @Dragosha and @dlannan seem to take the features we do provide (mainly the mesh component) to heart and create really amazing things with them. I’m not sure if they struggle to build their 3D visions in Defold, but from my point of view the process seems fairly painless.

Yes, it would be a pretty big undertaking to create this in Defold. It is not something I’d recommend unless you’re a seasoned game dev with prior experience building 3D games. For a beginner who knows very little of 3D game development it is not advised to use Defold.

BUT I am also extremely sceptical of a template project such as the one you are referring to. It sounds great when you read the label on the box, but is it actually something that will hold up in the long run? Can it be used in production or will you have to spend a lot of time patching and fixing up things?

Yes, this is our main focus. But it won’t be our only focus. We will spend a small portion of our time to improve the 3D capabilities we have and to come up with the next “mesh component feature” that will give Defold developers another low level but super flexible feature that can be used to build cool things (in 2D and 3D).

Are we really encouraging users like this? I think we are usually pretty clear on the messaging around the capabilities of Defold and it is definitely not our intention to mislead anyone. And I appreciate if you call me out if I get too excited about 3D! And I do get excited when I see developers create stuff like this:

17 Likes

Hi, I think this an interesting discussion and I have maybe a different view about Defold and I hope people find it useful.

Firstly, I agree entirely with @Pkeod and @britzl. Defold is, in its own right, a 3D rendering engine - not a 2D one. And Defold does do well to stay a 2D_game engine. Please notice the emphasis on rendering and game notation of the engine type.

For me, Defold is something a little special, and I think people need to understand why it not easily compared to Unreal Engine, Unity or similar.

Defold is an open framework and this is very different to a closed source game engine. Godot is somewhat comparable, but again I think its in a different space than Defold (for a number of rather complex reasons which I will explain).

Defold really has advanced and unique capabilities:

  • You can change the source and build your own Defold to suit your needs. This is important if you need to customize for targeted solutions - 3D games and 3D simulations are exactly that. You never get exactly what you want with a generic system. You always end up buying support from Unity3D or Unreal if you need to do serious platform development. This is not the case for simplistic and targets solutions that already work within these systems.
  • It is one click build on any supported platform, from Win, Linux and OSX. This is unique to Defold. There are some that do similar things, but none do one click builds without SDK installs. And (imho) this is THE most powerful feature of Defold by a mile. Do not under-estimate this feature, it is going to be important for Defold going forward and it heavily relates to the editor, plugins and feature sets like 3D.
  • The Defold community is inspiring. There are so many kind hearted and wonderful people here on the Defold forums and discord. This is critical in an open framework. And it is very reminiscent of the early days in Unity3D forums (circa 2008). Again, this cannot be understated. So keeping these forums open, active and a little controlled is highly valuable to long term development progress.
  • 3D is a feature not an application. Critically its a rendering feature. Under the hood, Defold is fully 3D capable (see my repos) and it should not be a priority to make the editor fully 3D capable. This would be a grave mistake in my opinion. Every implementation of 3D for a game, app or other use will be different so it is far better to have a 3D capability that people can utilize as they see fit rather than build an entire system with 3D interfaces that then need to be extended and maintained and provide complete generic capability for everyone. A quote I like to use for this (not sure who it is from) - “If its good for everything, then its good for nothing.”.
  • Native plugins are your friend. If you want 3D, then native plugins are the beautiful way forward. Imho, this is probably going to be the best (and most likely) way the 3D systems will flourish in Defold. I have been able to implement cross platform 3D simulation and gaming within such plugins with relative ease. Even compared to Unity3D or Godot, I was stunned to see how quickly I built a complex shader working in 3d (sky / cloud sphere rendering) and a simple fps as well. Building a gltf loader for dynamic asset loading was also very easy (less than a week)… so it shows the power of 3D within Defold is already there.

I think what is happening with many peoples ‘need’ for 3D features is they are new to 3D development and want all the facilities of Unity3D within the Defold editor. This should not be something people should ask for nor should they expect it. Again, its clear to me that Defold is an open_framework that has a 2D game engine focus. If you dont understand this, then I think maybe you need to spend some more time learning the internals of Defold. Knowledge is power.

It also concerns me that many people are “asking” about 3D capability in Defold, but are not doing a simple search in github or forums to see all the amazing 3D work people have already done. If you dont want to spend the effort, then I recommend moving onto an engine that works at a higher level rather than hassle the brilliant Defold contributors.

And my last point. Please, please, please take note of this paragraph. Defold and the people working on it have made something very special. And I have been in this business (games, simulation and networking) for a long time (20+ years) and I havent seen anything as powerful as what these talented individuals have come to together to make. Make no mistake, I believe Defold is going places. But before you try to coerce it in one direction or another, understand it. Understand what Defold is, how it works, and the amazing features it has. It is so flexible and expandable I am utterly convinced that Defold is far from just a 2D game engine already… :slight_smile:

24 Likes

I don’t know why when we talk about 3d games, people’s mind points to AAA console/PC games.

I never tried 3d game with Defold but I think it is close to be a proper “mobile 3d game engine”. I think just few points are missing to be the same category as BuildBox (that buggy engine… at least with Defold we have a solid core base). Maybe that’s the direction that Defold dev team is taking…?

7 Likes

Just a few thoughts
Like stated on the last roadmap the defold team have their priorites based on stakeholders. Take a look on Community requests. If people are interested in 3D is pretty normal to get a little more of attention but that doesn’t mean that the Defold team will stop whatever they are doing to focus on something else. Mostly because they still got the Defold vision there. The Defold team have their own principles and ways to do stuff. They know what they are doing and what Defold is capable of.

I really like Defold. Sometimes I make a small prototypes using other engines but the Defold’s workflow is out of this world. Yeah, if I could make 3D games (easy to use) with it would be awesome. And I only need this level of 3D hehe:

Edit: what are the core 2D features that are still missing in Defold?

9 Likes

A lot of this discussion is pretty vague. If you see some language about 3D support on the website or forum or anywhere “official” that you think is misleading, you should just point it out specifically, and I think the Defold team will happily fix it in a matter of hours.


My own viewpoint: If I were to make a 3D game right now, I would use Defold.

I don’t have delusions about it’s 3D capabilities. I don’t want all the fancy features of other engines, they come with a lot of extra baggage that I don’t need. I don’t think anyone comes to Defold looking for AAA 3D graphics and animation features that match UE4.

Even with it’s limitations for 3D (and otherwise), I don’t know of any other engine that—for me—is suitable for making a small, simple, 3D game. The 3D capabilities shouldn’t be advertised strongly, but the few people looking for just what it has shouldn’t be turned away too strongly either.

13 Likes

Nicely put. Its almost impossible to make a “tool” fit everyone’s needs. (Although Defold comes horribly close). But I think its more important people learn what Defold actually is, what native plugins are and what luajit is and spend time in the forums and github before drawing conclusions about capability.

Because personally, I dont think Defold has 3D limitations :slight_smile: … Would people say OpenGLES has 3D limitations? (Of course not), and you have access completely to it, so… But, the Defold editor is what many people confuse as being all of Defold, and that has simplified 3D capabilities - thats the tool, for the tool is limited in 3D. Sometimes concepts and wording matter I think especially when discussing capability.

And like you @ross.grams I would not hesitate to use Defold in a 3D simulation system right now (In fact we are and its a joy!). I look forward to everyone’s insight in this discussion. Its important that people contribute here their expectations and ideas. Its how the Defold team and others can gain understanding into what people are really wanting when they say I want 3D capabilities.

4 Likes

This is a very poor assertion. If developers wanted to use raw OpenGLES, they wouldn’t look twice at Defold. They’d just use OpenGLES. Simply offering an underlying 3D library which can be used on its own is not the same as offering utilities for making 3D development easier as part of an engine.

But, the Defold editor is what many people confuse as being all of Defold, and that has simplified 3D capabilities - thats the tool, for the tool is limited in 3D.

There’s no reason users should have to dig into the engine’s source code to use its 3D capabilities to a greater extent than what the editor offers. That would be a failure of a product, and certainly nowhere near user-friendly.

Defold is an open framework and this is very different to a closed source game engine.



2

Sounds like a game engine to me.

3 Likes

Indeed what you say is correct. It is a game engine. You however are referring to a 3D feature set not a “3D” game engine. The title of this thread is “Defold and 3D support”.

To be clear, 3D features are usually related to a rendering and auditory capability and a toolset capability which can be a hugely broad discussion. Everything from GIS, Raytracing, Realtime Rendering, Animation, 3D positional Audio, VR/AR, Holographics, Haptics and so on… its a big field. I think constraining your use case will help in understanding what you think is missing.

All of Defold’s rendering (under the hood) is 3D. As @Pkeod pointed out. It already has complete 3D support. What you are referring to is 3D tools and 3D high level interfaces - ie editing tools and api’s. And as everyone has mentioned Defold doesn’t support 3D editing well. But this does not make it unable to be used for 3D applications.

OpenGLES is a toolkit and api as well. And yes you could just use that. However, Im assuming you know about and understand native-plugins in Defold. With OpenGLES in a native-plugin you can use all the 3D you want within the scripting of Defold objects, and I often also use properties in Defold objects to set and call 3D features - so it is quite easy to use 3D, its a matter of just spending time learning how to do it.

For me (which I have a background in 3D) I found getting a 3D scene up and running in Defold very easy and I understand for newer people to 3D this may seem difficult. What I would suggest is to visit the tutorials (there are example projects and samples for 3D) and read all about the great snippets on the forums for 3D. Try loading the 3D sample, and then pressing build - you should have a 3D scene.

The images posted are not really relevant to 3D Support. And nor does Defold state that it is a competing 3D engine - nor do people even say that here - which is why I find many of these discussions a little weird.

Also, if people want to make their own 3D Defold, then whats stopping you? The source code is there… go nuts?

Rather than complain about missing “scope” like 3D. State clearly what you would like to seen in 3D and if its not available, I’ll see if I can make a little sample for you (within reason of course :slight_smile: ).

But more importantly, the statements above are powerfully true.
“The Ultimate Game Engine” - for me, shit yes.
“No setup” - this is so utterly amazing… I love it. look at other engine setups? (Ive used dozens of engines commercially for two decades)
“Truly cross-platform” - I cant say enough about this. One click build to any platform is insanely good.

So what specifically is wrong or would you like to see?

10 Likes

My take on 3D in Defold is that using 3D models can greatly enhance a 2D game. I’m working on a 2D game now in which most game world objects are 3D models. It allows for smooth rotation of objects that would otherwise not be possible (or using a lot of texture space with individual sprites).

In another 2D game I’m working on, the camera is slightly tilted so that more of the world ahead of the player is visible, making it easier to navigate the 2D space.

In short, I see 3D in Defold as something to complement the 2D, not to compete with it.

23 Likes

I like combo a simple 3D perspective with 2D textures and sprites, it makes a final picture slightly different from other 2d games.

video: https://twitter.com/dragosha/status/1403287532004122626

+1

27 Likes

What would happen if you made a game like brawl stars today? I mean, how is defold for simpler games, not aaa?

This game looks kinda similar to brawl stars and is made with defold:

So 3D games are definately doable

12 Likes

I am pretty happy with how this thread turned out. Lots of interesting takes on 2D and 3D in Defold. Sounds to me like most agree with the idea that the 3D elements are a much appreciated supplement to some otherwise 2D games and that small improvements and community additions are the way to go. Some of the screenshots posted here were also neat to see. :slight_smile:

9 Likes

Has anyone been building 3D hypercasual games with Defold? I’m talking about this kind of games:



At some point I’d like to develop some of those, but wondering if I should invest in learning another engine (Unity, Godot?) or if it’s perfectly doable using the 3D features of Defold.

1 Like

Well, I personally think that 3D support is little decent (Well, at least to enhance 2D games in impressive way).

Now it may be difficult to import 3D models to Defold without many hassles, unless I export them as pre-rendered sprites (Can be cumbersome… But, could be the best solution) or as COLLADA file.

Still, there are some limitations to workaround…? Perhaps extensions could solve?

2d + 3d = :crazy_face:

32 Likes

Pretty sure you could make a fairly simple little 3D game in Defold:


This is imported from the Sketchfab source and has game objects for all the elements. Build… collision… play :slight_smile:

CC Source: quaternius (@quaternius) - Sketchfab

15 Likes

“Paper” 3D
In the editor:


Runtime:

21 Likes

Try it here:

11 Likes