Commercialization of Defold developer tools

The biggest issue is how nothing is as well integrated into the editor like Unity/Godot/Unreal has.

Defold’s camera component is still almost useless though is has gotten a little more useful recently with being able to show its frustrum in engine (afaik). We need the features of Rendercam or Orthographic to be checkboxes/whatever in the builtin default camera component. Something needs to be adopted as the opinionated standard. You shouldn’t have to use a 3rd party module to do screen to world or world to screen. This is part of solving the frustrations for new users. Onboarding is very rough and Defold asks too much of new users to DIY or hunt for solutions that should be builtin.

1 Like

I agree, but money is a good motivator when it’s done right because people need money to live. And Defold still has stigma by (irrational) open-source fanatics who do a lot of code for free (otherwise, where are all of the code contributions to the editor/engine, I don’t see them, where is the Clojure community swarming in to make Defold editor better, why don’t JavaFX people care to fix the long standing issues). I’ve done a ton of code for free for the sake of Defold but it’s all mostly just code snippets/modules, not improving the editor (which I’ve tried and gave up on because of the tech used) nor editor. I wouldn’t expect people to redo the editor’s viewport for free, add more format support for free, make an asset digestion system for free, fix the constraints on models for free. Everyone working at Defold is getting paid by the foundation. And the foundation is still motivated by the needs of the primary financial contributors to it. It’s clear to me we need financial motivations. We need a functional asset store that hooks up to an editor that makes everything important to being productive easier. The amount of useful code and talent probably would have been much higher if Defold had a functional asset store that enabled talented devs to make contributing to Defold their primary source of income. That was neglected because Defold’s motivations didn’t align with talented developers enough. Or they wanted to encourage stuff to be free, and now we live with the consequences of much lower contributions, much lower amount of devs using it, people using easier + more complete options, people moving on to where they can get paid.

2 Likes

The main repository on GitHub where the engine and editor source code is located is under the Defold License. This means that the Defold engine and editor source code and their binary products can’t be sold.

ALL of our other repositories (120 of them) have standard open source licenses (MIT mainly). This means that you can commercialize any of the 120 repositories as long as you play according to the rules of their respective licenses.

3 Likes

With the knowledge we have now I agree with you that Clojure wasn’t the best choice. But we didn’t know this 6 years ago. Hell we didn’t even know it 3 years ago when we made the Defold source code available. We know it now, and we have a plan to make more of the Defold editor scriptable with Lua (also new visual things and widgets etc), but we have not had much time to work on it. We will start this work fairly soon (Q3 is my best guess), but it will also take time until we get to a point where we are happy. It is likely that it will be @vlaaad working on this feature.

We know this. In 2016 we had a team of 10 developers working hard to make Defold a great choice for 2D games. We do not have that now. We have a smaller team, and we have now focused mainly on the engine part of the 3D support in Defold. Defold has been massively improved from an engine perspective when it comes to 3D features. The editor has not. Our recommendation until it is better is to either accept that this is the current state of things or use another game engine. We can’t wave a magic wand and then all of a sudden have the tooling of Blender, Maya, Unity or Unreal. It will not happen at that pace, if ever! Since we are a small team we’ve taken an approach to rely on external tools for content creation. Use FMOD for advanced audio, use Rive or Spine for 2D animation, use Tiles for advanced tilemap editing, use Blender for 3D level creation. And then export or use the output from these tools in Defold.

Perhaps. The Defold data formats are open (protobuf) so any tool that can generate these files can be used directly as external tools for Defold content creation. Do you know of a good 3D scene editor that is a stand alone things that could be made into a Defold scene editor? Hell, maybe you could use Unity and then have an export script to export Unity content into Defold? Anyone can do this, but we do not have the bandwidth to do it.

Yes, absolutely. Using glTF files in Defold should make use of everything supported by the format, including materials, textures etc.

This is not a priority at the moment. Blender, Maya, 3DS and every other tool can export to glTF. It is effortless to make the export. It is not effortless for us to support all possible 3D formats under the sun.

Totally agree. We do have feature requests for this already.

We know this. We have already planned for several improvements this year. But it sounds like you are also expecting everything at once. It will be @mats.gisselson working on this feature.

Yes, this is one of the things @jhonny.goransson and @AGulev would like to improve on. Most likely soon, but Jhonny is tied up with the work on instancing and skinning at the moment.

