Le LionEngine est une librairie multi-module. Le but est de pouvoir sélectionner uniquement la partie requise du moteur pour un projet. L'organisation des modules est claire, étant donné qu'ils se concentrent uniquement sur ce pour quoi ils ont été conçu.
Voici les différents modules, organisés hiérarchiquement:
Chaque module contient un ensemble d'outils:
- lionengine-core: C'est le module principal, requis par tous les autres modules
core
: Initialisation du moteur et principaux outilsanim
: Conteneur et lecteur d'animationdrawable
: Package de dessinable complet, incluant image & sprites avancésfile
: Contrôle E/S intégré, avec lecture & écriture de fichier binaire & XML- lionengine-core-awt: Utilisé pour la cible PC, en utilisant AWT pour le rendu principal
- Dédié pour les jeux sur ordinateur, fonctionnant en fenêtré, plein écran et mode applet
- lionengine-core-swt: Utilisé pour la cible PC, en utilisant SWT pour le rendu principal
- Dédié pour les jeux sur ordinateur, fonctionnant en fenêtré et plein écran
- lionengine-core-android: Utilisé pour la cible mobile, en utilisant Android 1.5 pour le rendu principal
- Dédié pour les jeux sur smartphone et tablette, fonctionnant au minimum sous Android 1.5
Choisissez une seule cible uniquement, lionengine-core-awt, lionengine-core-swt ou lionengine-core-android
- lionengine-game: Principal module de développement de jeux
- Ajoute des outils standards, tels que:
camera, factory, handler...
entity
: Entité de base avec support de la gravité & collisioneffect
: Package dédié à la gestion des effets, comme les explosions ou la fuméeprojectile
: Package dédié à la gestion des projectiles, depuis un lanceurmap
: Package dédié au support des map à base de tilepurview
: Capacités standards des objets de jeu (configuration, gravité, collision, raster...)- lionengine-game-platform: Module de développement de jeux de plateforme
- Requiert lionengine-game
background
: Package conçu pour aider à la création de fond, incluant l'effet de scrolling et de parallaxeentity
: Entité pour jeux de plateforme, avec un système de collision avancé à base de tile- lionengine-game-pathfinding: Implémentation de l'A-star (A*) avec des heuristiques personnalisées
- Requiert lionengine-game
map
: Compatible avec des map à base de tile- lionengine-game-strategy: Module de développement de jeux de stratégie
- Requiert lionengine-game & lionengine-game-pathfinding
- Améliore la caméra, ajoute un curseur de jeu et un panneau de contrôle
entity
: Améliore le package des entitésmap
: Améliore le package des map, avec support du pathfinding et du brouillard de guerreability
: Fournis des capacités combinables aux entités (construction, production, attaque, déplacement...)skill
: Lie les capacités des entités au panneau de contrôle en cliquant sur leurs icônes- lionengine-network: Apporte le réseau à votre jeu
- Système Client - Serveur, avec un monde connecté
message
: Messages réseau paramétrables, en contrôlant toutes les données échangéespurview
: T'chat de base intégré & écoute des entrées- lionengine-audio-wav
- Support du son au format Wav
- lionengine-audio-midi
- Support de la musique au format Midi
- lionengine-audio-sc68
- Support de la musique au format Atari Sc68
Est-il possible de mélanger les modules additionnels dans mon projet ?
La réponse est bien évidement oui. Vous pouvez combinez tous les modules comme vous le voulez.
Par exemple, pour créer un jeu de stratégie multijoueur avec des musiques au format Sc68, vous aurez besoin des modules suivant:
- lionengine-core
- lionengine-network
- lionengine-audio-sc68
- lionengine-game
- lionengine-game-pathfinding
- lionengine-game-strategy
Lire la suite: Architecture Générale - Module Noyau