this post was submitted on 01 Sep 2025
25 points (96.3% liked)

Game Development

4909 readers
63 users here now

Welcome to the game development community! This is a place to talk about and post anything related to the field of game development.

Community Wiki

founded 2 years ago
MODERATORS
 

cross-posted from: https://lemmy.world/post/35297209

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)

top 22 comments
sorted by: hot top controversial new old
[–] abbotsbury@lemmy.world 2 points 1 hour ago

You might like Love2d, it's a Lua framework that just lets you start coding, no editors or anything.

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.

So are you looking for less of a framework/engine and more of a genre template thing? I'm not quite familiar with those, but Godot is a general purpose royalty-free engine, and I've seen templates before for a Zelda-style game, so that might be something worth checking out. It's pretty simple to extend or change what you need.

[–] ProdigalFrog@slrpnk.net 7 points 7 hours ago (2 children)

If you want to make a 2D Zelda style game, there's the Solaris engine, which is purpose built for that very task.

It's open-source and completely free to use.

[–] Skullgrid@lemmy.world 2 points 5 hours ago (1 children)

This seems great , thank you so much for sharing.

[–] ProdigalFrog@slrpnk.net 1 points 4 hours ago

No prob! Hope it works well for you ^^

[–] ultimate_worrier@lemmy.dbzer0.com -3 points 5 hours ago (2 children)

It uses LUA which is the laughing stock of the programming world and uses arrays that start at 1.

[–] brisk@aussie.zone 2 points 1 hour ago

Tonnes of games use Lua. Lua is pretty much designed to be a scripting interface for a compiled engine.

Every language makes choices and tradeoffs, I'm not a fan of 1-indexing but that shouldn't actually get in the way of anyone worth their salt. Plenty of other languages used every day use 1-indexing including the perennial Fortran and the enterprise eternal (much to my chagrin) Matlab.

As an aside, the 1-indexing is enforced by array functions, but Lua as a language and syntax doesn't care. There are no true arrays in Lua, only tables (associative containers). If you have cause for it and are careful about your assumptions, you can have an array start at 1, 0, 4, -8 or even "cinnamon"

[–] ProdigalFrog@slrpnk.net 4 points 4 hours ago (1 children)

I've personally never seen that sentiment toward Lua. It's also used in Pico-8, and that's quite well regarded.

[–] ultimate_worrier@lemmy.dbzer0.com 0 points 4 hours ago (1 children)

Search the term, “Lua sucks” if you don’t believe me.

https://news.ycombinator.com/item?id=42518741

[–] ProdigalFrog@slrpnk.net 4 points 3 hours ago

Even in that link, there are just as many people praising it as there are damning it, which is fairly common for all languages, due to how opinionated people can be on that subject.

Based on the fact that you're downvoting all my comments in this thread, I would wager you are amongst those highly opinionated people 😅

[–] Mesren@piefed.blahaj.zone 9 points 9 hours ago* (last edited 9 hours ago)

There are a ton of good game engines out there. If you're making a 2D zelda-like, your best options are probably things like Gamemaker , LÖVE2D , or Godot. If you want to make it real tiny you could even make it in PICO-8.

Unity is a classic for these things but I found it cumbersome to use for the while I did, especially for 2D games, and many people stopped using Unity as their game engine after the pricing issue.

My personal recommendation is Godot. I spent a long time using Unreal Engine, Unity, and Gamemaker, but ultimately Godot is the only engine that clicked with me. It's not everyone's preference and that's okay, but I do recommend it after using it for multiple years.

You specifically point out wanting to get started pretty fast with it, paint tiles and get moving, and I'm not aware of any game engines that will get you the exact thing you want out-of-the-box without also imposing incredible limitations, it will all take some amount of setup and custom code to get started. Godot can get you pretty close and pretty fast.

There's a tutorial series by Heartbeast, Godot 4 Action RPG on doing pretty much this exact thing in Godot 4. (Sorry, I couldn't find a version of that video on a federated platform, so youtube link)

No matter what you choose, I hope you show us what you make! Good luck with it all!

[–] popcar2@programming.dev 6 points 9 hours ago (2 children)

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.

Are you looking for a framework or a game engine? You talk about frameworks in the post but it sounds like you actually want something that does everything for you, which is more in line with engines. There are a lot of 2D engines out there like Godot, Unity, GameMaker etc. that are all pretty easy to use.

I used Unity in the past but am mostly a Godot fan nowadays. Try Godot, it might be what you're looking for.

[–] Oka@sopuli.xyz 3 points 9 hours ago

I kinda get what they are saying. They want an intuitive template with good documentation. Most Unity and Unreal templates are like "here you go" with no real direction or instruction on how to use them. Or, like they said, the template is folders of folders, layers of layers.

