Inventory Corification Part 2 - Creation of CARBON Inventory
As the EVE Software team sat over a steaming bowl of sour rams testicles, the customary food in Iceland this time of year, the topic quickly changed to the observation that all items in EVE are in some sort of Inventory, just like all those steaming testicles that were contained in this bowl in front of us.
As the night progressed and we stared into the Aurora Borealisto the gentle rumble of distant volcanic eruptions and soothing earthquakes, we passed along the bottle of Brennivín. As we progressed to the bottom the bottle we came to the conclusion that a dev blog on CARBON Inventory was due.
Last summer we upgraded the Inventory system to use 64 bit item IDs, that task was part of a larger process which is the "corification" of the EVE Inventory System, the end result of which will be the CARBON Inventory System.
The purpose of CARBON has been discussed in other dev blogs, but in short the goal is to separate game specific code and game agnostic code, the benefit of which will be simpler maintenance and better use of development resources.
The corification process of the Inventory System will take place in three steps, called Phase -1, 0 and 1:
Phase -1 - DB Upgrade (deployed 2 Nov 2010, Tyrannis 1.2)
This change was to upgrade to 64-bit item IDs, detailed in CCP Creber Cattus' "64 bits should be enough for everybody" dev blog.
Phase 0 - Preparation (deployed 8 Mar 2011, Incursion 1.3)
The primary goal of this phase was to prepare the code for further work. This consisted of general code cleanup and removal of dead code.
The secondary goal of this phase was to make some long overdue modifications to inventory operations, and toughen up some of the item transfer mechanisms to counter specific item transfer exploits and griefing.
Another optimization we released as part of this update is "Inventory Setification" which is promising a dramatic performance improvement both in high traffic systems such as Jita, and in inventory heavy operations (such as missile fights). More on that in CCP Veritas' "Missiles hate my hamsters" dev blog, and an upcoming follow-up devblog once the final numbers are in.
Phase 1 - Corification (work starting)
During this phase the actual corification will take place. Common inventory functionality (i.e., game agnostic functionality) will be separated from EVE and used to create the new CARBON Inventory System.
These changes (hopefully) will be transparent to the players, and will be deployed using our brave new world deployment scheme, where engineering updates are deployed separately from content and gameplay additions/modifications.
Here is a graph showing the evolution of the ratio of corified inventory systems to uncorified systems.
Thank you for your time. Now it's time to dig up the rotten shark and prepare dinner.
- CCP Orion