Unity4 – AI – Part1

Bonjour à tous,

Après avoir pas mal écumé le net concernant l’énorme sujet qu’est l’intelligence artificielle, et le pathfinding, je publie quelques unes de mes différentes recherches sur Unity.

Ici vous trouverez l’avancé du prototype : Premier jet (lien mis à jour régulièrement)

TODO :

  • Première mise en place multijoueurs
  • Régler connexion Client (Multijoueurs)
  • Mise en place IA (Simple FMS)
  • IA avancé
  • Génération du niveau par chargement de PNG
  • Génération de niveau avancé (détection d’angle, etc)

Pour en revenir au choix Unity :

Pourquoi Unity ?

Tout ce bien entendu ne concerne que mon point de vue mais principalement :

Les plus :

  • Facile d’accès (allez jeter un œil à l’import d’un personnage sur le cryengine, ou allez demander l’avis du concepteur de Ghost of a Tale par exemple)
  • Unity est le moteur de jeux vidéos du moment : on le retrouve dans pas mal de nouveau jeux récents, Mojang par exemple l’ont utilisé pour Scrolls.
  • Il est bourré de bonnes idées de conceptions, idéal pour du prototypage rapide.
  • A bonne base dans de nombreux domaines (import des données externes, debug rapide et simple, le choix entre plusieurs langages C# / JS / BOO, etc.)
  • Une communauté énorme et efficace.
  • Une documentation bien fournie.
  • Export projet vers de nombreux médias (Web, iOS, Android, Linux, Mac, Windows, Flash, etc.)
  • Le poids d’un projet ne pèse QUE ce qu’inclue le projet, pas la peine de se balader avec 4Go : idéal pour du mobile.
  • DirectX 11 « comme les grands »

Les moins :

  • Sa mauvaise image de moteur graphiquement « en dessous » des grands.
  • Le reste ?

Pourquoi se passionner pour l’IA ?

C’est un sujet qui mélange développement, 3D et comportement : 3 sujets qui me passionnent donc sa tombe sous le sens !
Intelligence Artificielle, d’ailleurs le terme est trop fort à mon sens en Jeux Vidéo : simulation d’intelligence serait plus exacte dans le jeu vidéo, voir donner l’illusion d’intelligence serait plus approprié.
Ayant déjà pas mal vu du comportement (FSM, Machines à Etat) et de pathfinding (A* principalement), cela pourra m’être pas mal utile :)

Premier objectif à atteindre :

Je suis tombé il y a quelques mois, sur un concours de Mojang, l’équipe avait décidé de participer à un événement « 1 jeu en 1 weekend », la communauté a choisie elle même le type du jeu : shooter/RTS
les dons permettaient de recevoir le jeu 2D avec les ressources (code java compris) et de suivre le développement en direct.

Le jeu une fois terminé (a part quelques « petites » partie comme une IA poussée, quelques ennemies, la sauvegarde, etc.), je me suis empressé de le disséqué et est d’ailleurs envoyé un des sprites du pharaon qu’il manquait à la communauté FR :)
Java n’étant pas mon principal ami, j’ai décidé de garder cela au chaud pour plus tard.

L’objectif sera donc de recréer de zéro : l’équivalent d’un Catacomb Snatch en 3D !

Cet objectif est parfait car il regroupe :

  • Conception claire pour être efficace
  • Multijoueurs
  • Player très jouable
  • Comportement /AI
  • Pathfinding
  • Caméra
  • Inventaire
  • Pause en solo
  • Génération automatique de level
  • Système de sauvegarde

Cela sera du step by step, donc en premier lieu : conceptuel, pas de graphisme à tomber au début, juste de la logique et du code !

Laissez moi vos impressions !

 

© skyrick.fr 2011-2013

rvn_digitalis_theme rvn_digitalis_theme_tv_1_3 rvn_digitalis_theme_fwv_1_1