I agree, but I’m not entirely sure we would have received the amount of open source contributors that Godot has anyone, due to our prior affiliation with a big games company. We’re not a grass root kind of project from the start. Also, our 120 fully open source repositories are receiving some contributions, but not that many. Why is that? Don’t get me wrong, I would love more contributors, but there’s something frightening about the maintenance burden Godot has. I’m not envious of it to be honest.

As long as you don’t sell the codebase in github.com/defold/defold I don’t see a problem. You can build tools that use the same data formats as the Defold engine, and you can sell those tools. Please go ahead! (I am not a lawyer, please get legal counsel of your own). Note: King can’t do anything about anything Defold related anymore. The Defold Foundation board can, and one person from King is on the board (ie in minority), but that is the extent of control King has.

You can start by pinging the people involved in the discussions here: New Editor 3.0 · Issue #6262 · defold/defold · GitHub

No, this is not entirely true. The foundation income from corporate partnerships are used to hire me full time and (very recently) @ekharkunov half time. The rest of the team are getting their salaries from long term support contracts with studios using Defold. These contracts are set up between the studios and a separate consulting/service company, not the Defold Foundation.

I honestly don’t think the Defold user base is large enough to sustain Defold asset creators. You would need the millions of users Unity has. And perhaps Godot will be successful with their store?


Note that I’ve mentioned four out of six team members by name above. There’s me and @JCash left. With only six people to dedicate to Defold you have to realise that we are unable to move at the pace of a company with millions upon millions of dollars in the bank and hundreds or even thousands of engineers at their fingertips. I appreciate your passion, but it feels like you are somewhat ignoring the realities of the Defold team and expect us to do more than we have the capacity to do.

16 Likes

This is a chicken and egg problem. The availability of resources by clever devs makes it a more attractive tool. Defold community has made a lot, but it could make more. And so far, since Defold editor has not been ready for editor extensions, there has been no meaningful community contributions there except for people making completely external helper tools. Not asking Defold team to make an asset store, but if someone makes a 3rd party editor they should invest in making both an editor asset store and general asset store. Would I rather pay to get an physics polygon editor natively inside of an editor, or to buy a 3rd party app that isn’t even directly affiliated? I would want the one that is tightly integrated as long as it was good.

Not at all. This is a call to action for others not Defold team. If Defold team can address more of it that is great, but I see that it needs to be the community that gets involved more, and embraces making commercial tools so that the motivation is there. There are huge opportunities that Defold can enable. Defold is a good foundation to build on. People may get rich building if they go for it, it’s still early in the grand scheme. Godot has its own problems. People hate and distrust Unity now and use it reluctantly. Unreal isn’t suitable for games below AA. Webgames are growing again. That is where biggest growth in gaming ever will happen. Defold is the perfect tool for that. It can be tip of the spear of new gaming renaissance. It’s already great for that (and quietly out performing games made with other tools on top webgame portals), but missing crucial 3D ease of use, quality of life things that is holding it back from being the obvious choice for a bigger majority of devs.

Are the finances of the Defold Foundation public? How can we get it more money more directly? I don’t mean just giving it money, but creating systems that get it money consistently. An asset store would be able to do that, but you don’t have bandwidth to do it officially, so maybe if someone else builds one there can be an official partnership where Defold or whichever company you want gets a % of all sales in exchange for being official partner / listed on the site and so on.

2 Likes

Ok, got it. Yes, I totally hope other will build tools for Defold. We’ve seen this happen to some extent already:

No. Hmm, or maybe. We file the annual financial report with the authorities so maybe you can get it from there. But in general, no we do not share it. The Defold foundation is financially stable based on current partnerships.

The foundation would not object to such a solution.

4 Likes

I believe the vast majority of tools, extensions and libraries will come from developers that need some functionality themselves and develop the tools primarily for their own needs, and then later on make them available, for whatever reason.

Personally, I’m considering publishing some of my stuff in the future if I can do it with a low time-investment while still making it easy to understand and use for others. Presumably other developers make a similar calculation. If Defold as a platform nudges you to write modules, tools etc. that can easily be plugged into other projects, nicely coexist with other extensions, and it’s easy to publish and discover these extensions, then I believe we would have favorable conditions for the growth of an ecosystem. What the actual factors in creating these conditions, I don’t know.

Excuse my ignorance of Defold’s architecture and future plans for extensibility, but I’m reminded of how The Machinery engine’s editor did things. If I remember correctly, it was module-based, where the central module, called “The Truth”, managed the in-memory representation of the project. The various in-editor tools were implemented as modules that would add components to The Truth and ask it to e.g. change the position of a game object. The asset import pipeline and saving the project to file were also implemented as modules — you get the idea.

