Commercialization of Defold developer tools

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

I had to collect my thought before writing this post because it can easily get into an heated discussion.
In my day to day job (crowd sims for VFX) we cannot afford to be not efficient, both in pipeline and tools, since we are on the receiving hand of a lot of departments and we work on scenes that in scope make a lot of people pale.
The things that I value the most, nimbleness and efficiency, are exactly what drove me to Defold in the first place.
Now in practical terms we use houdini, but only as a shell. It gives us the building blocks and components to create and refine the workflow that suits our needs the most, and we bend it to our will pretty badly.

I think Defold shares this same principle, and has been very succesful from my point of view on the engine side, with both lua and native extensions, where the community has contributed greatly.

In my mind, if/when the editor is exposed properly, I don’t think the fact that is written in a less approachable language is going to be an issue.
If it becomes scriptable with the ability to add panels, toolbars, widgets, viewport manipulators, access to the resources and an easy way to manipulate custom data strucures in an interactive way, I think a lot of us will start really pushing the boundaries of what is capable of and that will also lift the burden off the main team.
It might also become an easier way to prototype new functionalities for the Defold team too, before moving it to a more performant language if it’s needed.

Having experienced it first hand I know that the success of Maya for example was the fact that, from version 1.0, every single operation happening in the editor was a mel command. This opened the door to artists to develop tools and workflows that shaped the industry we know today.

So I’m happy to see that the team is sticking to their guns, with all it pros and cons. A community version of the editor is also a waste of talent IMHO. A better idea would be for the team to create a branch to start involving interested parties in helping shape the new capabilities.

I’d love to close this with a thought on 3D: do not underestimate the necessity of a solid pipeline both in the editor and with 3d party tools.
There is a reason why fbx is still the king in the area even though it’s a bloated piece of a black box mess: it works with all the major applications!
I’m sorry to say it but I have yet to experience one of the open formats working as expected in all the applications artists use.

There you go! The wall of text is done.

Happy Defolding!

10 Likes

Not sure I understand this. Could you elaborate? I wouldn’t think the Defold team would be overly involved in a community editor (which would ideally help them?), since… its a community editor?

Imho, a community 3D editor (let Defold team continue to finesse the current 2D one) would help the Defold group greatly, since they could focus on engine api, and build tools so the framework and system can evolve.

I dont think people understand the burden of developing a fully end-user capable 3D editor for anything (games, modelling, sims, robotics and so on). This is a big extra level of effort that the Defold team would have to undertake thus limiting their ability to do the things really needed like api improvements, 3D rendering engine improvements, physics and collision systems, maybe terrain systems, 3D volume systems, lighting systems and so on. And all the people coming from Godot, Unity3D and Unreal are all saying “why doesnt Defold have this!”.

This is unrealistic expectations from the users of Defold put upon the developers of Defold. As I have said in many posts elsewhere. You can do all the 3D things you want in Defold with its extensions and ffi. But you have to learn it first. Wanting a 3D editor to support Unreal Engine level end user capability when UE has had some 30 years of development + huge team + huge budgets + large number of skilled 3D developers + all the support systems vs Defold with some 6 people, is a little nuts.

Have added a poll here: Development of a 3D Editor
Help Defold make decisions. Much of their decisions will be based on their current supporters and investors but if there is substantial interest in some of these, I suspect you could help Defold understand your core needs.

I hope this is ok Defold Team - wanted some metrics so these discussions could be a little more clear. As a developer myself, Im not sure the scale of interest in 3D for Defold.

8 Likes

:+1:

1 Like

Well the rationale behind my comment is that I would rather see people looking to create a community editor help achieving the same in the Defold editor, to avoid fragmentation. I know first hand help is much more difficult due to the clojure barrier though.

The comparison with Unreal/Unity feels unfair. Let’s not forget it is a completely different target audience (and money as you say). I’m sure Defold devs never mean AAA when they talk about 3d features. There is space for a more casual 3d for sure.

2 Likes

A big % of 3D games made with Unity could have been made with Defold, it just would have not been pleasant mainly for importing assets / building levels. There are features like nav meshes, but that can be done with a native extension. Nearly all mobile games for example could have been made with Defold. It’s really only the high end modern AAA features (such as are big selling points for Unreal) that I have no expectation for Defold ever supporting. But we can still at least target the PS2 era of features! Games targeting that era of graphics and complexity should be dominated by Defold. Heck, we have had functional PBR in Defold for years now. We can have games that look as good as Overwatch 1 made with Defold already. That’s a big reason why I’m frustrated. I already know what Defold is capable of, it’s just not approachable for devs who should be using Defold.

6 Likes

Only a YouTuber thinks about AAA games, as a developer I have no idea what that is, on the website of DICE or RockStar Games they never mention that their games are AAA.

