Hello all, my name is George and I’m studying Computer Science at a university. I’m not an experienced game developer nor I try to be one.
I just like to make games on my free time learning new languages, engines, frameworks, tools and more. I find it very easy to learn a programming language by making games.
So 2 weeks ago I started learning Lua. And I came across Love and Defold. I always prefer to start with simple frameworks rather than game engines but this time I went the other way around just for an experiment.
Even though I’m using Defold for 2 weeks only(well one and a half since I spend 3 days learning the basics of Lua by making simple terminal programs), I wanted to say my opinion on Defold.
I have used some frameworks and game engines in the past and I will be comparing them a lot with Defold but I’m not comparing them to see which game engine is the best.
I’m just trying to give feedback to the awesome Devs of Defold through my experience with other engines/frameworks.
For reference here are the game engines and frameworks I used in the past:
Frameworks: Raylib-cpp, Cocos2d-x(cpp), MonoGame, DragonRuby Game Toolkit.
Engines: Godot, CocosCreator, Unity(for 5 days).
Note: This is a long thread so if you want a TLDR just read everything that is BOLD.
So let’s start, I will have 4 sections: Engine, Website Structure, Tutorials and Community.
Section One: Engine
- One of the best features of Defold is that it is not locked under a certain OS. I use Linux for the University and in general for learning new things. Having the ability to have this awesome game engine on my machine feels great.
CocosCreator for example even though fun for learning Typescript it is locked under Windows(and I think Mac) and the devs have confirmed that they will not port it to Linux.
Also I didn’t face any problems with Defold even though some people clearly had because in the FAQ there are solutions for people running Defold on Linux. Btw I use Manjaro(Arch) and in the Donwload it says that requires Ubuntu 18.04 or newer, so I was expecting problems cause Ubuntu is based on Debian.
Also we can make games for a lot of different Platforms which is a huge positive for anyone that wants to experiment with all those platfroms. Defold makes cross platform extremely easy to do and that’s great in the eyes of anyone looking for a new game engine.
The language that Defold uses is the Lua programming language. Lua in my opinion is easy to learn and it is well known in the Game Dev community. I mainly use C++ and trying to learn Lua even though easy it was confusing at times. But you can learn Lua in a week if you have prior knowledge of programming so I don’t find it a negative.
Godot offers a variety of different programming languages from their GDScript to C#(not ready) to C++. This way Godot attracts people that already know C# or C++ and for people that know Python they offer GDScript. I think that’s a major role into Godot’s success.
Sure learning GDScript(since that’s the main language that the Godot Community uses) is extremely easy but one great thing about Lua is that you can use it outside of Defold too. So people like me that want to learn Lua or people that already know Lua can easily benefit from Defold without being restricted to only using Defold.
Not having to install Defold is also nice. You just download it and BOOM it runs perfectly fine. No installation needed aka not wait time that’s great for anyone starting out because he will not have to deal with paths etc.
No account needed to use the Editor. CocosCreator forces you to have an account to use their Editor which I don’t think that it’s an ok thing to do.
Editor with all its functionalities is shipped out of the box. I’m not gonna list all of the features here, you know them.
Godot offers an easy to use system which help for rapid development of games. Defold offers something similar but if I compare them, Godot is more easier to understand for beginners.
But after 2-3 times using Defold, it gets extremely familiar.
The Editor is clean and well structured.
It is completely Free(and Open Source). That is a huge benefit because people constantly trying to find free things to develop with.
One of the best for extension support. The Asset Portal is simply amazing. Great assets and extensions can be found there and they work really easily. I will say it again amazing support for extensions.
Section Two: Website Structure
Clean and super easy to navigate around. Having a nice website is a huge benefit because that’s the first thing people will have to “deal with”. So being that clean is extremely nice.
One of the things that people will immediately try to find what Games are made using Defold. The website offers a list of Games but I think including more well polished Games made with Defold will be nice.
Section Three: Tutorials
- One of the benefits of Unity is that there are a ton of video tutorials and examples. That makes the learning experience of new developers extremely easy. Godot also have a lot of video examples (by no means the same amount of examples and tutorials as Unity), which again makes our lives easier.
Defold on the other hand doesn’t have a lot of video tutorials. There are two problems with that: the first one is that it will be harder for someone to learn new things or how to improve on existing knowledge of the Engine. The second one is that people might think that the Engine is not popular enough.
Again I said Video tutorials cause most people immediately go to Youtube to find tutorials on what they struggle with.
Defold has a very nice list of written Tutorials and Examples that people can simply find from the main Website. One really nice thing about these tutorials is that every single line of code is well explained.
This way people will be able to understand what they type instead of just following along with the code.
One thing about the Godot documentation is that they have really nice Groups of examples. For example in 2d Movement you can find 8-way movement, mouse movement(click move) etc.
The problem is that even though they provide the code on how to do the above they don’t really explain it very well or at least with not enough depth.
I would like to see this type of documentation for Defold but with the awesome explanation that the Defold team provides in each tutorial.
The depth and how everything is explained in the Movement Tutorial is extremely nice but I would expect more types of Movement in that tutorial like Platformer Movement that is affected by gravity and so on.
- Beginners can easily find available video Tutorials from the main Website. This is a nice feature since it breaks the gap of people actually having to search for them on Youtube or in general. I expect that the Website will host more and more video Tutorials as they rise.
Section Four: Community
Defold has an amazing community. The Devs are always listening to feedback and always trying to improve on a lot of different areas. Honestly only Defold and DragonRuby Game Toolkit have Devs that are constantly ask for feedback.
For first comer that’s a HUGE positive and I’m really glad that this is the case.
The Forum is alive and welcoming to new users. The only reason that I know that the Devs of Defold are always trying to improve is by just scrolling here on the forum.
Everyone is helping each other over here and in general it’s a great environment for well anyone really.
Devs are extremely active here. There is also a Discord server but I haven’t joined it so no info on that.
There is also a subreddit that I recently joined. So yeah a wide variety of ways to find the community of Defold.
All in all my experience with Defold is smooth and I really enjoy making simple games with it in my free time. There is quite a bit of practice for me to do before I join a Game Jam for example using Defold but still I’m making progress. Unfortunately I don’t have a lot of free time because I have to study for the University but I’m trying to get better.
Thank you Defold Devs and Community!