If Defold allowed tools to have access to the API of its version of The Truth, I think it would improve the quality of tools. When working against files on disk, outside of the editor, it may be harder to support undo/redo, react to unsaved changes made in other tools, or react to changes that are not persisted at all, like the camera position and zoom in the main editor view. With API access, anyone so inclined could replace the Defold editor over time with their own toolkit implemented on top of The Truth.

6 Likes

Our analog of “The Truth” is “The Graph”. This is the editor’s in-memory resource graph of the entire project. We do not have as clear of a separation between the graph and the UI and other systems which is one of the problems with making the editor extensible using for instance Lua (or Java).

6 Likes

I don’t see Clojure as bad choice for building editor applications. For eg, Penpot is also written in Clojure but there is incremental contributers to that porject. Even it’s design app there main users are designers those are not contributers to project code. So it’s oviously clojure community who are contributing.

In case of game engine, users are developers if they can’t understand and contribute to editor even fixing small bugs. There is problem with this. We have to identify why Clojure community not interested in this kind of projects to contibute to. It’s not like tomorrow editor code(Clojure) is replaced by something else even when editor have features of scriptable with lua(visual things and widgets).

This is just my personal opinion - But I hate idea of using JavaFX for editor, tech moves fast I don’t see there is future of JavaFX compare to Flutter. Flutter community is large and increasing. If we wan’t to atleast make people contribute to editor than we have to use tech that’s moving fast and worth learning. If there is need to re-write new editor then ClojureDart Project will be interesting choice.
Maybe that way editor can be bring to web and tablets also like Rive editor.

Maybe we need more docs on how to hack in editor code. Or sometimes maybe editor devs can do live stream explaining how to hack editor.

4 Likes

@Pkeod - I hear you mate. And I get your frustration. You have been a brilliant contributor and many of your points are quite valid. But (here Dave goes again) we need to check our expectations and our aspirations. And fundamentally, you are taking something specifically designed for 2D (the editor Im referring to, not the engine) and now its made a right angled pivot to be more a 3D editor.

Now, Im not sure if you have developed many 3D editors before, but I have built numerous simulation and game editors for all sorts of companies and it is a task not to be taken lightly and a task that is much more difficult if you are trying to meet a current 2D user group (and dont want to piss them off), have only a team of 6 (with maybe 2 working on the editor if you are lucky), a limited budget and user base because the 3D editor is not really ready for production use, and a forum of avid developers who are saying they want Godot, Unity3D or Unreal levels of 3D editing.

Do you see how these aspirations are all non-aligned. We need to be realistic about what can be done, and how things can be achieved, with what priorities and how to expend limited resources for “best bang for buck”. I know this sounds like a CTO talking but its important to look at it from a business aspect, because thats what you are impacting.

As always, I dont like to leave people without some positives and important notes. Lets look at some key specific benefits Defold has from an editor persp:

  1. Its not really tied to the engine (this is very good - which means we can make one!)
  2. The source is all available, yes its Clojure and I would agree, these days not the best choice, but the source is there.
  3. 90% of the 2D user base I think would be pretty happy with its current form. Imho, I think its quite brill for 2D.

So these are important to note because it means we could make a separate 3D editor without impacting Defold. In fact, imho, I think this would be the most suitable way to tackle the problem. You run the right tool for the right job.

Thus, you do something interesting. Like getting Sonys (old but quite good) 3D editor and use it to drive the data for bob. I dont see a huge problem here in fact. Its open source (Apache license) and served many big studios well in the past:

GitHub - SonyWWS/LevelEditor: The ATF LevelEditor is a powerful tool for constructing and assembling game levels. It provides a WYSIWYG interface and allows you to place objects, edit properties, edit terrain, and build game levels.

Imho, if I had spare time, this is the kind of thing I would look at trying out. Reduce all the pain points in your statements by utilizing something thats a long way towards being usable anyway.

Personally, I am extremely grateful for Defold as it stands. I really haven’t had many problems building 2D or 3D apps and bits with it (even bits for a sim). But I definitely get @Pkeod s frustration and perspective, but I just think it needs to be tempered with everyones commitment and ongoing effort.

If people were serious about wanting a 3D Editor, and would be keen on utilizing something like Sonys Editor (or similar) that would be something I could see myself being involved with. However, it would need to be organized and planned well, as many things I see these days suffers from the MVP disease that seems to have completely overrun SW development as a whole and results in a littering of dead unwanted projects everywhere.

