The LionEngine is designed as a multi-module library. The goal is to select only the required part of the engine for a project. Module organization is clear enough, as they only focus on what they are designed for.
Here the different modules, hierarchically ordered:
Each module contains a set of tools:
- lionengine-core: This is the main module, always required for any other module usage
core
: Engine initialization and main toolsanim
: Animation container and playerdrawable
: Complete drawable package, including image & advanced spritesfile
: Integrated I/O control, with simple reader & writer for both binary & XML files- lionengine-core-awt: Used for target computer, by using AWT and main renderer
- Dedicated to computer games, working as windowed, fullscreen and applet mode
- lionengine-core-swt: Used for target computer, by using SWT and main renderer
- Dedicated to computer games, working as windowed and fullscreen
- lionengine-core-android: Used for target mobile phone, by using Android 1.5 and main renderer.
- Dedicated to smartphone and tablets games, working with Android 1.5 minimum
Choose only one target, lionengine-core-awt, lionengine-core-swt or lionengine-core-android
- lionengine-game: Main game development module
- Add standard tools, such as
camera, factory, handler...
entity
: Entity base with gravity & collision supporteffect
: Base package to add custom effect, such as explode and smokeprojectile
: Base package to throw a projectile from a launchermap
: Base package for tile based map supportpurview
: Standard game object capability (configuration, gravity, collision, raster...)- lionengine-game-platform: Platform game development module
- Requires lionengine-game
background
: Package designed to help background creation, including scrolling & parallax effectsentity
: Entity platform specific, with advanced map tile collision- lionengine-game-pathfinding: A-star (A*) implementation with custom heuristics
- Requires lionengine-game
map
: Compatible with any tile based map- lionengine-game-strategy: Strategy game development module
- Requires lionengine-game & lionengine-game-pathfinding
- Enhance the camera, add a game cursor and a control panel
entity
: Enhanced entity packagemap
: Enhanced map package with pathfinding & fog of war supportability
: Give more power to your entity by combining their ability (construct, produce, attack, move...)skill
: Link the entity abilities to the control panel by clicking on their icons- lionengine-network: Bring the network to your game
- Client - Server system, with connected world
message
: Customizable network message, by controlling any data sentpurview
: Integrated default chat & input listener- lionengine-audio-wav
- Support Wav sound
- lionengine-audio-midi
- Support Midi music
- lionengine-audio-sc68
- Support Sc68 Atari music
Can I mix the third party modules in my project ?
The answer is yes of course. You can combine these modules as you wish.
For example, to create a multiplayer strategy game with Sc68 music support, you will need:
- lionengine-core
- lionengine-network
- lionengine-audio-sc68
- lionengine-game
- lionengine-game-pathfinding
- lionengine-game-strategy
Read next page: General Architecture - Core Module