Stackable Entities
Add support for entities that can be stacked, so that a single entity object in the server represents multiple instances of the same class. Most commonly and easily this would handle objects where every single instance is identical with no variation, but it could also be used to handle non-uniform stacks using private data to keep the cost down if necessary. The basic requirements are to cut down simulation cost, reduce bandwidth load, and make things more manageable for the client.
Instead of a Stackable class this should be done by a "stackable" property to be set on the type.
Blueprint information
- Status:
- Started
- Approver:
- Erik Ogenvik
- Priority:
- Medium
- Drafter:
- None
- Direction:
- Approved
- Assignee:
- Erik Ogenvik
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Deployment
- Milestone target:
- None
- Started by
- Erik Ogenvik
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
I'm guessing that how we want to implement a stack of say acorns is to use an entity of type "acorn" and set a property, I'm guessing "stack" to the number of items. The other way would be to use a separate entity type, "stack", and then specify the entity type as attributes on that. But as I understand this latter case is something you've moved away from with many of the changes in cyphesis? (In Ember either way is as easy to implement in the model mapping framework though.)
This is also somewhere where we'll benefit from the "eris lazy default values" thing, since we want to mark those entity types that can be stacked with an attribute, "stackable" perhaps, and any item that is stackable is probably bound to appear a lot in the world, and we would thus want to keep the instance specific number of attributes down.
/erik