7DRL Day 4: Enemy types, map configuration

This morning, I fixed all the bugs I introduced last night when I was too tired to be smart. Then I made a few improvements to the combat and entity status UI, so now fatigue is a real factor when fighting! Each time you engage in combat (hit or miss), you gain fatigue. If it reaches 75% of your max fatigue score, you start to lose a turn every other turn. If it reaches 90%, you lose two turns. (This seems too punishing for now, so I might scale back the 90% penalty.) The gameplay result of this change is that you can use weapons you aren't "supposed" to use yet, but you can't use them repeatedly or you'll get creamed.

After that warmup, I started on my main task for the day: defining enemy types. Each enemy type has a name, description, equipment, weapons, and tags for the map generator to use.

Finally, I started to refactor the map generator. It's going to need to be more sophisticated if I want to have any kind of map themes or even a difficulty curve; if I just put any old enemy in a level, it's going to be much too hard. So I spent an hour making sure I could define metadata for each prefab and make the map generator aware of it when putting things together. There's no visual change here yet, but it's going to pay off in a big way tomorrow when I start to define the arc of the whole game.

Side Quest: CSVs

The biggest takeaway I got from making my last two roguelikes, Rogue Basement and Power-Q, is that more CSVs = faster iteration. Keep as much as possible out of code and in text-based data files.

Here are the CSV files I'm working with at this point (the "weight" value is random-choice weight, not mass):

    id,name,char,color,see thru?,walkable?

Get Dr. Hallervorden

Download NowName your own price

Leave a comment

Log in with your itch.io account to leave a comment.