Bonjour,
Je suis enfin de retour après une longue période d'absence pour vous présenter mon dernier projet : Last Engine.
Son architecture orienté composant force le respect du principe d'encapsulation pour un code plus propre et indépendant des bibliothèques utilisées.
Son objectif est quadruple :
- encapsuler toutes les bibliothèques dont vous pourriez avoir besoin afin de rendre votre projet indépendant de celles-ci.
- vous permettre de le personnaliser à 100% en vous permettant
- de remplacer ses modules par vos propres modules
- d'écrire vos propres plugins.
- vous offrir une structure prête à l'emploi pour votre projet (gestion des plugins, événements, des modules, des mises à jours, des préférences, du réseau, etc.) en vous permettant de réutiliser au maximum du code déjà existant.
- d'être suffisamment simple et documenté pour pouvoir être maintenue et utilisée par n'importe qui sans difficulté.
Écris en C++11, les modules peuvent être écris en C, C++ mais aussi dans des langages interprétés comme le Lua.
Le but de ce projet est de finir Last Engine pour le WE jeux (22 au 24 août) afin de pouvoir, à cette occasion, l'éprouver grâce à un second projet : Last Escape.
Pour cela il devra fournir au minimum les fonctionnalités suivantes :
- gestion des modules ;
- gestion du fenêtrage, de la 2D et de la GUI ;
- gestion des événements ;
- gestion du son ;
- choix du jeu.
Pour cela, je travaillerais sur le moteur du lundi au vendredi en notant chaque jour :
- l'objectif de la journée (matin) ;
- la conclusion de la journée (soir).
Une fois le WE jeux passé, jusqu'au 10 septembre, je travaillerais sur le site actuellement indisponible et je continuerais Last Escape.
A terme, le moteur devra me permettre de continuer le projet Last DunGo que j'avais commencé mais jamais terminé.
Ce ne sont bien sûr que des mots et Last Engine n'est pour le moment qu'un projet. Je sais d'expérience qu'un projet n'est jamais facile et ne se déroule pas toujours comme on l'attend.
En trois ans, j'ai fait de nombreuses erreurs avec les projets Last Dungeon et Last DunGo :
- à viser trop haut ;
- à vouloir aller trop vite au détriment de la lisibilité du code ;
- à vouloir trop bien faire si bien qu'on avance plus ;
- à vouloir avancer pour avoir du fonctionnel puis se retrouver bloquer car le code a besoin d'être refactorisé pour continuer...
- à avoir un code assez conséquent sans diagrammes UML si bien qu'on ne se rappelle même plus comment il "marche" dans son ensemble ;
- à vouloir faire trop compliqué pour avoir une structure générique et ""propre"" ;
- etc.
Mais j'ai tout de même eu des réussites comme Gosh qui, quoi que modeste, est un projet qu'on a réussi à mener à terme.
A chaque erreurs, j'ai appris et je me suis amélioré petit à petit mais je ne suis toujours pas à l'abri d'une autre erreur.
Il est trop tôt pour vraiment espérer quelque chose de ce projet mais j'espère que dans les semaines qui vont suivre il deviendra de plus en plus concret.
J'espère aussi que vous prendrez plaisir à suivre ce projet sur ce sujet ou sur mon compte Twitter.
N'hésitez pas à poster, c'est toujours encourageant de voir que des personnes suivent ou s'intéressent à notre projet .
Voilà, papy commando n'a plus qu'à bien se tenir .
Explications :
- diagramme POC (JOUR 3)
- diagramme Séquence start engine (JOUR 3)
Partager