Most importantly, I think these conversations are very valuable, so please keep having them. There is high value in many peoples ideas and comments on how to help Defold progress in a way that might benefit many.

17 Likes

Good thread.
I will keep an eye on it.

3 Likes

My only experience with a game engine community becoming more monetized was RPG Maker. There was a solo creator who released engine plugins to the public for free over many years, supported by Patreon. But then he retired, and his successors decided to monetize everything behind a paywall. I don’t know if their work was better than the originals, I just know there was suddenly a lot drama and infighting and accusations of stolen code. From then on everything they made had heavily obfuscated code to try to prevent piracy, which made troubleshooting your own issues impossible. From my limited perspective, it wasn’t a change for the better.

I don’t mean to discourage anyone from wanting to get paid for their hard work. I just hope everyone continues to be thoughtful and compassionate. When a community is small, it doesn’t take much to create big ripples.

For what it’s worth, I’ve purchased commercial software for a non-commercial game engine: the editor for Phaser. You can read the creator’s blog to see what they felt was a sustainable price for them as a solo dev.

3 Likes

The problem with Clojure is that it is being a functional language, which is imho very hard to understand, especially in a world of developers mainly used to object oriented programming, but instead advocates for immutability, which is super important in editors that operate on data all the time. Of course, there are other solutions, most conveniently multi paradigm.

The other problem is the mentioned by @britzl complexity of the graph system of the Defold’s editor.
I have a not so pleasant experience with making an editor for a complex system of data and it’s a hard task to handle on its own. Moving it to other technical platform is not an easy task and it would be a hard decision to make, also from economical point of view as Defold is utilising the current resources to squeeze as much as possible and advance Defold.

On the other hand, technical platform is just a fraction of the problem, though I think really important, because devs are not able to easily create extensions and tools for Editor that are useful in gamedev and it turns out custom tooling is very, very important in gamedev as each game has its own need.

There is no golden rule what is useful, what is important and choosing priority is always somehow arbitrary. One might say camera components needs improvement, while makers of one screen games would be totally neutral to this and would instead demand for example more comfortable GUI features.

What looks more reasonable is approach of not neglecting those single case needs, because that’s what powers the most popular engines, but obviously it’s costly.

I do agree with @Pkeod that Defold have an egg and chicken problem on scaling and somehow is blocked on commercialisation of some Defold ecosystems. This is not also particularly only negative site, because on the other hand it’s also a big plus! Almost everything related is free! But isn’t there a problem of saturation of what’s possible to be done for free, yet people are still demanding more tools and solutions to their problems in gamedev, that they would, if provided, pay for?

So, if we identify the problems, what are the possible solutions?

Community Editor for Defold (or Wefold :grin:) would have by now existed, if there would be enough interest in Defold, I think. I would make myself at least a try at making an Editor for Defold in Qt or maybe PyGUI, or JS or as an PWA (so that’s an online tool/service?), you know, something that is popular (and simple) enough to interest those wanting to improve their skills, make portfolio and contribute.

But it’s also a very hard task and would demand at best a technical leader with huge experience and architectural vision that would be able to maintain it all the time (like mentioned data immutability and general data orientation, ultra fast streamlining and managing of resources and convenient and easy to expand tooling) that is also a good strategist and marketer (this doesn’t have to be one person).

It is by now pretty established that community of Defold is mainly demanding ability to extend Editor tooling to suit their needs and I am pretty sure Defold team is aware of this and is definitely making steps in this direction, not huge leaps as we would ideally wish to have, but small steps.

9 Likes

@Pkeod is it worth putting a little vote up here (not sure if it can be added) so that the we have some stats on the amount of interest there is specifically for a 3D editor. If it is huge, then maybe Wefold + patreon or buymecoffee or something like that could be a viable prospect. Alleviating the heavy lifting from Defold in some ways, and putting power in the peoples hands to build whats needed?

I will warn, this is usually very difficult to do. It is rare that ‘design by committee’ ever works. And some of @Pawel and others notes should be taken into consideration.

6 Likes

Just want to add from my small experience of contributing to open source project.

I’ve worked in an outsource company, that is doing e-commerce development with Magento. And Magento has separate event called “Contribution Day”. Before covid it was offline event, where developers gathered and in “hackathon” mode make contribution to the source project. During the covid this format migrated to the online. And that where I first tried it.
I was interested in trying contribution just for fun, for myself. And first I tried just add minor fix to devdoc repo. It’s easier than contribute to the main project repo.

