My 3 dimes:
I’ll steer clear of talking pros and cons there are many described above.
I also wont compare engines because comparing engines to engines is pretty silly anyway. I mean think about it, two different products made by two different groups of people… they will be different … so I will talk about features and use cases. For me, this is the most important part for architecture. You need to answer:
- Can I build what the customer wants with this toolkit.
- Can I make it profitable to build solutions as a business or easy enough to do as a hobbyist.
- What are the resource and monetary costs involved in using a toolkit - business (applies to 2) and hobbyist (applies to how much I can spend without annoying my wife).
Using criteria like this I think it may help explain what Defold is good for (remember though, this will be different for different people and different use cases).
Can I build what the customer wants.
Using Lua and Luajit, I can most assuredly say yes. There is no limit here. You will need to learn the magic that holds Defold together, but with even a small amount of time learning you will be able to achieve quite impressive results. And most importantly, there is always a way forward, whether it is with lua script, Defold objects, Defold SDK, native-extensions, ffi, Java or C…
Can I make it profitable to build solutions as a business or easy enough to do as a hobbyist.
Its hard to estimate this without an explicit use case, but after around 2-3 months of solid investigation I would have to also say yes. I am positive the overall benefit in comparison to some other toolkits (I have used to build the same applications or gfx samples) I have found Defold to have an efficiency of around 2-3x in terms of implementation time for a feature. Sometimes much higher (Lua script integration from external sources)… sometimes a little lower (3D features mostly).
If you need to produce a specific outcome the limitations will be mainly in the production of GUIs and 3D scenes and management of them. This will change. Imho. Making my own tools, it is clear to me that it is easy to fill these gaps with your own solutions very quickly and easily thanks to the native extensions and the ffi/C systems for luajit.
What are the resource and monetary costs involved in using the Defold toolkit
Monetary costs: Very very small. Almost non-existent. I think, honestly, I would happily pay money for an engine that is as cross platform friendly as Defold. There is NO comparison in this space. Ive used alot of engines and toolkits, and to be able to build a Win app from Linux, then jump to a Win Box and build a Android App… its kinda dream like. Really amazing.
Resource costs are an interesting thing to talk about. When I refer to resource costs, I refer to costs like how to get a person to be able to work with Defold, what level of skill is needed, what amount of training will be required, and whats their effective “time to becoming productive”.
Defold is again, quite impressive in this space, but there is a caveat here. I find many “serious” C++/Java programmers do not consider Lua or Luajit to be a professional tool for developing software with - which is kinda funny, because in the network high perf industry I work in, it is the defacto norm almost. But in industries like Defense, Education and Commercial applications Lua and Luajit are not often even considered. This then impacts the range of skills you can bring to your project. You might find difficulty bringing in experienced coders needed for some of the more complex tasking. We have found this ourselves with Luajit on its own, and I think Defold may suffer a similar issue. However, because the Games industry readily accepts Lua/Luajit there is a large talent pool available to leverage from.
Overall, Defold has shown to be excellent for 2D games, as well as applications (mobile, desktop and web) and it has even performed well with my 3D implementations of shaders, meshloaders, scene management and simulation tests. I consider Defold a highly valuable tool, and I think Defold will be going places… Im certainly going to attempt to take it to some interesting clients