Each entity has a type that tells the engine how it should be rendered and behave. There are three basic entity types: vertical, horizontal, and layerable:
Entity type options in the editor
Horizontal entities
The most common type of entity. Should be used on all elements on side scrolling games.
Should also be assigned to floor tiles on top-down view games. It is important to set every ground entity as horizontal because from a top-down perspective they will always lay on the "bottom layer" and parallel to the horizon.
Vertical entities
Entities that visually* have three-dimensions on top-down view games. Examples of vertical entities: crates, pillars, walls, barrels, characters, fire, smoke, trees, bushes...
*technically, vertical entities will never be true three-dimensional objects since Ethanon Engine is based on 2D sprites, but they may represent entities in a three-dimensional space.
Layerable entities
Are drawn and ordered by their own user-defined depth value disregarding their in-scene z-position. Depth values may range between 0.0f
(furthest) and 1.0f
(closest).
All entities may be rotated except vertical entities.
Entities are rendered from back to front. They are ascendantely sorted by z-position value or depth value in case of layerable entities.
Classic RPG-like Top-down view games should use horizontal entities for ground tiles and vertical entities for characters, walls, pilars, chests, etc.
Side scrolling games can use only horizontal entities and a z-axis direction of (0,0)
is recommended. Z position may then be used to sort entity layers.