Monday, May 19, 2014

Revamping the items subsystem, oh my

There is a major surgery in progress at Jabbithole, the way it handles items is being reworked from the ground up. The fun part is to be compatible with the items already imported. Why the hassle? Read on and you'll know.

There is a huge problem with items. Seriously. They are not unique. Each item in WildStar has an almost unique identifier, but what that number represents is an item skeleton, not a full-blown, real-world, usable, equippable item. Check out a tradeskill if you don't believe me, what you'll see there is a list of white quality items. Now who'd dare to wear one of those, right? Yet when you add a Power Amp it immediately turns green or even better.

Now, is that the same item? Yes and no. The basic version is a stub, and the crafted item is an instance of that stub, with its unique properties. Yet the item identifier number is the same for both. The same applies to items with random properties that are instantiated upon loot, purchase or whatever. This is what happens with imbuable items too, after you complete the imbuement it is not the same item anymore. What this means is that we can not reliably identify the items solely by their item identifier. If we'd do so we'd miss a large part of the diversity of WildStar's wide range of itemization possibilities, and we can't let that happen, can we?

What is being worked on will ensure that your favourite +3 Moxie +4 Tech blue Socks of Impending Doom will not be overwritten by some Cupcake's +2 Finesse +6 Grit green Socks of Impending Doom, not now, not tomorrow, not even in 2016. Individual items will be individual, no matter what.

Since items are intertwined with almost everything, this change requires a lot of caution and an unhealthy amount of trial and error, but there is light at the end of the tunnel. Being reliable and future-proof is high priority at Jabbithole, so please excuse me for pushing back other anticipated features in favor of this one.

1 comment:

  1. Would rather the system be future proof before we see additional features be completed! Priorities are a great thing.