Le LionEngine est un moteur de jeu spécialement développé à l'occasion du projet Lionheart Remake pour une utilisation facile avec Java. Le moteur se présente sous la forme d'une librairie au format JAR (accompagnée de sa javadoc), qui peut donc s'inclure dans n'importe quel projet; soit pour n'utiliser que des classes utilitaires, soit pour directement implémenter et hériter d'un squelette de jeu (incluant la gestion du frame rate, l'extrapolation, les entrées sorties...).
Faisant appel aux librairies internes de Java 7, il est spécialement orienté 2D (aucune gestion 3D pour le moment), et propose donc un ensemble de fonctions dédiées à la gestion des ressources 2D (images, sprites, animations, tiles...). Les entrées sorties sont aussi au programme, avec une récupération facile des touches du clavier, du mouvement de la souris... La gestion de fichiers sonores est aussi disponible (de base WAV et MIDI, ainsi que d'autres formats via des plugins, comme SC68 et OGG). Les formats fenêtré, plein écran et applet sont totalement supportés, avec contrôle du frame rate.
Depuis la version 6, le moteur supporte également Android 1.5 (API 3). La seule modification à effectuer réside dans le gameplay, étant donné que la notion de clavier et souris sont différent sous Android. Tout le reste est parfaitement compatible et ne nécessite aucun changement.
Dans sa version actuelle, le moteur facilite le développement des jeux de type Plateforme, Stratégie et Shoot'em Up, et propose également un support dans le cadre de jeux multijoueurs.
Des slides de présentation sont également disponibles ici: Slides
Depuis la version 7, un éditeur abstrait est inclus afin de faciliter la création d'éditeur de niveaux dédié pour votre jeu. Il est également possible de l'utiliser tel quel sans aucun ajout, simplement en important les sources compilées de votre jeux !
- Initialisation simple, avec contrôle de version, configuration d'écran et répertoire des ressources
- Contrôle de l'extrapolation (vitesse indépendante de la machine)
- Filtrages avancés (Bilinéaire, HQ2X, HQ3X)
- Contrôle de séquence (intro, menu, jeu, crédits...)
- Gestion des ressources facilité (relatif à une racine, sans se soucier du séparateur)
- Images avancées (sprite, sprite animé, sprite à base de tile, police d'écriture à base d'image, parallaxe)
- Entrées / Sorties (binaire & lecture & écriture XML)
- Classes utilitaires (Nombres aléatoires, Conversions, Maths, Fichiers...)
- Contrôle de la verbosité
- Implémentation du moteur en utilisant AWT du JDK 7
- Implémentation du moteur en utilisant SWT 3.5.1
- Implémentation du moteur en utilisant Android 1.5 (API 3)
- Package pour les map à base de tile (support minimap, fonctions de sauvegarde & chargement natives)
- Système de collision ray cast
- Support de l'effet raster bar
- Système de projectile (avec un duo: lanceur / projectile)
- Système d'effets (et son contrôleur)
- Base d'entité (support de configuration XML externe, gravité et collision)
- Contrôle de la camera (vue et mouvement)
- Curseur (synchronisé ou non sur le pointeur système)
- Système de fabrique d'objet générique (crée une instance d'entité / effet / projectile depuis un simple enum)
- Extracteur de Tile (génère une tilesheet depuis une image de level rip)
- Convertisseur de Level rip (génère un niveau depuis une tilesheet et une image de level rip)
- Package du Background (pour une composition de fond facile)
- Entité étendue (incluant le support de l'effet raster bar)
- Système de caméra étendu
- Implémentation du pathfinding A Star (A*)
- Compatible avec le système de map intégré
- Package de map étendu (ajoute le support du pathfinding et du brouillard de guerre)
- Package d'entité étendu (support des capacités: attaquant, extracteur, se déplacer, produire...)
- Système de compétence des entités (représente ses actions, accessibles depuis des icônes)
- Panneau de contrôle (zone de jeu pour les actions, zone du HUD pour les icônes et autre)
- Curseur étendu (peut interagir avec les entités sur la map et le panneau de contrôle)
- Serveur & Client
- Messages réseaux personnalisables
- Système de t'chat intégré
- Support du format de son Wav
- Support du format de musique Midi
- Support du format de musique Sc68 Atari
- Éditeur complet pouvant être utilisé par n'importe quel projet dans le cadre d'édition de niveaux
- Peut être complété pour réaliser des choses plus spécifiques
Lire la suite: Installation