On the website of Godot, Unreal or Unity they never mention that their graphics engines are AAA.

As an indie developer I adapt to what I have and, what do I have?

Tons of graphics engines to choose from.

My books on programming languages.

Programs like Blender, Inkscape, Tiled, Krita, Aseprite, Gimp, to name a few.

I have clear ideas and thanks to this I have published two video games in 2D, soon I will publish two more in 3d and, I don’t go through life believing what a youtuber says, who takes a tutorial, creates a video game “AAA” and uploads it to his channel saying that the X or Y graphics engine works magic.

PS. It’s disappointing that people believe in a YouTuber more than they believe in their own parents and teachers or him self!

So much for my comments in this thread, I apologize in advance if anyone is offended by this comment.

1 Like

God yes. Bring back all the great PS2 games! :slight_smile:

Sorry meant to address your notes too. I agree Defold is definitely completely capable of great things and it is available right now. But the entry point is difficult. However building a good competitive 3D editor is a giant undertaking. Ask any studio that has made one - they always regret it (cost wise) :slight_smile:

But I get the frustration, and I think thats just gonna take time. Or a concerted effort. Some ideas above are great, like the hackathon to help move Defold along (help the Defold Team, then they will have more leverage to work on a 3D editor!) and suggestions of Wefold (I like that name too!) Maybe theres other ways too, like taking Blender… cut it back to bare bones and use that as an editor? :slight_smile: … hrm… DeBlender :slight_smile:

4 Likes

I am mainly interested in 2D games. But let me say that, in my opinion, trying to use Blender as a level editor is a very very smart idea. Blender is already there!

4 Likes

The simplicity of the Defold Editor has been key for me; I tried Godot and just got confused
(although Blender seems not daunting some how:-).

I think it is good not to conflate the engine and the/an IDE.
With an appropriate API to the Engine and build tools, an IDE would be completely independent.
If everything could be done in a script (making QA a doddle…),
and an IDE shows a bug, and the script works, you know the problem is with the IDE.

Could be that a plugin for vi and a 3D viewer window is all you need, and your done:-)
For some a fancy commercial 3D AI IDE would be the thing.

Although I am cognisant of the fact that I don’t really know what I am talking about.
For me there are many unknowns of all types.

3 Likes

Just 2 cents:

Community (3rd Party) Editor

Usually, UI is interconnected to the “backend” (the Engine in this case). People working on UI and Engine should be constantly communicating with each other, specially when adding new UI features.

A low hanging fruit probably will be a VS Code extension. It can run anything a web browser can and it is a great foundation for a custom UI with a bunch of options (panels, tabs, windows). It should be doable to take, for example, Three.js or Babylon.js or a JS game engine and combine it with VS Code tools to render 3D stuff, shaders, etc and edit Defold files (text Protobuf FTW). It’s only a matter of time and motivation.

Editor Contributions

Having some experience setting up dev environment for the Editor I would say that it was not easy. This fact alone could drive away people willing to contribute. It looks like that the current build Readme oriented towards core Defold contributors. An example, one of the steps “IMPORTANT PREREQUISITE - PACKAGE SDKs” says that you have to have the SDKs that are closed source and not distributed with the Editor, however the SDKs are totally not necessary in my experience and can be ignored. You also don’t have to build Bob.jar from source code.
Just a thought… a simpler setup process that is oriented on outside contributors might help, like, building on Linux might be the easiest (?) skipping all non necessary steps. Or even providing a bash script to setup the dev environment.

Clojure

Another random thought… I believe people love Kotlin. Not sure if it’s feasible and/or a good idea to support it for Editor development.

4 Likes

@Visionaire I tend to never reply to your posts because I can’t really understand if you’re just being sarcastic or simply trying to instigate.

In no ones post I think I’ve seen the mention of any youtuber so I’m not sure where that comment is coming from.

AAA is a fairly accepted term in game development that describes projects by fairly big studios, with budget and resources that are outside the common reach of indie developers, that allow for years of development and push the boundaries of gameplay/graphic/sound/etc.

8 Likes

Functional or even being Lisp-based wasn’t a problem for Emacs.

I suspect it’s just a problem of inertia combined with the attention Godot has and the perception of it being easy and possible to create whatever you want.

Strategically, I’d focus on an engine-agnostic 3d-editor and environment that can serve open-source game engines (even if largely centred around Defold’s preferences).

I’d also establish a clear code only path (which Bob seems to support).

This subtlety may not change anything technically but does present a compartmentalized operating model that would alleviate doubts from both ends e.g. “Can Defold do this and that?” and “Can I build my own tools?”.

Regarding financial incentives, capable people are more interested in upfront income than in the possibility of making sales.

But those same capable people are also motivated by helping themselves.


p.s. delayed response … I wrote this months ago and left it as a draft.