Possible Names and Mechanics
I spent some time this week thinking about a name and what kind of mechanics I want to have.
I am using That Time I Got Reincarnated as a Slime as my inspiration so I want to incorporate that into the name.
Some examples of possible names from me spitballing ideas at 1am:
- That Time I Played a Roguelike
- That Time I Got Killed in a Roguelike
- That Time I Died in a Roguelike
In the manga, most monsters are nameless. A person with high magical abilities can grant a monster a name. When this happens, the monster becomes much stronger and can evolve. Naming a monster uses a large amount of magical energy. If someone uses too much they can permanently decrease or even lose all of their magical capacity. Rimuru (the main character) does not know this and early on names an entire village of goblins, passes out from exhaustion, and wakes up three days later to a village of hobgoblins.
I definitely want there to be high level enemies that can give names. This would give some incentive to push forward and quickly defeat them before they name too many monsters. Also, maybe if a named enemy is attacked, it has a chance to call for help from its master and enemies with the same master.
To balance this ability, the master would temporarily be weakened after naming a monster. An interesting part of the master ai for me would be deciding whether giving a name is worth the risk. For example, naming a monster when the player shows up is a bad idea. However, if a master is currently being chased/attacked, is low on health, and has enough magic energy, they could panic and start naming enemies in an attempt to survive.
Now that there’s a simple ai and a slightly better ui, it’s starting to be a little more game like.
- got advice from /r/roguelikedev on how to handle levels that the player is not on
I think that I will:
- on start generate a master seed (if not set) and generate level seeds from it
- generate levels as the player first enters them (instead of pre-generating) using the seeds
- process events for the current level and the ones above and below
- allow “sentient” enemies to use stairs (humans, dwarfs, orcs, etc)
- process events on levels containing a boss enemy
- changed renderer trait and reimplemented for libtcod and termion to make it more uniform
- create ui struct on top of renderer to make it easier to change ui elements
- scroll the map view around the player so that the map doesn’t have to be the same size as the panel
- add frames to message log and status panels
- create level struct to store the map and objects for a level
- add a ai that:
- chases the player
- goes to the last known location when it loses sight
- moves randomly otherwise
- add some items/inventory system
Health and strength potions, armor, and weapons.
- change Object and Tile definition loader to get rid of unecessary/duplicate data
Currently, it is the full object struct in json form so there are a lot of unecessary things.
game using termion renderer
game using tcod renderer