Ça fait un petit moment que je réfléchis à ce que l'on devrait mettre en place comme infrastructure technique et je me suis décidé à mettre ça un peu au propre. Si vous y voyez de très fortes inspirations d'OpenNeL, c'est normal, c'est basé dessus dans ses concepts. Par ailleurs, je trouve chouette d'essayer de garder au max leurs termes, pour rendre hommage à leur boulot qui demeure une source énorme d'inspiration pour Khaganat.
J'ai essayé de voir ce qui nous serait nécessaire à terme et de penser en modules qui pourraient eux-mêmes ensuite être découpés de nouveau, voire répartis sur plusieurs machines (dans ce cas il faudrait y ajouter de nouveaux gestion de load-balancing et de cohésion de la structure, mais on en est pas encore là).
J'ai donc fait un petit schéma simplifié pour vous proposer une base d'architecture et commencer à poser le vocabulaire (histoire de savoir de quoi on parle et ce qu'on met dans chaque terme). L'idée est aussi qu'on ait quelques billes en tête quand Godot 4 sera sorti et qu'on pourra vraiment commencer à implémenter le client de démo non multijoueur. On a intérêt à anticiper pour ne pas avoir à tout refaire pour le moment où on introduira le multijoueur. En sachant comment les services s'articuleront, on peut déjà commencer à bosser nos modules/classes et méthodes pour que leur déport soit ensuite facilité.
Il n'y a rien de révolutionnaire, c'est une structure épurée de ce que proposait le NeL, qui devrait nous offrir tout ce dont on aura besoin à moyen terme, sans gêner la montée en charge. Je ne sais pas encore ce que ça représenterait en terme d'exécutables à générer et/ou de machines à envisager pour le moment. Il me semble que se mettre d'accord sur ce qu'on va bâtir est un préalable avant de voir comment tout ça pourrait se générer via Godot.
Pour le client du milestone 0.1, on n'aurait qu'à se soucier de quelques classes et méthodes de l'Entity Game Service et du Global Position Manager Service, en gros.
Pour celles qui veulent, je peux partager mon .svg si vous voulez jouer avec
Et pour celles qui veulent avoir quelques billes sur ce qu'on avait trouvé dans OpenNeL :
- https://khaganat.net/wikhan/fr:serveur_tour
- https://khaganat.net/wikhan/fr:commandes_serveur_ai_share
- https://khaganat.net/wikhan/fr:commandes_egs
J'ai essayé de voir ce qui nous serait nécessaire à terme et de penser en modules qui pourraient eux-mêmes ensuite être découpés de nouveau, voire répartis sur plusieurs machines (dans ce cas il faudrait y ajouter de nouveaux gestion de load-balancing et de cohésion de la structure, mais on en est pas encore là).
J'ai donc fait un petit schéma simplifié pour vous proposer une base d'architecture et commencer à poser le vocabulaire (histoire de savoir de quoi on parle et ce qu'on met dans chaque terme). L'idée est aussi qu'on ait quelques billes en tête quand Godot 4 sera sorti et qu'on pourra vraiment commencer à implémenter le client de démo non multijoueur. On a intérêt à anticiper pour ne pas avoir à tout refaire pour le moment où on introduira le multijoueur. En sachant comment les services s'articuleront, on peut déjà commencer à bosser nos modules/classes et méthodes pour que leur déport soit ensuite facilité.
Il n'y a rien de révolutionnaire, c'est une structure épurée de ce que proposait le NeL, qui devrait nous offrir tout ce dont on aura besoin à moyen terme, sans gêner la montée en charge. Je ne sais pas encore ce que ça représenterait en terme d'exécutables à générer et/ou de machines à envisager pour le moment. Il me semble que se mettre d'accord sur ce qu'on va bâtir est un préalable avant de voir comment tout ça pourrait se générer via Godot.
Pour le client du milestone 0.1, on n'aurait qu'à se soucier de quelques classes et méthodes de l'Entity Game Service et du Global Position Manager Service, en gros.
Pour celles qui veulent, je peux partager mon .svg si vous voulez jouer avec
Et pour celles qui veulent avoir quelques billes sur ce qu'on avait trouvé dans OpenNeL :
- https://khaganat.net/wikhan/fr:serveur_tour
- https://khaganat.net/wikhan/fr:commandes_serveur_ai_share
- https://khaganat.net/wikhan/fr:commandes_egs