Core features demonstration
In this example the spatial partitioning algorithm work. Algorithm takes control over collision detection, components rendering and components lifecycle and frequency of updates. This allows to gain application performance by saving additional resources. Also a special 'Layer-components' are used to compile statical components to single layer but keeping ability to update layer's image as soon as components parameters are changed.
Use WASD to move the player and use the mouse scroll to change zoom. Hold direction button and press space to fire a bullet. Notice that bullet will fly above water but collides with bricks.
Press LShift button to toggle firing bullets which also destroys water.
Press T button to toggle player to collide with other objects.
Press at any screen point to teleport Player instantly to the click position.
Press C to spawn more active components
Press M button to show clusters debugging info. Green clusters are active clusters, where components are viewed as usual, update() and collision detection works its ordinary way. Grey clusters are inactive clusters. Such clusters intend to be "out-of-the-screen", components are not rendering inside such clusters. Dark clusters shown if you moved too far for your's starting position. Such clusters are suspended: components are not rendering, update() not work and all collisions are disabled.