Making a traditional roguelike with no experience in game dev

With no experience in coding at all, actually.
I have this whole fantasy world I’ve worked hard on writing specifically for making a game I had in mind, and I’ve chosen Godot for many reasons, but whenever I open it I get immediately overwhelmed. Just trying to make grid movement with collisions working is getting on my nerves.
I wanted to do something in the veins of Tales of Maj’Eyal and I knew it wouldn’t be easy, but damn this initial barrier is killer.

I don’t know if this is the right category or if it’s even the right forum, but does anyone have tips or advice? I’m not sure what I’m asking for, any kind of help is welcome. I just spent so much time working on this idea, taking notes, researching stuff, and now that I’m trying to give it life it’s so frustrating feeling like I can’t.

Hi!

That’s definitely why you’re getting stuck so quickly; coding can be learnt by making games, but not by making a full roguelike game with a whole world and lots of stuff. Same for game engines (I suppose you’re also new to them?).
Before making a big game, I would advice making a few prototypes, follow some tutorials on how to make simple mechanics, take part in one or two game jams, precisely not to be overwhelmed when it comes to make something bigger. To talk about my own experience, I’ve built very small games and did programming exercising for maybe 4 or 5 years before tackling an actual “big” game. Not saying you should also spend a minimum of 5 years learning, just saying that it can take time and that’s normal.

We could give you advices on your current issue (the grid movement), but you would just get stuck and frustrated again and again on the next mechanics if you don’t build some basic knowledge and skillset.
You shouldn’t be discouraged about your game idea, just have some more patience and do it once you feel more confident about your capacities. And if during your learning process, you need some help, this forum is the place to ask!

How does that sound to you?

4 Likes

To add to what @sixrobin said, one of the things you learn about programming is that to build something big, you don’t generally make one massive integrated thing, you conceptually break the big thing into smaller problems and solve those individually. Often the smaller problems can be broken into even smaller problems. A lot of getting good at programming is learning how to split things up into smaller problems, and learning how to solve them in ways that mesh nicely with each other.

Programming is composable; you can build systems of systems of systems, ad infinitum.

One of the things this means is, if you want to learn how to make a roguelike, you don’t have to go into this tackling the whole problem at once. You can tackle it in pieces, and each piece can be a standalone tech demo or experiment or “game”. Later on, you can take those parts and assemble them into your unified roguelike game.

That is, you can work on it piecewise, and learn while you do.

For a roguelike, you’re presumably going to have:

  • a map and navigation
  • some sort of combat
  • a character sheet of some sort the player interacts with (leveling up, etc)
  • some sort of inventory management
  • magic or skills
  • level generation (populating the map with stuff)
  • dialogue and descriptions
  • triggerable events on the map (step here, something happens…)
  • loot
  • &c, depending on what style of roguelike you’re making

Each one of those components is a simpler programming challenge, and can be made first as a standalone test. You can find your feet programming the parts, and you’ll learn a lot while you do. You’ll also have fewer and simpler problems to solve, since the scope of each individual part is much more contained.

It also means when you ask for help, you’re in a better position to ask specific questions; while we can try to help (like this) when people ask open-ended general questions, you’ll tend to get open-ended general answers because there are no specifics to address. Answers like that tend to be harder to act on. When you can ask specific questions like (say) “I’m trying to do mouse drag and drop inventory management, but my icons always snap back to where I dragged them from rather than settling where they’ve been dragged to, what am I doing wrong?”, you’re much more likely to get an actionable answer that solves the problem.

At some point during the process, you’ll almost certainly decide that you’re getting the hang of it, and will be able to start stitching the parts together. Godot makes this relatively easy with the way “scenes” and the node hierarchy works; you can just kind of drag them into the same project.

To start, you might try going through one of the “make a simple game” tutorials; that will give you some direction.

2 Likes

Thanks bro, that makes sense.

I’ve seen people saying to make smaller games first, I guess I was just too invested in that setting, but I got some other ideas. And yeah I’d say I’m new to game engines, I made a horror game in RPG Maker VX Ace back in 2012~2014 when these were popular, but I wouldn’t really count it as experience, didn’t even had to really code anything.

I’ll think more about these other ideas I have for now, most of them are in the same universe so it wouldn’t be wasting time, maybe I should start working from there.

But thanks bro, that was helpful.

1 Like

Thanks, I’ll give this approach a try. I feel like with enough time, I can start getting the hang of things. It’s just that sometimes it feels like my brain’s about to explode, even when I follow a tutorial and see that it works, I still find myself trying to understand why it works, and that can get overwhelming.

Breaking things down into smaller pieces might really help, so thanks for that tip.

One thing that gets me with tutorials is that sometimes I’ll follow one, only to realize halfway through that it’s outdated, and then suddenly I’m lost again, lol.

That happened recently when I was trying to work with tilemaps. But honestly, I don’t even feel like I’m at the point where I can ask how to make a tilemap, because the next second I’ll have another random beginner question, and at this point it just feels like I’d be spamming the forum.

I’d suggest going through Introduction — Godot Engine (stable) documentation in English

That should be fully up to date, and cover a lot of ground.

1 Like

Thanks, I will! Maybe I should have done that from the start lol