The lionengine-game module is the main game module. It contains a full high level API, designed to provide the essential tools for any game development, including a modular architecture.
Here the different packages:
Here a short overview of the high level API and its architecture (only main items are listed here):
Featurable: Minimalist object representation with an unique ID, configurable, and handlableCamera: Standard camera implementation, can follow an objectWorldGame: Standard game container, allowing to save & load a world easilyCursor: In-game mouse representation, sync or async to the OS oneTextGame: Special text that can be used in a 2D game axis, automatically converted to the screen axisHandler: Can handle an object list, in order to update & render them easily
![]()
Factory: Generic game object factory from an external configuration file
map package: Standard tile based map representation with standard tile & map implementation
- Collision system
What about the collision process ?
![]()
A tile is represented by:
[X,Y](location on the map)pattern(tilesheet id)number(image id on tilesheet)
![]()
![]()
Tilesheet Map using the tilesheet
BackgroundGame: Background representation, as a background elements containerBackgroundElementRastered: Support of RasterBar for the background
![]()
![]()
Original Effect CloudsGame: Designed to create a simple clouds scrolling effect
![]()
![]()
Original Effect Parallax: Designed to create a powerful parallax over a huge number of lines
![]()
![]()
Original Effect
SetupGame: Contains the unique resources that can be shared by objects instancesFactory: Create objects from their configuration file, giving the needed resources with their corresponding setup![]()
Body: Support for gravity by simulating a massCollidable: Support for collision detection with other collidableRasterable: Support for RasterBar effectLaunchable: Allows to handle the projectile system
![]()
Producible: Allows an entity to create new entities (construct buildings, produce entities...)
![]()
- ...
- Tile extractor: Allows to extract all unique tiles from a level rip
![]()
- Level rip converter: Generates a level data from a level rip and its tile sheet
![]()
Game resources must be organized as this in order to handle different themes of your map tile:
Here an example of a platform game, highlighting some of the main components:
Here an example of a strategy game, highlighting some of the main components:
Read next page: General Architecture - Network Module