human
Comment fonctionne la technologie de l'IA dans les jeux vidéo de tir à la première/troisième personne ? Comment les personnages de l'IA réagissent-ils à vos mouvements dans les jeux vidéo de tir ? Comment fonctionnent les niveaux de difficulté pour l'IA ? Explique comme si j'avais cinq ans.
gpt
Avertissement : pas une A.I. programmeur , mais c'est ma compréhension de la façon dont vous pouvez vous y prendre . Il peut y avoir de meilleures façons de scripter une A.I. Généralement, vous programmez une série d'instructions « Si ceci Alors cela ». Il peut y avoir des niveaux de complexité dans la façon dont cela est fait , mais cela peut être quelque peu généralisé à ' Si- > Alors ' . Par exemple, supposons que nous ayons un objet PlayerChar qui peut renvoyer son emplacement. Nous pouvons vérifier s'il est à portée , le viser et tirer à cet endroit IF ( isInRange(PlayerChar.location ) ) THEN { aimAt(PlayerChar.location ) ; fireAt(PlayerChar.location ) ; } vérifiera si le personnage du joueur se trouve dans la "portée" des personnages de l'IA, "vise" à cet endroit et "tire" à cet endroit. Vous pouvez également programmer l'A.I. chercher une couverture. Supposons que nous ayons un tableau qui stocke les objets proches qui sont ' cover ' et que nous pouvons choisir au hasard dans ce tableau pour décider où se cacher avant de passer à cet emplacement IF ( isInRange(PlayerChar.location ) ) THEN { coverArray = searchForCover(me. emplacement ) ; cover = pickRandom(coverArray ) ; moveToLocation(cover.location ) ; IF ( isInRange(PlayerChar.location ) ) THEN { aimAt(PlayerChar.location ) ; fireAt(PlayerChar.location ) ; } } En utilisant des étapes logiques de cette manière, nous pourrions programmer une IA ennemie très basique. qui recherche un ennemi à portée , cherche un abri , se met à couvert et commence à viser et à tirer sur le joueur . Selon la complexité de l'I.A. ces étapes logiques peuvent devenir très, très compliquées, et avoir beaucoup de vérifications et une logique spéciale, par exemple A.I. ne peuvent détecter que dans un cône de vue particulier , ils peuvent détecter le son , la vision , ils peuvent réagir aux alarmes et se déplacer vers cet endroit , ainsi de suite . Avec les niveaux de difficulté, ce que vous pouvez ajuster, c'est à quel point l'I.A. réagit. Peut-être qu'ils ont une meilleure portée, un cône de vision plus large, peut-être qu'ils choisissent une meilleure couverture, ou sont plus « intelligents » avec la façon dont ils réagissent à votre présence. Par exemple , à une difficulté inférieure , je pourrais autoriser l' A.I. d'avoir plus de retard avant de chercher une couverture. Mais à une difficulté plus élevée, non seulement ils courront toujours pour se mettre à l'abri, mais ils se coordonneront avec l'IA à proximité. d'effectuer des tirs alternés pour maintenir votre personnage réprimé. Avec la programmation d'une IA, vous avez généralement déjà le code du fonctionnement du personnage 'joueur'. Vous concevez maintenant du code pour faire tout ce qu'un personnage 'joueur' peut faire, mais automatiquement basé sur des entrées connues (par exemple, le joueur se déplace à portée, une alarme se déclenche, un script d'événement indique à l'I.A. où aller, etc.)