Good feedback. I’ll look into it!
I rather didn’t assume he is using Defold for VR, thinking indeed that Defold is used as a hobby tool, though I just take a chance to ask about how VR development look right now in Defold
Oh my, so it’s documented I worked on my videos for over a year what a striking tempo
Took me a few hours to read through the discussion.
Firstly, great community and the team behind Defold is worth prasing! So perhaps I could help in some way…
Just wanted to share some thoughts as an outsider. I have tried quite a few different game engines and frameworks, each with their own pros and cons. Unity, Defold, Godot, Unreal, GDevelop, MonoGame, Phaser. I was making a Flappy Bird clone (not in Unreal =)) in each to get the idea how they work. I guess it’s like active procrastination or ADHD
I found out about Defold from Gamesfromscratch a few years ago, when it was still owned by King. In a YT video about Defold (an official video) I heard something like “Defold is a platform to publish/release your games, more than a game engine”. This idea has stuck in my head since then.
Personally, I would love to make mobile games and html5 as an additional source of income. And since Defold is the best in releasing/bundling a game it seems like a winner here. I believe that Defold is similar to MonoGame, Phaser, LibGdX because one would need to write a bunch of core codebase that could be shared between projects. Again, might be not an easy task for someone who wants to learn how to make a mobile game. Take this forum topic as an example with brilliant code snippets or Critique-Gaming’s dispatcher.lua (an event hub), context.lua (like a custom remote function execution as it seems). All of those are pure gems, I would say must haves, unless you want to copy/paste and hardcode the URLs all over the place, which is BTW will be even harder because there is no code completion for them, or compile-time validation. I guess experienced Defold users either have a template similar to Critique-Gaming’s or copy and paste a lot of stuff like that into their new projects.
Defold is definitely an opinionated engine, as I see it, a bit more than others. It is super lightweight, modular, which is a blessing but also a curse. Now, you have to do more set up and configuration yourself if you need additional functionality. I was not happy that I would need to add external packages for simple things, like, cursors, camera, etc for every single project I create. After reading the forum more I started to understand the Defold’s philosophy and that absence of convenient tools is a sacrifice made in favor of performance and minimum engine size. Then I realized that top extensions are actually “official” assets made by the Defold team. That’s cool! Hell, there is even a unit testing extension! Yaay!
So my take on answering the question “why defold popularity is not increasing?” possibly because of the steep learning curve. Reminded me of a meme image of learning curve of EVE Online My personal experience, nothing more.
That said, anything that could make the learning more smooth would help a lot to pick up Defold for newcomers, especially for inexperienced gamedev hobbyists…
- At the beginning of the post I mentioned that hardcoding game object URL is not an easy task, but this is something that you must do daily in Defold. The snippets simplify the job, still, you have to add them to all your game objects that interact with each other… not ideal.
Maybe it would be possible to come up with a built-in (recommended, best practice) way to do it? Perhaps, similar to “tags” in Unity? Where you could assign tags to your game objects, like, “player” or “enemy” and then at the runtime they “register” in a global lua module, so then you can request a url of your “player” or your “emeny” (can be many of them). Something to keep them decoupled and to make day to day defolding easier. I don’t have enough experience to suggest anything, just a thought. Apply the “Convention over configuration” principle. Could it be an asset library?.. can they add properties to game objects?
There was interest for hypercasual games (myself included). Maybe this is another thing Defold could be best at? The best engine for hypercasual games for mobile, html5. Consider adding a couple of playable hypercasual sample games with AdMob and app purchases already configured.
Consider adding a template with AdMob and app purchases configured. Add another one for Facebook instant games, and/or Poki, with SDK or extensions necessary. Configure the desktop game template for Steam, or/and Epic Games store? The idea will be to have project templates that are almost ready for release, you just need to add your gameplay (easy!). Combined with 1-click builds and you are good to go to release your game.
Consider adding top/must have extensions into the templates (camera? input? monarch? gooey? rich text?). Then show links to short tutorials how to use them in the readme once the project opens. This is for beginners. Experienced guys would have their own templates anyway, or could start from the empty project.
Consider adding more sample/template projects that can be opened straight from the editor. Basically, pic best ones that are on Github right now. In example, this one looks neat! Slasher Prototype
Refresh look of the tutorials inside the editor (New Project > From Tutorial). Consider flipping assets for more colorful ones? Kenney assets? I’ve completed the tutorials a few years ago and I loved them a lot. Now, they look a bit dated. It might give a wrong impression that the engine is not in active development, which would be wrong.
They say “Devil is in the details”. Maybe add an official extension with vector math? In example, functions like: direction to vector, distance to vector, move toward a vector, + similar ones for rotation/quaternions.
Another good one “Simple things should be simple, complex things should be possible”. I think that the default renderer should be good enough for most games (from my noob point of view), no need to scare away beginners saying they need to modify it. I know that’s what I was thinking when I was looking through some tutorials and manuals and straight from day 1 (or 2,3) read that I will need to change the renderer to fit my needs or something along those lines Why not make the default renderer more beginner friendly? Add more stuff there that would make simple things simple. In example, screen to world conversion. I was experimenting and came up with the following utility script that is easy to use. Now I need to copy and paste it to all of new projects… not ideal. I am lazy, so I would say that for this reason alone Defold might not look very attractive for game jams.
Beginner tutorials: Byte-sized examples that cover 1-2 topics each. Phaser is a great example - 1000+ examples. Phaser has super outdated website (getting started guide is for VS 2013), documentation seems to be outdated too, but they do have a ton of examples with the search. Each example with a running demo at the top of the page and screenshots, code snippets at the bottom.
Intermediate tutorials: Small examples with best practices, must have lua modules, performance tips. When to use collections vs game objects? Best practices how to organize them? Code snippets? Same layout: demo at the top, screenshots and code at the bottom.
- Another engine as an example, GDevelop, growing in popularity according to Google Trends. I guess they have a small team as well. It advertises 1 click deploys (not free), but the development experience will get messy real quickly (in my experience). There things they do really well though: 1) teach new users (short 3-5 minute video tutorials are everywhere inside the engine UI) 2) there are “Plug n Play” “behaviors” that are easy to add into your project straight from the UI 3) Short to medium sized video tutorials on the website that look nice and shiny 4) Good marketing (active blog on the website, game jams, recent humble bundle, decent YT coverage done by their team).
Possibly some things that don’t require a big budget…
Yearly games showcase. Helps game devs to promote games in development, helps with more exposure. You will find Godot 2020, 2021, 2022. Personally, I do look for the showcase videos on YT when I’m curious about other game engines.
I like the idea of a Defold game jam. The participants could be asked to post screenshots of their games on Twitter with the #madewithdefold tag, or other tags for a bit of free exposure.
Maybe some other “flash mob” community Twitter activities for popular hashtags every Friday? #drunkgamedev with #defold
An hour every other week with Q&A or a stream of a Defold dev making a game in Defold (Twitch? YT?)
There are ZERO Defold tutorials on Udemy. Keeping in mind that there are almost no breaking changes the tutorials will be up to date for a few years. No maintenance passive income for anyone interested
A random idea… monthly sets of assets that can be used commercially only with Defold game engine. Maybe, some props, or GUI elements (progress bars, stars, other icons), or something else. A few other game engines does this kind of stuff, some of them require subscription, but it’s a nice bonus to have. Maybe some beginner artists would be willing to do it to get more attention?..
Add “Donate <3” / “Support <3” / “Sponsor <3” link at the top of every page on defold.com, and make it stand out. Currently, it is buried in the footer. Have a look at the following image as an example. It’s much harder not to notice it.
Nothing personal… frankly speaking, current donation goals are kind of meh. People like new and shiny stuff, which I’m sure you are working on. I would rather pay for something like “+1 full time developer to work on better 3D support” or “+1 marketing person working part-time to help promote Defold and make it grow” rather than “pay for servers, hardware, salaries”. Or adding to the previous idea with the free monthly assets. One of the goals could be “+$100-200/month = hire a freelance artist for monthly assets” (BTW they could be free for everyone, or only for people who donate to be more fair to them). It’s hard to say no to some assets in return while supporting the engine.
Another crazy idea. Start a kickstarter or other crowdfunding campaign. Is there something specific Defold could gain from a certain amount of donations? Maybe “Better 3D support” with list of features that will be added, some work in progress videos? $20k-$30k-$50k-? If at all possible to hire a contributor or someone for a few months to help out…
Search engines love lightweight and fast websites.
The lightweight game engine should have a lightweight website, right?
8 MB of images is probably too much. The .png could be replaced with .webp (10x smaller than .png) with fallback to .png for IE. Another options would be .jpg files with solid background if you are concerned about the browser support.
PNG (3.8 Mb) vs WEBP (102 KB, also resized to 50%)
Lazy loading for images is also a low hanging fruit that would add a few points to the speed index. Easy.
https://defold.com/ and https://defold.com/product look very similar, probably even competing with each other. There are a few pieces of info that I believe deserve to be on the home page. Engine size on different platforms is definitely one of the main selling points of Defold. It could be an image or an interactive chart that appears with animation.
I just LOVE the way Construct website looks. It is an eye candy. I was “sold” to it and instantly wanted to use it once I opened the website. Sadly, their “deploy anywhere” builds are merely HTML5 games, so not good. The website is great, though. Maybe it could be used as an inspiration. Videos definitely make the website look dynamic and more pleasant to visit. Consider adding a few videos to Defold home page with 2D, 3D features. Or perhaps a gif/video how easy it is to build for different platforms? An interactive chart comparing build sizes with other game engines might be nice. (APK, HTML5 gzipped, EXE, Mac?).
- I like the “everything is free” concept. On the other hand it might be worth it to allow paid assets. If someone is willing to create an assets library with reusable shaders, in example, and then sells it then it’s a win-win, or reusable GUI templates, and so on. With enough useful paid assets in the store it would be possible to make humble bundle sales that will help to get more exposure. Even Godot devs announced that they are working on full rewrite of their asset store AND they are going to support paid assets, which is in high demand in the community.
Wow, fantastic feedback! I’m saving this to go through next week. Thank you for taking the time to write this!
The library of Phaser examples is great, would love to have one like that in Defold.
Is there a codepen but with Defold? If not, how hard it would be to make one?
(fyi all phaser examples are getting updated before phaser4 relases afaik)
It’s interesting that a huge amount of this thread is dedicated to technical details. I would say that marketing is more relevant. I think it is a common issue with companies staffed by incredibly skilled engineers, developers and coders (especially if they don’t have a marketing department).
Do people know about Defold, but avoid it because of it’s technical flaws? I doubt this is the case. Defold is an incredibly powerful tool. But most of the people I talk to don’t know about it, even if they know unity and maybe one or two other engines.
Who is the Defold target audience? Do you want to attract more professional developers? More hobbyists? First timers? Students?
Is there a frequently updated youtube channel? Are the developers very active on twitter? Are games made with Defold being promoted, regularly? Is there money to pay somebody else to do this?
I love Defold. It is an incredibly powerful tool. I hope that soon it gains the recognition it deserves.
I know a few people who tried Defold but quit because it “didn’t even have lighting, animated tile maps, …”
Extra features are of course offered as extensions, but people don’t seem to understand this. And I have to sympathize with the argument because there are a lot of features offered by other engines that don’t exist in Defold’s asset portal. I hear arguments against Defold and in favor of something like Unity based on Defold not offering as many features and having to do more complicated things manually.
Therefore I think it is a good idea to increase focus on quality extensions.
I tried to make my own lighting, and to me to worst thing i had to deal with was that i couldnt see it working in the editor. As i stated in other times before, i think that it could be solved by just compiling the scripts in the editor, like unity does.
…and we’re straight back into technical details
I think we are discussing here what Defold is and should be, rather than how popular it is.
The answer to the question “how can we make Defold more popular?” might be “…by adding key features that people are missing”
but I am sure that there are many other efforts that could be made to spread the word alongside technical improvements.
It’s the difference between: a) Catching people who don’t know about Defold and may or may not have any experience making games, and b) Keeping people once they start using Defold, and after they have experience making games and using Defold. Both matter for long-term popularity.
Hobbyists? Beginners? My 2 cents… Yes and no. Based on the forum topics it seems to me that people like Defold for it’s simplicity, in this sense it might be better suited for beginners. Perhaps, ideally also someone not familiar with other engines, because of a unique messaging communication between entities/components. As they say it’s easier to learn to play a guitar, then re-learn how to play it in a different way. Web development experience would help to understand it better (client-server communication). On the other hand, it’s hard for beginners because there is a lot to learn at once. Engine, assets, lua, learn to learn by examples rather than by video or text tutorials. There are a ton of game examples, so you need to be good at reverse engineering, so not good for beginners. Game examples are great but there is a lot of stuff in them. Some engine restrictions are also not “beginner friendly”, when you have to make lookup modules for hash → string.
Professional developers? I would say again yes and “kinda” no. Yes - it’s definitely easier if you are familiar with coding. Anyway, it was somewhat harder for someone like me, who wanted to make it work in a way I am used to. I like OOP, but in this case functional programming is probably more suited. And most likely I was over-complicating and over-engineering things.
Enthusiasts? In this case it would be great to see a few more talks with devs, or experienced Defold users. Accidentally found this gem podcast (in Russian) by Alexey G.(Зачем делать игры на Defold (ПИЛИМ, ТРЕМ. Подкаст о разработке игр) - YouTube) and it shows how much the Defold/Refold team cares about the engine. Another great quote from the podcast: “Defold is a proprietary engine that big companies write for themselves, but in case of Defold it’s free and available to everyone”. @AGulev have it worked out with the streams? Where to watch them?
Aside from considering target audience, it’s also worth considering what defold is supposed to be.
For example, there is very little support for 3D. But that’s fine if Defold is to be the one-stop-shop for 2D gaming.
Our intention is not for defold to be a 2D only engine. We are investing more into 3D support, and I just want to reiterate that voting for issues on GitHub will increase chances for a specific feature to be worked on we do have roughly 1k issues but at least I personally want to push 3D features as much as I can!
I’m writing about a very limited area: the Japanese game development community.
Experienced programmers tend to have difficulty with the message passing. As for companies, most are conservative and tend to choose “proven” game engines such as Unity or Unreal. Hobbyists, because of our linguistic conservatism, tend to use other engines because there is very little information available in Japanese about defold.
To be honest, the reaction of Japanese developers to defold was better when it was owned by King. The response was something like, “The engine was made by King of Candy Crush, so it must be a good one.”
This is just my personal imagination, but I think that the number of users will increase if the following three conditions are met in order for defold to spread in Japan: “big companies are in the background,” “adopted by big title,” and “a lot of information about defold available in Japanese”. You can ignore linguistic conservatism as it is just our problem, but it seems to me that the first two conditions are very important to reach conservative people.
(Personally I have no complaints about the situation surrounding defold right now! Lightwaight and a good for 2D, plus console support. For me it’s the best.)
I must admit, my first thought when I read this was to download candy crush to see what it was like. When I saw how candy crush was, I knew it was the right engine for me.
(and just 5 or 6 years later, I’m almost ready to release my first game!)
I’ve got no beef about 3d abilities in Defold, but I can’t imagine the effort would take to be competitive with Unreal Engine. Please keep 2d the primary focus of Defold. I hope the team will never degrade 2d performance for 3d functionality.
+1. I wonder if going 3D first would make life harder for 2D people or not… I definitely think it affects how people think of defold.