Tuesday 6 September 2016

Clothing progress

Today I finished polishing the inventory system and made a lot of new clothes. There are currently 40 pieces of clothing in the game, but I still have more to make tomorrow. In total, there will probably be around 60 items of clothing in the game at launch. The most time-consuming part of making new clothes is creating the image to be used in the inventory UI. I'm using .svg files to display clothing, so I'm able to easily re-colour the image at runtime. All of the images will be in a semi-placeholder state for the first few releases. Hopefully somewhere down the line I can hire an artist to create some professional-looking images.

A little more on clothing (and a wall of text, I got a bit carried away)

Seeing as I'm already talking about clothing, I'll add some details about how clothing works in the engine (don't worry, I won't get into technical details concerning the code). Basically, each piece of clothing has a few sets of information that tell it how it should behave. It knows what other areas it's incompatible with (e.g. a swimsuit can't be worn with panties or a bra), how it needs to be displaced or removed in order to get access to areas it's blocking (e.g. a T-shirt will need to be pulled up or removed before you can do things to your bra/breasts), and what clothing needs to be removed in order to equip/unequip it (e.g. when equipping the swimsuit, any clothing in your legs, torso or chest slot will need to be removed first). Now, removing all those clothes manually each time you want to equip/unequip an item soon gets quite tedious, so I made the inventory do it all for you, making it display a description based on how you equipped your item.

I'll give you an example of what clothing management looks like without an automatic system. Once again, I'll use the swimsuit as an example. (I'm sure you can guess what piece of clothing is used the most in testing.)

  • You want to equip the swimsuit, but you need to get access first.
    • Navigate to and unequip your crop top.
      Navigate to and unequip your miniskirt.
      Navigate to and unequip your corset.
      Navigate to and unequip your thong. (This is taking some time...)
  • You now are able to equip the swimsuit.
    • Equip swimsuit into it's slot (chest slot), automatically replacing your bra.
  • Now you have to manually replace all 4 pieces of clothing.
    • Navigate to and equip your thong.
      Navigate to and equip your corset. (Pretty bored of doing this by now...)
      Navigate to and equip your miniskirt.
      Navigate to and equip your crop top.
  • Finally done!

  • A better way

    When I first made the inventory system, I found that this method provides a lot of interaction, but the continuous management soon got annoying. I decided to make a method that could carry out all the steps automatically, and deliver a detailed description at the end. In this way, you still get all the same information, but with far less button-pressing and inventory navigation to do. Due to the ability of some clothing being able to be locked (like chastity cages and belts), I assumed that at some point in the future I would want the ability to lock absolutely any piece of clothing, not just ones on the bottom layer. This led to the problem that some clothing may be indirectly blocked from being unequipped. Consider the following:

  • You want to unequip your swimsuit.
  • In order to do this, you will need to remove your skirt.
  • The skirt is blocked by another piece of clothing (that somehow isn't directly blocking the swimsuit).
  • The automatic removal method returns "You can't unequip your swimsuit, as your skirt is being blocked by xxx".
  • The automatic removal method will detect and inform you exactly why you can't equip/unequip clothing. It's then up to you to find a way to unlock the clothing that's blocking you. In the event that there is no clothing blocking your way, the method will prioritise displacing clothing before removing it when creating the generated description (e.g. you'll pull up your skirt to remove your panties instead of taking your entire skirt off). Using the automatic method, equipping the swimsuit can now be done with one button press, and the interface will update with this description:

    You remove your crop top by pulling it up and over your head.
    You wriggle your hips as you pull down your miniskirt, stepping out of it once it's around your ankles.
    You untie the laces holding your corset together, and remove it from your stomach.
    You take hold of your thong and slide it down and off your legs.
    You step into the swimsuit, pulling it up to cover your torso before sliding your arms through the holes.
    Having equipped your swimsuit, you re-equip your corset, miniskirt and crop top.
    Your thong was added to your inventory.


    Tomorrow's plan

    So that's basically how the inventory is dealing with clothes right now. As I mentioned at the start of this post, tomorrow I'll be finishing the creation of all clothing for version 0.1.0. In tomorrow's post, I'll post a collage of icons for all common and rare clothing that will be in the game at release. (I'll keep epics and legendaries as a surprise, minus the Maid's outfit that I've already revealed.)