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).
Once all sections are created, the algorithm creates a room per section by taking into account the limits of the section (B).
Finally, the rooms are connected by corridors (C).
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.