←

JEU VIDEO

LEVEL 1 « SENSIBILISATION »

Notion essentielle : IA

IA

  • Agents
  • Inputs (entrées) / réception de signaux, valeurs
  • Outputs (sorties) / choix comportements et émission de signaux
  • Décision
  • Créer des jeux systémiques : Des comportements simples et prédictibles dans des environnements complèxes
    Aller plus loin : The Rise of Systemic Game
  • Créer des jeux dynamiques : Des comportements complèxes pour apporter de l'intérêt

Pathfinding

A partir d'un graph orienté, Trouver le chemin le plus court (liste de noeuds) depuis un départ vers une arrivée
  • Path solving - Résolution de chemin
    • Djikstra
    • A* = Djikstra optimisé
  • Navigation graph - Graphe de navigation
    • A partir d'une grille
    • A faire soi même
    • Unity NavMesh
    • Bibliothèque dédiée
    • Plusieurs techniques spécifiques
Ressources : Algorithm explanation (A*) (en)

Comportements dynamiques

Liste de conditions

  • Le plus simple
  • Très (trop) prédictible par le joueur
  • comportements très basiques

Machine d'état (Finite State Machine)

  • Variante : Hierarchical FSM

Behaviour Tree (BT) - Arbre de comportement

  • Stateless - Se repose sur les données de l'environnement
  • Ré-évalué périodiquement (Tick)
  • Nœuds composite, decorator ou leaf (condition ou action)
  • Condition = SUCCESS, FAILURE
  • Action = SUCCESS, FAILURE ou RUNNING

Utility-based AI

  • Chaque action peut être représentée par un nombre normalisé (0,1) d'utilité
  • L'action ayant l'utilité la plus forte est choisie
  • Utiliser des fonctions différentes pour créer des personnalités ou stratégies (aggressif, passif, curieux, prudent, etc.)
  • Difficulté : calculer un score d'utilité fiable et pertinent

Planner

  • BT = partir de l'état pour trouver la meilleur action
  • Planner = partir de l'action optimale souhaitée et remonter les actions pour créer l'état

Réseau de neurone

  • Entrainer un agent dans un environnement d'apprentissage
  • Nécessite (beaucoup) d'itérations
  • Imprédictible, même pour le développeur