The composition of this engine is focused on the ease of use. We had seen others 2D engines and we decided to design MindShake with all the features we think are essential.
In this way we decided to have one main object called “Device”, this element can provide access to all managers of low level elements, so we have them organized and they can be quickly accessed.
The object “Device” can give us access to:
- Renderer (internal element, in charge of rendering)
- Window Manager (responsible of size and position of the visual window)
- Texture Manager (internal element to ease load and manage textures)
- Scene Manager (manager of all objects that will be shown and his containers, layers, sprites, texts…)
- Behavior Manager (element to control the behaviors added on our games)
- Camera Manager (manager of all the camera objects)
- Font Manager (manager of fonts, this fonts must be created with AngelCode Bitmat Font Generator and are loaded as textures)
- Kinematic Manager (manager of kinematics objects)
Some of these objects will never be used by the user, like the renderer, the window manager or the texture manager that are only necessary for set some options or get information from the system. But others will be intensely used, like the Scene Manager that defines all the elements present in the world, or the Behavior Manager that handles the behaviors of the diferent details of our world.