Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)

Solid execution of a simple idea. I love me a rouge-lite game. I'd wish for a bit more variety in the rooms it got boring before I died. Would be interested in how you created your rooms.

How technical do you want me to get in the explanation? The short answer is that I have a generator that makes a procedurally-generated grid layout of rooms, a room class that handles specific data of given room (base size, doors/exits, difficulty, corridor sizes), and finally an object that takes in data about a room and draws the room using autotiles.

Well, the generator part is the most interesting part about it. Do you have any blog post about it. Or system you based it on?

I think I'd have to write an essay to explain how it works. I tried to look into existing maze-generation algorithms but I ended up just winging the algorithm. The sad reality is that a lot of the code ended up being messy, which makes sense given that it's a hacky game jam prototype. The room grid generator itself was still somewhat okay-written (the actual playable room generation is where the spaghetti begins), but either way I've been thinking about redoing it from scratch, as now that I know what I'm doing I can actualy implement proper code, and then open-sourcing the cell grid generator as a set of GDScript classes (for Godot Engine). I'm not sure when I'll get around to that, though.

Oh, one more interesting thing to note about the level generation is that the room tileset is in negative space. Getting the autotiling to work right took me a little bit longer than I would've liked but it worked out well enough, I guess.

(1 edit) (+1)

I hope I'm not "butting in" in an Annoying way.. if you're interested in procedural random generation and free material I suggest following this :)

That's of course using UNITY and c#

https://www.youtube.com/watch?v=qAf9axsyijY&t=2s

https://www.youtube.com/watch?v=hk6cUanSfXQ&t=146s