Brevet FR3035334A1 — publié le 20161028

PROCÉDÉ DE COMMANDE D'AU MOINS UN AGENT, PRODUIT PROGRAMME D'ORDINATEUR ET SYSTÈME DE COMMANDE ASSOCIÉS DESCRIPTION DOMAINE TECHNIQUE La présente invention concerne un procédé de commande d'au moins un agent propre à se mouvoir dans un espace prédéterminé, l'espace prédéterminé étant associé à un repère de référence. L'invention concerne également un produit programme d'ordinateur. L'invention concerne également un système de commande d'au moins un agent. L'invention s'applique au domaine de la commande d'agents. Par « agent », il est entendu au sens de la présente invention, une entité, virtuelle ou non, propre à se mouvoir dans un espace prédéterminé sans nécessiter l'intervention d'un utilisateur, c'est-à-dire de façon autonome. De tels agents sont, par exemple, des personnages non joueurs (également connus sous l'acronyme « PNJ ») d'un jeu vidéo, classiquement connus, des entités d'un univers virtuel, des robots ou encore des drones. ÉTAT DE LA TECHNIQUE ANTÉRIEURE Il est connu d'avoir recours à de tels agents, par exemple dans des environnements réels ou encore des environnements virtuels tels que des jeux vidéo ou des simulations. De tels agents sont, en général, programmés pour réaliser une pluralité d'actions, par exemple se déplacer, saisir des objets ou encore interagir entre eux, sans intervention de l'utilisateur du jeu vidéo ou de la simulation. Le recours à de tels agents a pour objectif de créer une impression de réalité chez l'utilisateur, et donc d'augmenter son sentiment d'immersion dans le jeu vidéo ou la simulation. Les actions réalisées par ces agents obéissent généralement à un script préétabli. Dans le cas d'un jeu vidéo, un tel script est, par exemple, entièrement préétabli par les concepteurs du jeu. 3035334 2 Néanmoins, une telle approche rend généralement lourd et fastidieux le travail des concepteurs en charge de la commande des agents, dans la mesure où cette approche requiert de la part desdits concepteurs qu'ils établissent au préalable un script comprenant l'ensemble des actions à réaliser par les agents, ainsi que les enchaînements 5 entre lesdites actions, et ce pour tous les agents. Une telle approche nuit donc, en général, à la souplesse de la commande des agents et rend fastidieuses d'éventuelles modifications du script, dans la mesure où une modification d'un évènement du script nécessite de tenir compte de l'impact de cette modification sur l'ensemble des évènements du script, ce qui se traduit 10 parfois par des modifications lourdes dudit script. Par exemple, l'introduction dans le script d'une nouvelle action d'un agent entre une première action antérieure et une deuxième action postérieure requiert de modifier le script pour décaler dans le temps la deuxième action ainsi que toutes les actions suivantes. EXPOSÉ DE L'INVENTION 15 Un but de l'invention est donc de proposer un procédé de commande des agents qui soit moins fastidieux à mettre en oeuvre et qui permette une plus grande souplesse dans la commande d'une pluralité d'agents, tout en favorisant le sentiment d'immersion de l'utilisateur. A cet effet, l'invention a pour objet un procédé du type précité, 20 comportant les étapes de : - enregistrement, dans une mémoire de zones, d'au moins une zone spatiale de l'espace prédéterminé, la position de l'au moins une zone étant repérée dans le repère de référence ; - pour l'au moins une zone, enregistrement, dans une mémoire de scènes, d'une 25 scène correspondante, la scène étant associée à au moins un rôle, dont au moins un rôle principal, l'au moins un rôle étant destiné à être joué par un agent, la scène comportant une pluralité de plages temporelles successives, chaque plage temporelle étant associée, pour chaque rôle, à au moins une action à réaliser par l'agent jouant ledit rôle ; 3035334 - pour l'au moins une zone, enregistrement, dans une mémoire de conditions, d'au moins une condition de réalisation de la scène correspondante ; le procédé comportant en outre, pour l'au moins une zone, les étapes de : 5 - détection de l'au moins une condition de réalisation de la scène correspondante ; - recherche, parmi les agents présents dans la zone, d'un agent propre à jouer un rôle principal associé à la scène ; - en cas de détection d'un agent propre à jouer le rôle principal : - affectation du rôle principal à l'agent ; 10 - tant que l'au moins une condition de réalisation de la scène est vérifiée, transmission à l'agent, pour chacune des plages temporelles successives de la scène, d'une commande d'action à réaliser correspondante pour sa réalisation ; - désaffectation du rôle de l'agent lorsqu'au moins une condition de réalisation de la scène n'est plus vérifiée, ou qu'une commande d'action à réaliser 15 correspondant à la dernière plage temporelle de la scène est transmise à l'au moins un agent. Dans un tel procédé, les commandes d'actions à réaliser reçues par chaque agent dépendent de la zone dans laquelle se trouve l'agent. Or, toutes les actions à réaliser ne sont, en général, pas associées à une unique zone ; le nombre d'actions à 20 réaliser associées à une zone est donc généralement inférieur au nombre total d'actions à réaliser. Ainsi, la conception d'un environnement complexe se traduit, avec un tel procédé, par la conception d'une pluralité de scènes moins complexes. La mise en oeuvre de la commande des agents est donc moins fastidieuse. Ceci favorise également la sensation d'immersion de l'utilisateur en facilitant la conception d'une pluralité de scènes 25 susceptibles de se dérouler simultanément, ce qui se traduit, pour un utilisateur, par un environnement riche et complexe. En outre, avec un tel procédé, une modification d'une scène associée à une zone a généralement peu de répercussions sur les scènes associées aux autres zones, ce qui rend également moins fastidieuse et plus souple la mise en oeuvre de la 30 commande. 3035334 4 En outre, les actions à réaliser ne sont pas directement associées aux agents, mais sont associées à des rôles que les agents sont susceptibles de jouer. Ainsi, du point de vue d'un concepteur, il n'est pas nécessaire de coordonner l'ensemble des actions à réaliser par l'ensemble des agents au sein de l'intégralité de l'espace 5 prédéterminé pour la réalisation de l'ensemble des scènes, dans la mesure où l'affectation des rôles se fait en fonction des agents présents dans les zones correspondantes, c'est-à-dire en fonction des agents disponibles. Par exemple, avec un tel procédé, il n'est pas nécessaire de commander les déplacements des agents d'une zone à l'autre. Ceci confère une plus grande souplesse dans la commande des agents. 10 Suivant d'autres aspects avantageux de l'invention, le procédé comporte une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles : - le procédé comporte en outre, pour l'au moins un agent, une étape d'enregistrement d'au moins une caractéristique correspondante dans une mémoire de 15 caractéristiques d'agent, au moins un rôle étant associé à au moins une contrainte portant sur les caractéristiques de l'au moins un agent, et l'étape de recherche d'un agent propre à jouer le rôle principal comprend une opération consistant à vérifier si chaque contrainte associée audit rôle est satisfaite par une caractéristique correspondante de l'agent ; 20 - au moins deux zones se superposent au moins partiellement pour définir un lieu de chevauchement, le procédé comportant l'enregistrement, dans la mémoire de zones, d'un niveau de priorité relatif à chacune des au moins deux zones, et, si pour les au moins deux zones, un agent propre à jouer un rôle principal non affecté de la scène correspondante se trouve dans le lieu de chevauchement, alors l'étape d'affectation 25 comprend l'affectation à l'agent du rôle principal de la scène associée à la zone présentant le niveau de priorité le plus élevé ; - le procédé comporte, pour au moins un rôle, l'enregistrement dans la mémoire de scènes d'une position correspondante, de sorte que l'agent auquel est affecté ledit rôle occupe ladite position au cours du temps ; 3035334 5 - lorsque pour un rôle, une plage temporelle est associée à au moins deux actions pour former une plage à actions multiples, pour chacune des au moins deux actions, le procédé comprend l'enregistrement d'un poids correspondant, et dans lequel, lors de l'étape de transmission, pour la plage à actions multiples, la commande d'action 5 transmise à l'agent présente une probabilité de correspondre à l'une des aux moins deux actions qui dépend des poids ; - la position de l'au moins une zone varie en fonction du temps ; - l'espace prédéterminé est un espace virtuel. L'invention a également pour objet un produit programme d'ordinateur 10 comportant des instructions de code de programme qui, lorsqu'elles sont mises en oeuvre par un ordinateur, sont propres à mettre en oeuvre le procédé tel que défini ci-dessus. En outre, l'invention a pour objet un système de commande d'au moins un agent propre à se mouvoir dans un espace prédéterminé, l'espace prédéterminé étant associé à un repère de référence, 15 le système comportant : - une mémoire de zones configurée pour stocker au moins une zone spatiale de l'espace prédéterminé, la position de l'au moins une zone étant repérée dans le repère de référence ; - une mémoire de scènes configurée pour stocker, pour l'au moins une zone, une 20 scène correspondante, la scène étant associée à au moins un rôle, dont au moins un rôle principal, l'au moins un rôle étant destiné à être joué par un agent, la scène comportant une pluralité de plages temporelles successives, chaque plage temporelle étant associée, pour chaque rôle, à au moins une action à réaliser par l'agent jouant ledit rôle ; - une mémoire de conditions configurée pour stocker, pour l'au moins une zone, 25 au moins une condition de réalisation de la scène correspondante ; le système comportant en outre : - un module de surveillance configuré pour détecter l'au moins une condition de réalisation de la scène correspondant à l'au moins une zone ; 3035334 6 - un module de recherche configuré pour rechercher, parmi les agents présents dans la zone correspondant à la scène, un agent propre à jouer un rôle principal associé à la scène ; - un module de recrutement configuré pour affecter le rôle principal à l'agent ; 5 - un séquenceur configuré pour transmettre à l'agent, pour chacune des plages temporelles successives de la scène, une commande d'action à réaliser correspondante pour sa réalisation ; le module de recrutement étant en outre configuré pour désaffecter le rôle de l'agent lorsque le module de surveillance détecte qu'au moins une condition de 10 réalisation de la scène n'est plus vérifiée, ou que le séquenceur a transmis à l'agent une commande d'action à réaliser correspondant à la dernière plage temporelle de la scène. L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif et faite en se référant aux dessins annexés sur lesquels : 15 - la figure 1 est une représentation schématique d'un système de commande selon l'invention ; et - la figure 2 est un ordinogramme du procédé de commande mis en oeuvre par le système de la figure 1. EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS 20 Un système de commande 2 selon l'invention est illustré sur la figure 1. Le système de commande 2 est propre à commander au moins un agent dans un espace prédéterminé. Par exemple, l'espace prédéterminé est un espace virtuel, tel qu'un jeu vidéo ou une simulation. Dans ce cas, les agents sont, de préférence, des personnages non joueurs (encore appelés non-player character en anglais). Selon un 25 autre exemple, l'espace prédéterminé est un espace réel, tel qu'un espace d'un environnement urbain. Avantageusement, l'espace prédéterminé est associé à un repère de référence. Dans ce cas, la position de chaque agent est repérée dans le repère de référence. 3035334 7 De préférence, chaque agent est propre à se mouvoir dans l'espace prédéterminé. Dans ce cas, la position au cours du temps de chaque agent est repérée dans le repère de référence. Par exemple, les agents sont propres à se déplacer d'une zone de l'espace prédéterminé à l'autre. De telles zones seront décrites ultérieurement. 5 La commande du déplacement des agents en dehors des zones ne constitue pas l'objet de la présente invention. Le système de commande 2 comprend une interface de saisie 4, un dispositif de stockage 6 et un calculateur 8. De façon optionnelle, le système de commande 2 comporte également un afficheur 10 configuré pour afficher l'espace 10 prédéterminé, ainsi que les agents, par exemple dans le cas d'un espace prédéterminé virtuel. L'interface de saisie 4 est reliée au dispositif de stockage 6 et au calculateur 8. En outre, le calculateur 8 est relié au dispositif de stockage 6 et à l'afficheur 10. 15 L'interface de saisie 4 est configurée pour permettre à un opérateur de saisir des données de configuration relatives au fonctionnement du système de commande 2. De telles données de configuration seront décrites ultérieurement. Le dispositif de stockage 6 est configuré pour stocker les données de 20 configuration. Le dispositif de stockage 6 comporte une mémoire de zones 12, une mémoire de scènes 14, une mémoire de conditions 16 et une mémoire de caractéristiques d'agent 18. La mémoire de zones 12 est configurée pour stocker des données 25 relatives à au moins une zone de l'espace prédéterminé. La mémoire de zone 12 est configurée pour stocker la position de chaque zone. De préférence, la mémoire de zone 12 est configurée pour stocker la position de chaque zone dans le repère de référence. Par exemple, la mémoire de zone 12 est configurée pour stocker la position de chaque zone dans le repère de référence et au cours du temps. 3035334 8 En outre, la mémoire de zone 12 est configurée pour stocker la forme de chaque zone. Par exemple, la mémoire de zone 12 est configurée pour stocker les coordonnées, au cours du temps, de points définissant une enveloppe convexe d'un volume représentant la zone. 5 De préférence, la mémoire de zone 12 est configurée pour stocker un niveau de priorité correspondant à chaque zone. En outre, la mémoire de zone 12 est configurée pour stocker chaque lieu de chevauchement défini par deux zones se superposant au moins partiellement pendant au moins un intervalle de temps. 10 La mémoire de scènes 14 est configurée pour stocker, pour chaque zone, des données relatives à une scène correspondante. En outre, la mémoire de scènes 14 est configurée pour stocker, pour chaque scène, au moins un rôle. Chaque rôle est destiné à être joué par un agent présent dans la zone. 15 En particulier, pour chaque scène, la mémoire de scènes 14 est configurée pour stocker au moins un rôle principal de la scène. De façon optionnelle, pour chaque scène, la mémoire de scènes 14 est configurée pour stocker au moins un rôle secondaire. De façon optionnelle, pour chaque scène, la mémoire de scènes 14 est, en outre, configurée pour stocker au moins un rôle de figuration. 20 Les rôles principaux d'une scène sont tels que la scène ne se déroule pas si, pour au moins un rôle principal de la scène, il n'existe pas, dans la zone, d'agent propre à jouer le rôle principal. Avantageusement, une scène est propre à se dérouler même s'il n'existe pas d'agent pour jouer les rôles secondaires et les rôles de figuration. Avantageusement, pour chaque rôle, la mémoire de scènes 14 est 25 configurée pour stocker au moins une contrainte correspondante. De telles contraintes portent sur des caractéristiques des agents, comme cela sera décrit ultérieurement. Par exemple, une telle contrainte porte sur l'aptitude d'un agent à sauter, à applaudir, à jongler ou encore à ouvrir une porte. Par exemple, une telle contrainte porte sur un objet détenu par l'agent, tel qu'une clé, par exemple. 3035334 9 Dans ce cas, un agent est propre à jouer un rôle si chaque contrainte associée au rôle est satisfaite par une caractéristique correspondante de l'agent. En outre, la mémoire de scènes 14 est configurée pour stocker, pour chaque scène, au moins une action à réaliser par un agent jouant le rôle correspondant. 5 En outre, pour chaque rôle de chaque scène, la mémoire de scènes 14 est propre à stocker une pluralité de plages temporelles successives. De préférence, chaque plage temporelle est associée, pour chaque rôle, à au moins une action. De préférence, les dates de début et/ou de fin des plages successives associées aux actions correspondant aux rôles secondaires et/ou aux rôles de figuration sont fonction des dates 10 de début et/ou de fin des plages successives associées aux actions correspondant aux rôles principaux. Par exemple, les dates de début et/ou de fin des plages successives associées aux actions correspondant aux rôles secondaires et/ou aux rôles de figuration sont égales aux dates de début et/ou de fin des plages successives associées aux actions correspondant aux rôles principaux. 15 Avantageusement, dans le cas où, pour un rôle, une pluralité d'actions correspond à une même plage temporelle, dite « plage à actions multiples », la mémoire de scènes 14 est propre à stocker un poids associé à chacune des actions de la plage à actions multiples. De tels poids sont calculés automatiquement par le système de commande 2, ou encore saisis par un opérateur, comme cela est décrit ultérieurement. 20 Avantageusement, pour tout ou partie des rôles d'une scène, la mémoire de scènes 14 est propre à stocker la position, dans la zone et au cours du temps, à occuper par l'agent jouant le rôle. La mémoire de conditions 16 est configurée pour stocker, pour chaque scène, les conditions de réalisation de la scène. 25 Par exemple, dans le cas d'un jeu vidéo, une condition de réalisation d'une scène est l'entrée d'un personnage contrôlé par un joueur dans la zone associée à la scène, ou encore la réalisation préalable d'une action prédéterminée par le personnage contrôlé par le joueur. Chaque scène est propre à être exécutée si chaque condition de 30 réalisation de la scène est satisfaite. 3035334 10 La mémoire de caractéristiques d'agent 18 est configurée pour stocker, pour chaque agent, au moins une caractéristique correspondante. Les caractéristiques d'un agent portent, par exemple, sur une compétence de l'agent, par exemple, dans le cas d'un agent dans un jeu vidéo, l'aptitude 5 de l'agent à sauter, à applaudir, à jongler ou à ouvrir une porte. En outre, les caractéristiques d'un agent portent, par exemple, sur le fait que l'agent possède un objet particulier tel que, par exemple, une clé. Les informations relatives à l'espace prédéterminée, ainsi que les informations stockées dans la mémoire de zones 12, la mémoire de scènes 14, la 10 mémoire de conditions 16 et la mémoire de caractéristiques d'agent 18 forment les données de configuration. Le calculateur 8 est configuré pour commander les agents dans l'espace prédéterminé. En particulier, le calculateur 8 est configuré pour commander les actions des agents dans les zones de l'espace prédéterminé. 15 Le calculateur 8 comporte un module de surveillance 20, un module de recherche 22, un module de recrutement 24 et un séquenceur 26. Le module de surveillance 20 est configuré pour détecter, pour chaque scène, si les conditions de réalisation de la scène sont remplies. Le module de recherche 22 est configuré pour rechercher, parmi les 20 agents présents dans la zone correspondant à une scène pour laquelle les conditions de réalisation sont remplies, un agent propre à jouer chaque rôle principal associé à la scène. Le module de recherche 22 est également configuré pour rechercher, parmi les agents présents dans la zone correspondant à la scène pour laquelle les conditions de réalisation sont remplies, un agent propre à jouer chaque rôle secondaire 25 et/ou chaque rôle de figuration associé à la scène. Le module de recrutement 24 est configuré pour affecter chaque rôle à un agent propre à jouer le rôle. Avantageusement, le module de recrutement 24 est configuré pour détecter la priorité de chaque scène. 3035334 11 Dans ce cas, lorsqu'au moins deux zones définissent un lieu de chevauchement et qu'un agent présent dans le lieu de chevauchement est propre à jouer un rôle principal de la scène associée à chacune des au moins deux zones qui définissent le lieu de chevauchement, le module de recrutement 24 est configuré pour affecter à 5 l'agent un rôle en fonction du niveau de priorité des zones définissant le lieu de chevauchement. Par exemple, le module de recrutement 24 est configuré pour affecter à l'agent le rôle principal associé à la zone présentant le niveau de priorité le plus élevé. De préférence, le module de recrutement 24 est, en outre, configuré pour désaffecter le rôle de l'agent lorsque le module de surveillance 20 détecte qu'au 10 moins une condition de réalisation de la scène correspondante n'est plus vérifiée. Le séquenceur 26 est configuré pour transmettre à chaque agent affecté à un rôle d'une scène, pour chacune des plages temporelles successives de la scène, une commande d'action à réaliser correspondante pour sa réalisation. De préférence, lorsque le séquenceur 26 a transmis à l'agent une 15 commande d'action à réaliser correspondant à la dernière plage temporelle de la scène, le module de recrutement 24 est, en outre, configuré pour désaffecter le rôle de l'agent. Le fonctionnement du système de commande 2 va maintenant être décrit, en référence à la figure 2. Au cours d'une étape d'initialisation 30, un opérateur saisit, par le biais 20 de l'interface de saisie 4, des données de configuration du système de commande 2. Par exemple, l'opérateur saisit les informations relatives à chaque zone, par exemple la position de chaque zone dans l'espace prédéterminé, en fonction du temps. L'opérateur saisit également le niveau de priorité de chaque zone. L'opérateur saisit également, pour chaque zone, la scène associée, ainsi que les actions et les rôles 25 correspondant à la scène. L'opérateur saisit également, pour chaque rôle, la position correspondante au cours du temps, dans la zone. L'opérateur saisit également, pour chaque scène, les conditions de réalisation de la scène. L'opérateur saisit, en outre, les caractéristiques des agents. Par exemple, pour les plages temporelles à actions multiples, l'opérateur saisit les poids respectifs associés à chaque action. 3035334 12 Au cours d'une étape de surveillance 32, le module de surveillance 20 détermine si les conditions de réalisation d'au moins une scène sont remplies. Si, au cours de l'étape de surveillance 32, le module de surveillance 20 détecte que les conditions de réalisation d'une scène sont remplies, alors, au cours d'une 5 étape de recherche 34, le module de recherche 22 détecte les agents présents dans la zone associée à la scène. Puis le module de recherche 22 détecte si, pour chaque rôle principal de la scène, un agent est propre à jouer le rôle principal. L'étape de recherche 34 est répétée tant que tous les rôles principaux de la scène ne sont pas affectés. 10 En outre, au cours de l'étape de recherche 34, le module de recherche 22 détecte si, pour chaque rôle secondaire, respectivement de figuration, de la scène, un agent est propre à jouer le rôle secondaire, respectivement de figuration. Si, pour chaque rôle principal de la scène, un agent est propre à jouer le rôle, alors, au cours d'une étape d'affectation 36, le module de recrutement 24 affecte 15 chaque rôle principal à un agent propre à jouer le rôle principal. En outre, le module de recrutement 24 affecte chaque rôle secondaire, respectivement de figuration, de la scène, à un agent propre à jouer le rôle secondaire, respectivement de figuration. Puis, au cours d'une étape de transmission 38, pour chaque plage 20 temporelle de la scène, le séquenceur 26 transmet à chaque agent auquel un rôle a été affecté, une commande d'action à réaliser correspondante pour sa réalisation. L'étape de transmission 38 est répétée successivement au cours du temps, pour chacune des plages successives de la scène. Lorsque la plage temporelle courante est une plage à actions multiples, 25 le séquenceur 26 transmet une commande correspondant à l'une des actions de la plage à actions multiples selon une probabilité qui dépend des poids des actions. Puis, lorsqu'une commande d'action à réaliser correspondant à la dernière plage temporelle de la scène est transmise aux agents, le module de recrutement 24 désaffecte les rôles des agents au cours d'une étape de désaffectation 40. 3035334 13 Puis le module de surveillance 20 détermine si les conditions de réalisation d'au moins une scène sont remplies, conformément à l'étape de surveillance 32. En outre, si au cours de l'une quelconque des étapes d'affectation 36 ou 5 de transmission 38, au moins l'un des agents jouant un rôle principal quitte la zone correspondante, alors le module de recrutement 24 désaffecte le rôle principal de l'agent qui a quitté la zone, conformément à l'étape de désaffectation 40. En outre, le module de recherche 22 recherche, parmi les agents jouant les rôles secondaires, puis parmi les agents jouant les rôles de figuration, un agent propre 10 à jouer le rôle principal qui a été désaffecté. Si le module de recherche 22 trouve un agent propre à jouer le rôle principal qui a été désaffecté, alors le module de recrutement 24 affecte le rôle principal à l'agent. Par exemple, le séquenceur 26 transmet alors une commande d'action à réaliser correspondant à la plage temporelle suivante. 15 Sinon, la scène s'interrompt et le module de recrutement 24 désaffecte les rôles de tous les agents, conformément à l'étape de désaffectation 40. En outre, si les conditions de réalisation sont vérifiées simultanément pour une pluralité de scènes, le procédé tel que décrit ci-dessus est mis en oeuvre pour chaque scène. 20 Dans ce cas, si un agent se trouve dans un lieu de chevauchement de deux zones associées à deux scènes pour lesquelles les conditions de réalisation sont vérifiées, l'agent étant propre à jouer un rôle principal de chacune des scènes, le module de recrutement 24 affecte à l'agent le rôle associé à la zone présentant le niveau de priorité le plus élevé. 25 Selon une autre variante, lorsque le module de surveillance détecte qu'au moins une condition de réalisation de la scène n'est plus vérifiée, le module de recrutement 24 désaffecte les rôles des agents, conformément à l'étape de désaffectation 40. Puis, le module de surveillance 20 détermine si les conditions de réalisation d'au moins une scène sont remplies, conformément à l'étape de surveillance 30 32. 3035334 14 Selon une autre variante, pour au moins un rôle, la position correspondant au rôle est la position courante de l'agent auquel le rôle est affecté. 5 REVENDICATIONS1. Procédé de commande d'au moins un agent propre à se mouvoir dans un espace prédéterminé, l'espace prédéterminé étant associé à un repère de référence, le procédé étant caractérisé en ce qu'il comporte les étapes de : - enregistrement (30), dans une mémoire de zones (12), d'au moins une zone spatiale de l'espace prédéterminé, la position de l'au moins une zone étant repérée dans le repère de référence ; - pour l'au moins une zone, enregistrement (30), dans une mémoire de scènes (14), d'une scène correspondante, la scène étant associée à au moins un rôle, dont au moins un rôle principal, l'au moins un rôle étant destiné à être joué par un agent, la scène comportant une pluralité de plages temporelles successives, chaque plage temporelle étant associée, pour chaque rôle, à au moins une action à réaliser par l'agent jouant ledit rôle ; - pour l'au moins une zone, enregistrement (30), dans une mémoire de conditions (16), d'au moins une condition de réalisation de la scène correspondante ; le procédé comportant en outre, pour l'au moins une zone, les étapes de : - détection (32) de l'au moins une condition de réalisation de la scène correspondante ; - recherche (34), parmi les agents présents dans la zone, d'un agent propre à jouer un rôle principal associé à la scène ; - en cas de détection d'un agent propre à jouer le rôle principal : - affectation (36) du rôle principal à l'agent ; - tant que l'au moins une condition de réalisation de la scène est vérifiée, transmission (38) à l'agent, pour chacune des plages temporelles successives de la scène, d'une commande d'action à réaliser correspondante pour sa réalisation ; - désaffectation (40) du rôle de l'agent lorsqu'au moins une condition de réalisation de la scène n'est plus vérifiée, ou qu'une commande d'action à réaliser correspondant à la dernière plage temporelle de la scène est transmise à l'au moins un agent. 3035334 16 2. Procédé selon la revendication 1, comportant en outre, pour l'au moins un agent, une étape d'enregistrement (30) d'au moins une caractéristique correspondante dans une mémoire de caractéristiques (18) d'agent, au moins un rôle 5 étant associé à au moins une contrainte portant sur les caractéristiques de l'au moins un agent, et l'étape de recherche d'un agent propre à jouer le rôle principal comprend une opération consistant à vérifier si chaque contrainte associée audit rôle est satisfaite par une caractéristique correspondante de l'agent. 10 3. Procédé selon la revendication 1 ou 2, dans lequel au moins deux zones se superposent au moins partiellement pour définir un lieu de chevauchement, le procédé comportant l'enregistrement (30), dans la mémoire de zones (12), d'un niveau de priorité relatif à chacune des au moins deux zones, et, si pour les au moins deux zones, un agent propre à jouer un rôle principal non affecté de la scène correspondante se 15 trouve dans le lieu de chevauchement, alors l'étape d'affectation comprend l'affectation à l'agent du rôle principal de la scène associée à la zone présentant le niveau de priorité le plus élevé. 4. Procédé selon l'une quelconque des revendications 1 à 3, 20 comportant, pour au moins un rôle, l'enregistrement (30) dans la mémoire de scènes (14) d'une position correspondante, de sorte que l'agent auquel est affecté ledit rôle occupe ladite position au cours du temps. 5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel, 25 lorsque pour un rôle, une plage temporelle est associée à au moins deux actions pour former une plage à actions multiples, pour chacune des au moins deux actions, le procédé comprend l'enregistrement (30) d'un poids correspondant, et dans lequel, lors de l'étape de transmission (38), pour la plage à actions multiples, la commande d'action transmise à l'agent présente une probabilité de correspondre à l'une des aux moins deux actions qui dépend des poids. 3035334 17 6. Procédé selon l'une quelconque des revendications 1 à 5, dans lequel la position de l'au moins une zone varie en fonction du temps. 5 7. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel l'espace prédéterminé est un espace virtuel. 8. Produit programme d'ordinateur comportant des instructions de code de programme qui, lorsqu'elles sont mises en oeuvre par un ordinateur, sont propres à 10 mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 7. 9. Système (2) de commande d'au moins un agent propre à se mouvoir dans un espace prédéterminé, l'espace prédéterminé étant associé à un repère de référence, 15 le système (2) étant caractérisé en ce qu'il comporte : - une mémoire de zones (12) configurée pour stocker au moins une zone spatiale de l'espace prédéterminé, la position de l'au moins une zone étant repérée dans le repère de référence ; - une mémoire de scènes (14) configurée pour stocker, pour l'au moins une zone, 20 une scène correspondante, la scène étant associée à au moins un rôle, dont au moins un rôle principal, l'au moins un rôle étant destiné à être joué par un agent, la scène comportant une pluralité de plages temporelles successives, chaque plage temporelle étant associée, pour chaque rôle, à au moins une action à réaliser par l'agent jouant ledit rôle ; 25 - une mémoire de conditions (16) configurée pour stocker, pour l'au moins une zone, au moins une condition de réalisation de la scène correspondante ; le système comportant en outre : - un module de surveillance (20) configuré pour détecter l'au moins une condition de réalisation de la scène correspondant à l'au moins une zone ; 3035334 18 - un module de recherche (22) configuré pour rechercher, parmi les agents présents dans la zone correspondant à la scène, un agent propre à jouer un rôle principal associé à la scène ; - un module de recrutement (24) configuré pour affecter le rôle principal à 5 l'agent ; - un séquenceur (26) configuré pour transmettre à l'agent, pour chacune des plages temporelles successives de la scène, une commande d'action à réaliser correspondante pour sa réalisation ; le module de recrutement (24) étant en outre configuré pour désaffecter le rôle 10 de l'agent lorsque le module de surveillance (20) détecte qu'au moins une condition de réalisation de la scène n'est plus vérifiée, ou que le séquenceur (26) a transmis à l'agent une commande d'action à réaliser correspondant à la dernière plage temporelle de la scène.