Commercialization of Defold developer tools

First, the core of Defold is great. The mission of Defold is great. Making games with Defold is still the best experience where it matters out of everything else I’ve used in the past.

There are things that do suck though, and I don’t think that they will be able to be addressed by the core Defold team, they will have to be addressed by capable outsiders.

The source-available license for Defold makes it difficult to have financial incentives for improving the Defold editor/engine as a game development tool. I think that to fix the issues Defold has the financial incentive is necessary.

So entirely new editors / tools need to be created which do not have the restrictions the main Defold code has.

This I feel aligns with many Defold devs moving to VS Code for the majority of development. The Defold code editor still sucks, still is missing so many quality of life features, still gets laggy when typing in large projects even on good computers. The people who put together the VS Code files are heroes who kept good devs within the Defold ecosystem, and made it less painful for new devs to use Defold to make games with. We need more of this!

I like the idea of Clojure, but I feel it was a mistake making the editor use that. Using JavaFX also feels like a mistake, it still apparently has upstream bugs that impact people to this day. When I pick a color on Windows, it still explodes!

The core of Defold is good, but it’s not approachable for new users for 3D at all. I don’t want to hear apologetics, every single person I have tried to convince to try using Defold for simple 3D projects got nowhere and resorted to using Unity instead. I don’t want to tell people to use Defold anymore, and that’s a problem.

Right now the main Defold editor is not friendly for making 3D games. Importing assets sucks, creating levels sucks. People such as @dlannan have made progress on making scripts which enable using Blender partially as a 3D editor. I would encourage @dlannan to commercialize this and sell it on Blender Market. Getting $50-100 sales for making certain things less painful can be good incentive to make it even better.

There has to be existing open-source editors out there that can be made to work with Defold’s formats relatively easily and then made into paid apps to give the maintainers a financial incentive to keep improving them.

Passion for the tools being good is also necessary besides financial incentive, the people making tools need to be able to understand the pain of using the current Defold editor, need to be willing to try Unity/Godot/Unreal and understand what is missing and how to make what will come next better.

Some 3D specific features to address:

  • make asset importing easier, support import of more 3D formats, support them in ways that are obvious, fix the gotchas with importing models (there are many limitations right now that are not obvious) Consider how much easier it is to import models into Godot, Unity, or Unreal. Perhaps some kind of drag and drop tool where you can drag native blender files in and it automatically creates what Defold needs / guides you through some steps and asks you which models/whatever you want to use.
  • get drag and drop into the editor working better, get drag and drop from the asset list to the viewport working, get asset import from file explorers to viewport working A paid viewport editor that also has the assets panels may be necessary. This could evolve into a full commercial replacement to the Defold editor as far as the viewport/project setup goes.
  • redo viewport from scratch for 3d too, find someone capable of this who understands it, it’s not enough for someone to make issues because it’s not just a features thing it’s a feel thing and the person making the new viewport needs to care about it being good because they want to use it, editing 3d levels needs to be easy/convenient/intuitive/feel good to do ^ previous thing too, just need an entirely new viewport editor. Current editor isn’t perfect for 2D either. Where are the snapping tools?
  • make a better 2d+3d camera module and make it built into Defold, integrate its features with the new viewport and camera component better this is something @ross.grams could work on, make Rendercam2 and make it $100, partner with whoever makes a better editor to have it be an addon for that thing, or be the person who makes the commercial editor too.

Soon people may be using a Wefold editor that uses bob.jar under the hood for bundling project files and VS Code for writing script without ever touching the current Defold Editor 2. Defold team can still continue work on improving the engine and core features that are still incredibly necessary, without having as much pressure to worry about making the editor good enough.

There is no good reason for Defold to not be as easy as other tools. It is unfortunate that Defold got kneecapped for its license and never got the kind of opensource frenzy of support that Godot and now Bevy get. To make Defold better now, I think it just needs cold hard capitalism. Make tools that make dev’s lives easier, and sell them. The stuff by https://www.codeandweb.com/ is a great example of this. While it would be better for Defold to have a polygon editor in the editor itself, I can live with using a great 3rd party option. Same goes for TexturePacker too. Even Unity/Unreal rely on thousands of developers who also have financial incentives through the Unity and Unreal asset stores to build better tools for things that suck in Unity/Unreal. We’ve been waiting forever for a functional editor extension system, but I don’t think we should wait. The person who makes the Wefold editor can make and profit from an asset store that allows other devs to build on that new editor and distribute assets through that editor instead. Defold is a great foundation that no one has capitalized on yet for this angle. Build on it and profit.

Staying within legal limits is important still too. As far as I know, it’s only using the existing code that’s problematic. You can’t commercially distribute Defold stuff with the software you sell… but you can make it easy to dynamically download bob.jar etc. from Github! Hopefully Sweden/King doesn’t try to stomp on anyone trying to make things better and get enough money for it to make sense to do.

I’m not saying I am going to do this stuff. I’m not the right person to! But this is a call to action for anyone out there who is reading this and capable of doing it… do it! If there are a few people interested in working on a commercial editor alternative, work together and make a new startup to do it. I will pay for what you make.

12 Likes

I like the word “Wefold” :slight_smile:
but I more like the completely free ideal of Defold.

Actually someones can create and sell their editor plugins or simplier is getting donation for their work. I also encourage them to do that.

What I see now is the Defold team need more resources, more time to optimize their tools and editor.

2 Likes

Question for the Defold team – it says that the Defold Foundation must “Prevent the Defold software from being commercialised by a third-party”. What exactly is covered by the term “Defold” here - the engine part, editor part, both, or everything hosted on Github? Also, are extensions subject to the same terms? For example, could something like the Monarch extension (MIT License) be sold on its own without violating the foundation’s objectives?

Like this?

1 Like

Any features in particular here that you feel are missing?

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