The LionEngine is a game engine especially developed during the Lionheart Remake project for an easy Java use. The engine is as a library, in Jar format (including its javadoc), which can be included in any project; for utility class uses, or to directly implement and inherit a game skeleton (including management of frame rate, extrapolation, input output...).
Using Java 7 internal libraries, it is specifically designed for 2D games (no support for 3D at the moment), and proposes a set of functions for 2D resources management (images, sprites, animations, tiles...). Inputs and outputs are also available, with an easy keys retrieval, mouse movement... Management of music file are also available (Wav, Midi, and more using plug-ins, such as Sc68). Windowed, full-screen and applet formats are fully supported, with a complete frame rate control.
Since the version 6, it supports Android 1.5 (API 3). The only change to perform is the gameplay part, as the mouse and keyboard concepts are different on Android. Everything else is fully compatible and does not require any changes.
In its current version, the engine greatly simplifies the development of Platform , Strategy and Shoot'em Up games, and also Network layer.
Since the version 7, it includes an abstract editor that should allow to write easily a dedicated levels editor for your game. It can also be used as default editor without any add-on, just run and import a project from your game compiled sources !
- Simple initialization, with version control, screen configuration and resource directory
- Extrapolation control (machine speed independent)
- Advanced filtering capability (Bilinear, HQ2X, HQ3X)
- Sequence control (intro, menu, game part, credits...)
- Easy resource management (relative to resource directory, without caring of path separator)
- Advanced image usage (sprite, animated sprite, tile based sprite, image based font, parallax)
- File I/O (binary & XML reader & writer)
- Utility classes (Random, Conversions, Maths, File...)
- Verbosity control
- Engine implementation by using AWT from JDK 7
- Engine implementation by using SWT 3.5.1
- Engine implementation by using Android 1.5 (API 3)
- Tile based map package (with minimap support, native save & load function)
- Ray cast collision system
- Compatibility with raster bar effect
- Projectile system (with a duo: launcher / projectile)
- Effect system (and its handler)
- Entity base (support external XML configuration, gravity and collision)
- Camera management (view and movement)
- Cursor (synced or not to system pointer)
- General object factory system (create instance of entity / effect / projectile from a simple enum)
- Tile extractor (generate tilesheet from a level rip image)
- Level rip converter (generate a level data file from a tile sheet and a level rip image)
- Background package (for an easy background composition)
- Extended entity (including compatibility with raster bar effect)
- Extended camera system
- A Star (A*) pathfinding implementation
- Compatible with game map system
- Extended map package (adding support to pathfinding and fog of war)
- Extended entity package (supporting separated ability: attacker, extractor, mover, producer...)
- Entity skill system (representing its actions, accessible from icons)
- Control panel system (map area for game action, HUD area for icons and more)
- Extended cursor (can interact with entities on map and control panel)
- Server & Client system
- Customizable network message
- Integrated chat system
- Support for Wav sound
- Support for Midi music
- Support for Sc68 Atari music
- Complete standalone editor which can be used in any project for general level edition
- Can be extended to perform more specific things
Read next page: Installation