Day 5: Nearly thereThe basics are all done. My git log reads: Traps, Wands, Food, Permadeath, AmuletOfYendor, MonsterAbilities. So we have hidden traps that you probably don't want to accidentally trip over. Wands that do awesome stuff and can only be found in the magic world. When you die, like a true roguelike, you die. There's a nice farewell screen for you too. On the lighter-side, if you do somehow manage to complete the game, you can get the Amulet of Yendor and there is a nice congratulations screen for when you make it out, which you'll probably never see. And monsters now have annoying special behaviours, mostly in the magic world. I think the Siren has to be my favourite addition, that monster will lure you to them, which is a real pain at times!
All that's really left to do is adding spice, I've got a few more tweaks to add to combat, one more scroll to make work, and some additional features to add to the map. Then it's just balancing the combat, without the tweaks I want to add, it's a little too easy for the first few levels, at the moment. So some balancing will need to be done to make it more roguelike. After all, I have friends who've played Rogue for decades without ever completing it, just like the original authors.
Despite the rush, overall I have to say the approach I've taken to the programming has mostly being beneficial, using functions instead of methods. The two places it's bitten me is in using one movement function for both monsters and players; my code would be tidier if I separate those two out, and the ensuing combat functions. Besides that, I got a nice groove on making scrolls, potions, wands, traps etc. After the competition I intend to abstract out a lot of that repeated code and the same for the actions repeated code. Looks like we should come in on time!