Falcon4 gère plusieurs niveaux de parents - Enfants...Couby a écrit :Cf le principe de modélisation en "bulles" de Falcon 4.0.
Par exemple un flight est une entité jusqu'à ce qu'il se trouve à une certaine distance de l'humain, distance à partir de laquellle il se "désagrège" en plusieurs entités, une pour chaque avion qui compose le flight.
Je sais pas si c'est clair , Mav doit mieux savoir expliquer la chose.
Pour faire simple on a
* Les Objets ("Objects") qui sont tous les objets au sol statiques
* Les Unités "Unit" qui peuvent etre, un battaillon, une task force, un vol ("flight"),
Parlons des Unités.
Une Unité est une entité qui possède des attributs, comme une vitesse de déplacement, un moral,une force d'attaque, une force de défense un nombre d'elements, un objectif, une liste de waypoints..et tout un tas d'autres caractéristiques
Dans 99% des cas, Falcon 4 ne gere que des Unités qui se déplacent et qui combattent contre d'autres unités , lorsqu'une unité rencontre une autre unité, elle se combattent (par exemple) en prenant en compte leurs forces attaque et défense respectives...
Vous notez qu'à ce niveau, on ne parle pas d'avions, de missiles ou de quoique ce soit, on parle d'entités se déplacant et combattant d'autres entités un peu à la mode jeu de role.
Chaque unité à ce qu'on appelle une "Bulle" qui est autour d'elle. Lorsqu'un Joueur pénetre dans cette Bulle, cette unité est DESAGREGEE, par exemple pour un "FLight" cette Unité devient des avions et alors les avions sont réellement calculés (trajectoire, actions etc..). C'est ce que le joueur VOIT.
Quand le Joueur ressort de la "Bulle" alors les avions sont REAGREGES en Unités....
Tout le challenge, c'est de faire en sorte que l" UNITE soit correctement mise à jour lorsqu'elle est désagrégée, ou en d'autres terme, que tous les parametres soient bien pris en compte lors de la REAGGREGATION.
Je vous laisse imaginer ce qui se passe en MP.
Normalement, et lorsque le "host all unit on" est désactivé, c'est le joueur pénétrant dans la bulle de l'unité qui désagrege la dite unité et qui calcule les différents avions.... que se passe t'il alors si un deuxieme joueur est dans la meme bulle et que le joueur initial qui a désagrégé l'unité (et donc qui possede 'Own' et calcule les avions) sort de la bulle.... la propriété de l'Unité est elle transférée au joueur restant dans la bulle ? qui fait alors les calculs de l'unité désagrégée....
Et si le joueur qui a désagrégé l'unité a un CTD, !! damned...!! c'est lui qui faisait les calculs alors oooops que se passe t'il pour les autres ?
En clair le 'host all unit on" s'assure que les unités appartiennent TOUJOURS au host et c'est le host qui calcule les unités désagrégées, ainsi pas de souci de P2P et de transfert. Evidemment la contre partie c'est que la BP du host est plus largement sollicitée.
Tout le challenge de falcon et du MP est là !
Un autre exemple tout con : le fuel...les unités ont une consommation horaires de fuel, quoiqu'elles fassent....combat ou pas, altitude 0 ou 35 000, elles vont consommer toujours pareil. Imaginons qu'une unité soit désagrégées et que l'IA combattent Radada pendant 3 plombes...et Bingo. Les IA décident de RTB....puis sortent de la bulle....l'UNITE se réagrege et là Pouf.....le fuel de l'unité devient largement suffisant pour continuer la mission par exemple...Et paf l'unité repart au combat....ou l'inverse....
Bref ce que le joueur VOIT c'est 5% du monde de falcon....et c'est cette interraction entre le 2D (aggrégé) et le 3D (désagrégé) qui rend la modification du moteur campagne si difficile et le code MP si compliqué.
Mais c'est aussi ca qui fait que Falcon4 restera unique en son genre, la guerre totale est simulée..
Ps: désolé j'ai un peu digressé