Our goal with The Machinery has always been to make a system that takes flexibility and extensibility to new levels. This leads to some unique challenges.
At the heart of our system is an entity-component model, where user written plugins can add new components. However, in addition to adding components, we also want the user to be able to extend the system by adding new custom editors to work with these components. For example, we want it to be possible to replace the 3D scene editor with a customized tile-based 2D editor, or do other crazy things that we haven’t even thought of.MORE »