I'm looking for an engine/framework to make a 2d "RPG" (no leveling, etc, akin to Link to the Past).
I actually went to University for games programming, so I understand how games work, how to code them, etc etc. I work as a Test Automation programmer for websites, and I am doing some development on JS as well on a music toy. I am experienced with C#, C++, Java and JS.
The problem I've had in the past is that the frameworks promise the world, but everything I want to start working on is hidden beneath folders and folders of stuff, and the entry point to customize the correct parts seems obscured. Or, working on OpenGL etc are too basic with basically nothing out of the box.
I just want something that will say : here's your main, here's your player character, we've taken care of the collision detection and inputs and rendering, there's no gravity. Paint the tiles on this screen, and get going.
Like the level of expertise, customisation and entry point needs to be clear (or at least there is a guide to get started that I don't have to spend hours and hours on) and the business side is cut and dry and won't cost me to start deveoping. (flat X% after $Y in sales)
I don't mind having to learn a new scripting language as long as it's not drastically different to the object oriented languages I know already. (ie : nothing in Lisp)
Defold is interesting. I’ve used it for a game jam and went through the Zenva courses for it. So I have a little experience, but please correct me if what I’m about to say is wrong.
I like defold but it has problems that pushed me to Love2D. For one, the distinction between a game object and a collection feels unnecessary and because they have slight variations (like how to get their message url) it lead to some confusion I couldn’t get over.
Furthermore, the message based system is odd to me. In theory I love it, but in practice I just couldn’t find a good way to keep things organized. I ended up with a spaghetti mess of messages that I could never keep track of. But that’s likely a me-being-a-shitty-programmer problem.
I do love the performance and tiny export sizes though! Getting builds that small and that performant from Lua is pretty sweet.
I haven't used it that much (never even done a jam with it). The weird licensing of the editor rubs me the wrong way, and IIRC it even has some telemetry enabled by default. That's kind of a red flag when you consider the engine came from King, a mobile game developer. I don't think I want to trust them, but other people might not care.
But I do like the design of the engine. Message passing is actually a great pattern in general, and it's used by other engines like O3DE to great effect. It does take some getting used to though, and I personally never was a fan of Lua. If you've ever done any Objective C or Swift, it'll be familiar. It provides a way to build decoupled systems effortlessly, and long-term keeps your codebase flexible and maintainable, which is exactly what you want for a game that needs to constantly evolve its design throughout development.
Full agree with the licensing and connection to king being dubious. They’re now under the Defold foundation FWIW. Either way, I tried it, and moved on.
I think I’ll be messing with Raylib and C next. I’m already noticing some issues with Lua and Love2D as well that I don’t love. Mostly web builds being a royal PITA.