⚠ HexCrawl is currently in Pre-Alpha. Expect rough edges and frequent changes. Follow the Dev Blog for updates.

Consumables

Consumable Icons

Right now, without the cheats to jump from point to point to finish off quests, the trek across the map can feel quite tedious. It’s a lot of pressing the move button and waiting to see if anything happens. It’s time to start correcting that.

So this week the focus is off AI and back on good old gameplay. I’ve now implemented consumables - single-use items that perform a variety of cool effects, some of which already existed through other means and some of which required brand-new game logic.

Design

The most immediately obvious use case here is the good old healing potion. And I figured might as well add in a mana potion to boot, since that’s another limited resource. I started thinking about where and how the user would use these - maybe while sitting on the map before moving, maybe in the middle of a combat. That’s two unique locations - maybe I should put a flag on each consumable to indicate which use cases it supports. And if I do that, I should really implement some examples of each use case.

My list of implemented consumables now includes:

  • Healing Potion - restores 1-6 hit points.
  • Mana Potion - restores 1-6 mana points.
  • Stoneskin Potion - +2 armor for 2-7 rounds.
  • Scroll of Fireball - single use AOE attack in combat.
  • Haste Potion - doubles the player’s daily movement points for one day.
  • Teleport Scroll - immediately moves the player to any hex on the map.

Inventory Panel

New Features

A whole pile of features came along for the ride to support all of that, beyond the basic mechanics for consuming an item to produce an effect.

Item Stacking - Consumables can be stacked in your inventory, so 3 healing potions don’t take up any more room than 1 healing potion.

Temporary Buffs - I needed a way for the stoneskin potion to give you temporary armor points, and while I was at it I created a generic system for all manner of future temporary buffs.

Hex Selection - Letting the player select which hex they want to teleport to meant building a whole input layer for selecting an arbitrary hex. And yes, it does respect the terrain, so you can’t teleport into the middle of an ocean.

Free Ability Use - The fireball ability was already implemented, just not hooked up to anything. But it was intended to be a spell that costs mana. To attach it to a consumable scroll, I had to write a way for the scroll to pay the mana cost instead of the character.

Combat Use Item UI

Loot Table Updates

Now that I’ve got twice as much stuff in the game as before, I figured why not take a pass at the loot tables? The existing loot system was functional, but I never really thought about what various encounters should grant. It’s still pretty rough as there’s just not enough content to drive it, but now you should generally get better stuff when facing large hordes or discovering interesting secret caches of treasure than you get from the random goblin you bump into in the mountains.

Cheats

And to test it all, I needed some new cheats. The inventory UI now has a cheat button, if you have cheats enabled, that lets you grant yourself both specific items and rolls on any of the various loot tables.

More to Come

Consumables are only a first swing at the tedium problem, and I intend to add yet more gameplay stuff. I want there to be more variety in the basic roam-around-the-map loop. More interesting encounters, more interesting choices to make in combat, etc. Anything that makes the space between two points on the map worth paying attention to.