1
Projets SFML / Re: [ODFAEG] (Open Source Development Framework Adapted For Every Game)
« le: Juillet 15, 2024, 08:44:43 pm »
Salut!
En ayant vu plusieurs développeurs créer des petites libs dans leur coin utilisant la SFML j'ai décidé de regrouper toutes ces petites libs dans un grand projet (ODFAEG) et ici je fini de coder ODFAEG Creator et enfin sortira la version 1.
J'ai donc regarder les sources de projets comme les librairies thor, sfgui, sfmovie que je dois encore intégrer, etc..., et je m'en suis inspiré pour les intégrer au code source de ODFAEG.
J'ai également intégrer des codes sources sur l'utilisation de opengl (per pixel linked list, dynamic environnement mapping, shadow mapping, per pixel lightning, etc...)
J'ai également fait un système ECS pour éviter la perte de performance due aux fonctions virtuelles.
Dans le rendrer pour les per pixels linked list désormais je met un bord autour de l'objet grâce au stencil buffer si l'objet est sélectionné.
J'utilise des optimisations pour le rendu tel que les le batching (je regroupe tout les sommets utilisant le même type de primitive et les mêmes matériaux pour les tracer avec le moins de drawcalls possible)
J'utilise également le bindless texturing pour réduire le nombre de drawcall et l'indirect rendering pour réduire les appels à draw pour l'instanced rendering on peut choisir si l'on veut dessiner les entités en mode instance ou en mode normal.
Le développeur à la possibilité d'utiliser la SFML pour les petits projets ou bien alors le système ECS de ODAEG pour les grands projets. (Le système d'héritage de la classe entity étant obsolète)
ODFAEG Creator se veut être un moteur de jeux générique c'est à dire que l'utilisateur devra créer ses propres scripts pour coder le gameplay car celui-ci varie selon le type de jeux que l'on veut créer et il y aura la possibilité de créer un objet du gameplay comme par exemple une quête (voir même n'importe quoi d'autre) avec ODFAEG Creator qui va juste récupérer toutes les informations des classes et vous n'aurai plus qu'à rentrer la valeur des variables et l'objet sera créé ou modifié ou supprimé et lorsqu'il sera crée vous pouvez lui ajouter un mesh si vous le souhaiter et le traiter comme si c'était un objet de ODFAEG. Je n'ai pas trouvé cette fonctionnalité ni dans unity ni dans unreal engine pour créer des monstres, des quêtes, voir même ce qu'on veut c'est d'ailleurs pour ça que j'ai crée mon propre moteur de jeux.
De plus j'ai trouvé le système de blueprint de unrela engine 5 et l'utilisation de unity assez compliquée il y a beaucoup d'options et faut suivre des tutoriels vidéos de 10h dans lesquels je ne comprends rien finalement.
Par contre j'ai dû laisser tomber vulkan pas moyen de faire un rendu hors écran et les libs ne sont fournit que avec visual studio qui ne compile pas ODFAEG ou bien alors sur linux que j'ai désinstallé parce que ça faisait planter windows en changeant des paramètres dans le bios.
En ayant vu plusieurs développeurs créer des petites libs dans leur coin utilisant la SFML j'ai décidé de regrouper toutes ces petites libs dans un grand projet (ODFAEG) et ici je fini de coder ODFAEG Creator et enfin sortira la version 1.
J'ai donc regarder les sources de projets comme les librairies thor, sfgui, sfmovie que je dois encore intégrer, etc..., et je m'en suis inspiré pour les intégrer au code source de ODFAEG.
J'ai également intégrer des codes sources sur l'utilisation de opengl (per pixel linked list, dynamic environnement mapping, shadow mapping, per pixel lightning, etc...)
J'ai également fait un système ECS pour éviter la perte de performance due aux fonctions virtuelles.
Dans le rendrer pour les per pixels linked list désormais je met un bord autour de l'objet grâce au stencil buffer si l'objet est sélectionné.
J'utilise des optimisations pour le rendu tel que les le batching (je regroupe tout les sommets utilisant le même type de primitive et les mêmes matériaux pour les tracer avec le moins de drawcalls possible)
J'utilise également le bindless texturing pour réduire le nombre de drawcall et l'indirect rendering pour réduire les appels à draw pour l'instanced rendering on peut choisir si l'on veut dessiner les entités en mode instance ou en mode normal.
Le développeur à la possibilité d'utiliser la SFML pour les petits projets ou bien alors le système ECS de ODAEG pour les grands projets. (Le système d'héritage de la classe entity étant obsolète)
ODFAEG Creator se veut être un moteur de jeux générique c'est à dire que l'utilisateur devra créer ses propres scripts pour coder le gameplay car celui-ci varie selon le type de jeux que l'on veut créer et il y aura la possibilité de créer un objet du gameplay comme par exemple une quête (voir même n'importe quoi d'autre) avec ODFAEG Creator qui va juste récupérer toutes les informations des classes et vous n'aurai plus qu'à rentrer la valeur des variables et l'objet sera créé ou modifié ou supprimé et lorsqu'il sera crée vous pouvez lui ajouter un mesh si vous le souhaiter et le traiter comme si c'était un objet de ODFAEG. Je n'ai pas trouvé cette fonctionnalité ni dans unity ni dans unreal engine pour créer des monstres, des quêtes, voir même ce qu'on veut c'est d'ailleurs pour ça que j'ai crée mon propre moteur de jeux.
De plus j'ai trouvé le système de blueprint de unrela engine 5 et l'utilisation de unity assez compliquée il y a beaucoup d'options et faut suivre des tutoriels vidéos de 10h dans lesquels je ne comprends rien finalement.
Par contre j'ai dû laisser tomber vulkan pas moyen de faire un rendu hors écran et les libs ne sont fournit que avec visual studio qui ne compile pas ODFAEG ou bien alors sur linux que j'ai désinstallé parce que ça faisait planter windows en changeant des paramètres dans le bios.