Im sure these exist, but the more useful something is, the higher the price. I dont pay for templates, so I get what is available for free.

[–] Skullgrid@lemmy.world 1 points 9 hours ago (1 children)

Are you looking for a framework or a game engine? You talk about frameworks in the post but it sounds like you actually want something that does everything for you, which is more in line with engines. There are a lot of 2D engines out there like Godot, Unity, GameMaker etc. that are all pretty easy to use.

From my perspective it's a matter of scale. I've worked with "things" that are bare bones like OpenGL and Direct X, and complete (but old) like Unreal 2.5. I'm using the terms interchangably to mean "something that has covered the nuts and bolts of game development so I can focus on customizations and the actual game development, and leverages my skills as a programmer, while being as quick to get started on as possible"

So any solution, from a generic project in eclipse/vs code using pre defined libraries (as long as when I hit compile there is a player character I can move about) to a custom program that shows me a level editor with scripts I can attach to "pawns" are acceptable levels of soutions.

[–] popcar2@programming.dev 2 points 8 hours ago (1 children)

Unreal 2.5 is so old, your perception of engines is probably way outdated. Things are so much easier and more cohesive now, you'll definitely enjoy modern gamedev tools. Since you're already an experienced programmer you should be up and running with Godot in only an hour, there's a tutorial in the official documentation that you can skim. You can probably look into a Godot crash course video on youtube too for a quick overview.

[–] Skullgrid@lemmy.world 3 points 8 hours ago* (last edited 8 hours ago)

Unreal 2.5 is so old

Hey, I also had a look at Unity in 2015, which is where my opinion comes from.

Oh god, I'm old. You might as well have said

Looks over here, he used the grandpas engines!

... that metalocalypse reference is almost 20 years old.

Good thing I'm going to the doctors tomorrow to learn more about my borderline glaucoma and how it might relate to my blood pressure issues.

I'm fucking old man 👴😭

[–] SilverCode@lemmy.ml 4 points 10 hours ago

I've never used it, but https://www.rpgmakerweb.com/ might be what you are looking for

[–] entwine@programming.dev 1 points 10 hours ago (2 children)
  • HaxeFlixel is a popular choice for 2D stuff. You can use it with Tiled or LDTK for level editing. This sounds more like what you're looking for

  • Defold might interest you as it has a full editor built in, though I've barely used it so don't ask if it's good

  • Gamemaker is a classic, but idk what pricing is like nowadays

  • Godot will work, but I don't like it. Once you get past the highly polished editor, everything else kinda sucks

[–] pirateKaiser@sh.itjust.works 3 points 9 hours ago (1 children)

What is this 'everything else' you speak of regarding Godot? I've been using the engine for years, based on my anecdotal experience your comment sounds rather biased.

[–] entwine@programming.dev 2 points 8 hours ago

based on my anecdotal experience your comment sounds rather biased.

That's called an opinion. Usually, you can identify those when someone writes something like "I don't like it"

Godot's easy to use, that's its strength. Past that, it is riddled with issues. A lot of APIs are either poorly designed, half-implemented, or outright broken. The engine has terrible extensibility support due to a shitty build system, which is why you need to download a separate build of the engine if you want C# support. Third party native plugins like Spine also require a custom build of the engine to deal with this (want to use multiple third party "plugins"? Start learning C++ and scons so you can glue them together yourself). The internal organization of the code is sloppy, and while understandable due to it initially being a one-man project, the situation has not improved despite the massive increase in volunteers and money it has had over the years. There's a lot of bike shedding that goes on, and leadership doesn't seem to have a clear vision of where to take the engine.

GDScript sucks. The events system sucks. The hierarchical entity design sucks (although the nestable scenes helps smooth that over). Godot physics sucks. Jolt physics is better, but the integration sucks (Try making joints. The only reliable one is the 6DOF joint, but that requires you to fiddle with dozens of parameters to try and achieve what you want). A lot of the rendering features suck and/or are broken, even basic things like static lighting and shadowmaps fall apart with basic geometry. Everything is buggy as hell, and that's something you just need to accept if you're going to make games with it.

I don't hate Godot, and I do use it because of its main strength: ease of use. It's my go-to for game jams and prototyping, and I have used it a lot. But if I'm going to invest serious time/effort into a project, I'm not going to disadvantage myself right out the gate by choosing Godot.

[–] SeeFerns@programming.dev 2 points 9 hours ago (1 children)

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.

[–] entwine@programming.dev 2 points 8 hours ago (1 children)

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.

[–] SeeFerns@programming.dev 1 points 1 hour ago

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.