Dungeon Rogueler - Devlog #0

posted in Dungeon Rogueler
Published April 06, 2024
Advertisement

Hi everyone!

I've been thinking on start a project. It basically will consist of a video game with dungeon crawler genre mixed with rogue-like/rogue-lite. Why? Just because. It will be FPS and grid-based. I'm thinking on if it'll be turn-based or tick-based, I'm not sure about this yet.

I'm a few-words and visual-oriented person so I'm going to start with something tangible: the dungeon generator.

I've coded a dungeon generator ever, but it was pretty coupled to context of the game. It'll be agnostic this time by keeping the context out of the generator (teleports, enemies, items, …). I'll add a way to add general data without knowledge of dungeon generator. Doing it this way it could be used in other video-games.

Regarding the generator algorithm, in the very first searching I found: https://www.gamedeveloper.com/programming/procedural-dungeon-generation-algorithm​.​ I don't like actually this algorithm, it uses a physics engine to avoid collisions between rooms. It's original but I prefer using traditional and engine-isolated features to generate the dungeon. Following this decisions I'll code a BSP algorithm (binary space partitioning). It's pretty simple and gets good results. Here a link https://www.roguebasin.com/index.php/Basic_BSP_Dungeon_generation.

This algorithm basically divides the area in several sections randomly, horizontally and vertically, when a section reaches the minimum size (stop condition) it is added as valid section to place a room (A).

A: divide sections

Once all sections are created, the algorithm creates a room per section by taking into account the limits of the section (B).

B: place rooms

Finally, the rooms are connected by corridors (C).

C: connect rooms

And that's all.

Regarding language/engine I'm going to use Godot Engine https://godotengine.org/​. I've used this engine for several years and it fits perfect with me.

0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement

Latest Entries

Advertisement