Friday 9 September 2016

Clothing enchantments

I finished the last pieces of clothing today, but then, as I was playtesting it, I felt that I quickly discovered everything, and there wasn't much to do other than find different colours for clothing. I decided that in order to make clothing a more interesting aspect of the game, I would implement a randomly generated enchantment system!

Enchantments

So, the way I've implemented it is that there are no pre-set rare clothing items in the game. Instead, all clothing that isn't part of a clothing set is tagged as common rarity, and has the chance to spawn with a random enchantment (which bumps it's rarity up from common to rare). Like other RPGs, you'll need to get the clothing identified before you know exactly what it does. Clothing can have positive enchantments as well as negative ones. Items with negative enchantments are labelled with the rarity jinxed, and are pretty much useless to the player.

Punishing instant-identification

I wanted to give the player an option to bypass the identification stage, as they might be out of money or they don't want to make the journey back to an identifier. However, there must be a drawback to this, or else there would be no point in identifiers (and I wanted to keep them as a money-sink). So, I needed to give the player a risk when bypassing identification.

I toyed with the idea of destroying the item on failure, but it felt extremely anticlimactic to have a mysterious item suddenly disappear. I also thought of making a failed identification result in a higher cost at the established identifier, but that didn't feel punishing enough (and I soon felt like it was always worth trying instant-identification).

After a few failed ideas like these, I played with the idea of using the generic locking method that I originally designed for chastity and restraining devices. I implemented instant-identification by having the player equip the mysterious item to identify it. As the player doesn't know beforehand if the enchantment is good or bad, I could then lock clothing with bad enchantments onto the player, forcing them to find or buy an unlocking charm.

This system feels far better than the previous iterations. There is a decent punishment for the player if the item is jinxed, it offers instant feedback as to what's happened, and there's no awkward destruction or removal of items. At the end of all this, there is now an extra aspect to clothing, which makes the game more fun and varied as you try to find items with better enchantments.

Jinxed! (lore considerations)

All of this is able to happen due to the demon's magic (yeah, yeah, I know, the old "a wizard did it" cop-out). The game uses a high fantasy style of magic, so having items being enchanted and jinxed fits in with the rest of the game world.

A word on progress

The enchantment work (along with some frustrating bugs after I optimised some rendering code (reducing rendering times by a factor of almost 200)) took most of the day, so I still haven't started on weapons. I anticipated the danger of feature creep and have set aside 7 "free" days, and after today, I have 6 left... Tomorrow I'll be finishing and polishing the enchantment code and getting started on weapons! (For real this time!)