Re: Rien ne sera plus jamais comme avant

Posté par Bibi09 le 11/1/2020 17:06:56
OK, j'avais mal interprété ton message précédent.

Des fois, il est beaucoup plus sain de repartir de zéro. Ne serait-ce que pour améliorer le framework voire même carrément booster les performances du moteur de jeu.

Les moteurs de jeu actuels utilisent une architecture en Entité/Composant/Système (ECS). Il me semble que ce serait la meilleure chose pour un nouveau BGE, s'il devait se faire.

Grosso modo, et c'est ce que j'aime avec cette architecture, c'est qu'au lieu de tout baser sur de l'héritage de classe (casse-gueule et difficile à maintenir), on s'appuie sur la composition. La composition, c'est le fait de "peupler" un objet avec d'autres objets pour le "customiser".

Dans le cadre d'un moteur de jeu, on a alors une Entité.
Cette Entité peut recevoir plusieurs Composants.
Des Composants possibles parmi d'autres : mesh, caméra, matériau, sons, ... Le développement et la maintenance du moteur sont très largement plus simples et efficaces.


Voyez une pizzeria.
Le pizzaiolo a déjà préparé uniquement des pizze reines, océanes, et végétariennes par héritage du pâton de pâte vierge. Après tout, personne ne veut d'une boule de pâte crue. Cependant, il n'est possible de contenter un client pour une pizza quatre fromage... Le problème de l'héritage en quelques sortes par rapport à une composition.

Par contre, si le pizzaiolo a déjà préparé des pâtons de pâte nature sans les garnir d'avance. On a donc une pâte à pizza (Entité). Elle est étalée, en attente des éléments de la garniture (Composants). Après une commande pour une pizza reine, le pizzaiolo va donc d'abord étaler la sauce tomate, puis mettre du jambon, ajouter des champignons et du gruyère. Il a customisé sa pâte à pizza.
Comme un autre client demande une pizza quatre fromages, le pizzaiolo va prendre un autre pâton vierge et composer la pizza avec les quatre fromages.
Youpi !


Donc je ne serais pas surpris de revoir un nouveau BGE officiel adoptant cette architecture ECS. Et ça serait même un réel bonheur de travailler avec cette base et sans doute de la développer.

Cette contribution était de : http://blenderclan.tuxfamily.org/html/newbb/viewtopic.php?forum=3&topic_id=49516&post_id=580519