Item Creation Engine Design

Item Creation Engine Design
For required features, see "Item Creation" on Project Requirements page

Initial Item Creation / Selection
Created from scratch or selected from template? Template.

Item Crafting and Modification
What actions are available for modification to an item?

Interactive modeling of items - research needed (SethS). Possible approaches for modeling unique items in-game:
 * 1) Voxel editing - really easy and straightforward; basically just a 3D pixelated Paint program (like Minecraft)
 * 2) 3D modeling - there are a number of cheap and free 3D modeling programs out there that let you point and click and edit 3D objects. While it isn't physically based, the basic features are simple to implement and allow for a high degree of geometric customization (see the freeware Anim8or.com). Point-and-click polygon creation could be easily implemented well within the course of a semester. Sculptris.com has invented something they call "Digital Sculpting" which is a lot like Photoshop, but for 3D objects: http://pixologic.com/sculptris/ The geometry and math required for this approach are quite a bit more challenging, but many well-published and well-documented algorithms exist for solving this type of problem interactively.
 * 3) Approximate physically based modeling - This approach is even more realistic but is still an oversimplification of physical reality. It is not particularly hard to implement, for example, a spring-body system where particles in a "solid" object have a basic shape but employ some amount of deformability. The main challenge here is to tweak the system so that it approximates real objects to a sufficient degree of accuracy. The complexity of this system could be highly variable depending on how accurate or detailed we want it to be. Many surveys and papers have been published detailing these approaches and their pros and cons: https://graphics.stanford.edu/courses/cs448b-00-winter/papers/TR97-19.pdf
 * 4) Exact physical modeling - in this type of system, certain laws of physics are employed with the highest degree of exactness available. Benefits are high fidelity and close correspondence to real-world systems, but drawbacks include greatly increased computational complexity so we are not likely to attempt this approach.

Storage
How do we store the resulting item?

Custom attributes
How will the item be able to interact with the game world post-creation? How will we incorporate these attributes into the creation process?