Day 5 progress: bits and bobs


Today I decided not to focus on any one thing in particular, rather to do what I can to have a playable game, in case I get sidetracked again. So, what did I accomplish? (OK, a few of these were actually late last night!)

  • Monster types are now loaded from a JSON file, rather than being hardcoded.
  • I added a bunch of new monsters, including some “unique” versions of the standard monsters which are stronger but only appear once per playthrough.
  • There are now multiple dungeon levels connected by (one-way) stairs. Deeper levels tend to have more dangerous monsters, but you never know what you’ll find! (I want to give the dungeon a finite depth, and when you defeat the final boss, the stairs leading back up open up again, and you have a limited amount of time to escape…)
  • To make the game a bit more random and a bit more challenging and maybe a bit less overwhelming, the player now starts with only two randomly chosen spells: an attack spell (either fire or darkness) and a utility spell (one of the other four elements). (The plan is that the player will be able to learn and upgrade spells, as well as boost the hero’s stats, by collecting “elemental essences” from defeated monsters.)
  • The game no longer uses a fixed, hardcoded seed; one is generated based on the time of day, or you can override it by specifying one on the command line.

I also noticed a few bugs, and fixed some of them:

  • Fire spells were reporting zero damage, something about comparing the target’s HP to itself at the same time, rather than comparing it between before and after getting hit. This is now fixed.
  • The player’s move (or even a spell) can fail to go through. This seems to happen when there are monsters that are faster than the player on the current level. I have yet to figure out what exactly is going on…
  • Weird things happened if you pressed enter to cast a spell before actually typing any letters. I think the game was crashing or something. Now doing so simply aborts the cast and returns you to the map view.
  • I was doing some rather hacky font scaling, then I realized that that had to do with the DPI setting on my 4K monitor, and if I were to publish the game, then everything would be tiny! So I fixed that so that the game checks your screen’s DPI and sets the scaling appropriately.

So, what’s left to do?

  • Fix the “moves fail” bug, that’s really annoying!
  • Monster spawning. I intended to do this on day 1, but completely forgot about it. Not a big deal though.
  • Multiple words per element, with longer words being more powerful spells. I really doubt I’ll have time for this, but who knows?
  • Multi-word spells. Each word will have its own unique effect when used to modify a spell. For instance, while the fire word on its own casts a fire bolt, using fire to modify another spell might cause a burn effect in which the spell takes effect repeatedly over several turns.
  • Spell animations. Just light up the affected tiles in the spell element color.
  • Mouse stuff. Click somewhere to walk/attack there, tooltips, that sort of thing.
  • Elemental essences. These would be used to learn new spells, upgrade your existing spells, and boost your stats. They are dropped by monsters of the appropriate element.
  • Monster spells. Monsters should be able to cast spells too! It’s only fair! 😛
  • Endgame and victory. Once you reach the deepest level of the dungeon, the final boss should appear. If you can beat him, then the stairs back up will reopen, and you’ll need to rush back to the dungeon entrance before time expires. Just like Super Metroid! But this time the monsters will be buffed, they won’t be pushovers this time around!

Get Found Magic

Leave a comment

Log in with itch.io to leave a comment.