Bien le bonjour,
J'aimerais vous faire réagir / commenter / démonter une idée d'architecture logicielle pour un jeu.
Nous sommes à peu près tous d'accord sur le fait qu'il faut clairement séparer les différents modules d'un jeu.
Alors pourquoi ne pas carrément développer différents modules reliés entre eux par un bus logiciel par exemple basé sur des sockets ?
On se retrouverait alors avec un paquet de modules faisant de l'écoute / envoi et avec la possibilité de séparer les processus (!), les machines et même les langages des différents modules. Ces modules seraient par exemple un moteur graphique, un moteur physique, un moteur d'IA .... avec la possibilité de rajouter très simplement des nouveaux modules ou de les modifier.
Ceci entrainerait une lourdeur au niveau de la communication entre les modules, c'est sûr, c'est le goulolt d'étranglement. Il faudrait déjà plusieurs traitements parallèles pour faire tourner les différents modules. Mais ceci amènerait indubilablement une simplicité au niveau du développement des modules, de la séparation des tâches, de l'évolutivité du jeu (Faites évoluer votre jeu en changeant son moteur physique) voire même des performances si l'on dispose de plusieurs machines.
Qu'en pensez-vous ?
oui oui, CORBA, il y a de ça ...
Partager