Online event organized by Magento company itself, and also involved a lot of regular contributors. They make intro in zoom with detailed description of the contribution process. And several “show what you done” sessions during the few days of the event. Also you could have one-on-one call with maintainer, that will review your code and point too all mistakes and fixes.

I liked this experience a lot. And in a ~half-year I organized Contribution Day inside the company, that I was worked in. Company motivation was - to have a label of the official contributor, so they give a working day for this, plus some hours for preparation.
Developers motivation were: fun, have a contributor label (it’s cool to be a contributor), learn something new (e.g. you need to write Unit/Integration/Functional tests for your PR).
Magento, on their side, has page with top contributors for developers, and badges for top contributors for companies. For company it helps to sold their services. For developer - to upgrade resume.
So everyone is interested in, and everyone gets their own “profit”.

Yes, Magento now is “an Adobe company”, so they have much more resources for this kind of activities.
And I was really motivated to contribute just for fun. And, after my own initial contribution, I did it during “working hours”. So a lot of different aspects come together for this to happen.
But what I really like - is the official Magento Contribution Day. And that it has some kind if a “status” among the developers.

I think, what I’m trying to say, is that Defold could highlight contributors more (I’ve found only one post/thread) and make some kind of contributor day (continue to push and emphasize Hacktoberfest?). With list of top bugs, top requests for tools, “easiest to start” issues (this tag in github issues tab really helps).
I don’t know what additional motivation could be for companies, that work with Defold, except “make better tool for our self and community”. And yes, I realize, that this is a task for kind of a separate team.

6 Likes

Thank you for the feedback @mozokevgen ! I think it is excellent and I’d like to find ways for us to do similar things. I’m thinking that maybe we should do something on Discord in a Stage channel?

  • Q&A / AMA sessions with the Defold team
  • New Feature demos
  • How to fix a bug from start to approved pull request

(not all of this is related to the original post in this thread, but I would like to have more recurring interactions with our community in a live format)

13 Likes

That would be actually awesome! And I believe you could invite prelegents as well!

2 Likes

First: I open my comments with the following “If you don’t like the video game, don’t buy it”.

I understand your frustration, but you’re not obligated to use Defold.

You quote Godot, Unreal, and Unity, there’s your solution to all this frustration.

Have you tried every single one of them?

If so, why don’t you expose their shortcomings as well?

Second: The graphics engine doesn’t make the developer.

Third: Let’s talk about engines:

Defold: It’s true that it depends on many external libraries that don’t have constant updating and I understand that it has to improve if it wants to be part of that game of non-profit and open source organizations.

Godot: Magnificent with visual shaders, however its physics engine and rendering are garbage in its version 4 compared to version 3.5 that is defended, but it is not optimal for 3D, its community is very toxic.

On one occasion the leader stated that he could not offer console ports for free and that that was impossible to do, I offer you the engine and you pay me for the ports (W4 Games), on another occasion they have called them scammers. (It’s not for nothing that you earn that title.)

Unreal: Is the graphics engine “that has a magic wand and makes everything perfect”, however when you apply materials and package your video game you will realize that it is disappointing.

And what to say the engine updates, each one of them leads you to duplicate your projects because they are incompatible, UE5.3 file does not open in UE5.4, this is absurd!

Unity personally doesn’t exist!

Conclusion: when a marriage is dysfunctional, the best solution is divorce, there are as many graphics engines with tons of features as there are brands of mobile phones, however not all of them are what they offer.

If you have enough resources, create your company and develop your own graphics engine (as Frostbite, RAGE, Source, to name a few.) so you can avoid bad tastes caused by third parties.

PS. Magic wands don’t exist and whoever thinks that a person does magic, is wrong!

3 Likes

I guess the only input I have regarding contributing to the engine is that the GitHub repo is a bit hard to understand… it’s quite a large piece of software. It would be nice to see a video or something of one of the developers walking through the structure and maybe giving a few examples of how things are working. For example, tracing through a msg.post() as it relates to the C++ project, showcasing a bit of how the rendering engine works under the hood, etc. It would be more approachable to contribute with some basic onboarding, even just a few little technical videos.

3 Likes

I’m currently building my editor inside my game. It’s pretty common to do that for games prior to the Unity era. Even Carmack would do it.

What I don’t want to see is the defold team being the jack of all trades master of none. There are still bugs and issues and true quality of life things to be having like lua linting to be integrated etc… you are so close to having a perfect 2D engine.

I worry that focusing on editors and 3D will cause neglect elsewhere as it is a small team.

5 Likes