Framework WEngine #1

Bonjour à tous,

Les premiers essais de mon mini-framework sur Löve2D étaient plutôt concluants et me satisfaisaient entièrement. Mais ça c’était avant de voir la vidéo de David, prof de Gamecodeur !

En effet, celle-ci explique rapidement ça manière de concevoir un framework et j’ai trouvé cela très instructif.

J’ai donc décidé de reprendre ma copie et de transformer mon mini framework en véritable framework, digne de ce nom !

Un nouveau concept

Précédemment, mon mini framework était assez mélangé avec le code du projet en lui même. Ce qui à pour conséquence d’imposer de faire du tri dans l’architecture des dossiers pour pouvoir le réutiliser.

J’ai donc repensé le framework pour qu’il soit très facile à importer et à installer.

Je vous invite à visualiser un extrait de la documentation (la rédaction se fait au fur et à mesure que le framework est codé) qui vous montre comment l’installer. Vous le verrez, c’est assez simple 😉

Une gestion via modules

Dans la conception du framework, j’ai codé un système de module complet. Le framework de base nécessite l’utilisation de trois modules obligatoires pour son fonctionnement :

  • _config : module qui gère la configuration du framework
  • _header : module simple qui affiche le nom du framwork avec son copyright sur la sortie standard au lancement du jeu.
  • _logger : module qui permet de gérer les traces de debug sur la sortie standard.

Ces trois modules, commencent par un « _ » pour signifier qu’il s’agit de modules obligatoires. Sans eux, le framework ne peut pas fonctionner.

J’ai actuellement un autre module opérationnel, le module « sceneManager » qui permet une gestion simplifié des scènes de jeu. Et les modules « mapManager » et « tilesheetManager » en cours de développement.

Ces trois modules non indispensables au framework apportent des fonctionnalités supplémentaires au framework et il est possible de les désactiver, simplement en supprimant leur dossier {nom_du_module} dans /WEngine/modules/ .

Pour cela, le système de module s’appuie sur un Module Manager qui s’occupe de charger dynamiquement les modules présents dans le dossier /WEngine/modules/ .

Module sceneManager

Comme son nom l’indique, ce module permet de facilité la gestion des scènes du jeu. Pour cela, il charge en mémoire la liste des scènes disponibles dans le dossier /scenes/ de façon dynamique. Il est ensuite capable de gérer ces scènes.

Comme vous pouvez le voir, ça avance et je suis très satisfait du résultat pour le moment.

Si ce projet vous intéresse, je vous invite à mettre le site dans vos favoris internet et dites moi si une newletter vous intéresse dans les commentaires !

Merci de m’avoir lu et à très vite 😘

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.