Day 4: Through The Veil We Go!
Today's biggest achievement has to be the transitioning between worlds. I have included this mechanic as a scroll that will transport you when read. I intend to also make a trap that'll accidentally throw you in too, when you've not planned for it! Going to the magic world spawns a new dungeon at the same level as the normal world dungeon you were in, going back returns you to the next dungeon you would have been in, i.e., the next normal level.At the moment the only real differences are in the monsters and the scrolls that you find, I've kept potions neutral. Of course, the monsters and scrolls in the magic world are a significant difference to both tempt the player there and keep them cautious of going. But this will be changing. I intend to only have magic wands in the magic world and normal weapons/armour in the normal world. Before I can do that, I need to code some magic wands! My projectile code should underpin the wands quite well.
So I made lots of other progress today too, my git logs show scrolls, projectiles, name generation and a stacking inventory for today. I don't remember what I did with the scrolls?! But I've used a Markov Chain based name generator, seeding it with old Norse names, to obscure the names of potions and scrolls until they are used or identified. The inventory got fancier too, items now stack so you can have 30 arrows, and not just one! Implementing both these features led to a bit of bug squashing as the underlying data structures changed. I also spent a bit of time doing very basic, rushed refactoring. By which I mean I copied and pasted some functions into different files for a more sensible structure. Still looking forward to really tidying up the code when the challenge is complete!
On my todo list for tomorrow there's food, wands and death. At the moment our adventurer doesn't actually die, which makes testing easy! But permadeath is a big feature in a roguelike, so it will be included. After that we''ll have most of the features required, but there's more that I'm wanting to add before the end of the challenge.