Hello, I am building a rogue-lite with a mechanic that gives the player some power over the generation of the dungeons and the rewards the player will get. I've been having some difficulty creating the system in order to archive this in a flexible way that I won't regret later in development that makes me rebuild the whole dungeon system again…
What I have for now is a generator without the modifiers that I want to add in, this already creates a node graph for the layout, encounters, and in runtime it creates the encounters pulling data from combat templates. All of this is (I think) as data driven as it can be fo me.
Here is a diagram of what does what right now as it might help with my question:
As mentioned before the modifiers system is meant to give players some power over the generation giving a twist with RNG to what the player chose to play against. The Contract object comes from this choice, which is then relayed to the dungeon master object in runtime before the dungeon is created. The closest to this system I can think of is the one in Hades (Super Giant Games, 2020) where they give the player a “Contract” that increases enemy density, gives shields to all enemies, more elites, more difficult boss fights etc…
With this said, how would I architect this connection between the 2 things to modify the dungeon via the data given? My question feels a bit far fetched now, but if someone could give some insight or something that can go wrong that you can catch already would be amazing, thanks and have a happy new year, just a couple of days to go!