2 mai 2007

Vicuna Guts Raider

Projet complet de développement d'un jeu vidéo en équipe 

L'objectif du projet se déroulant sur une session complète était de développer une véritable "application multimédia interactive" portant sur le thème du corps humain en équipe de 4 à 5 personnes.
Notre choix s'est porté sur un jeu d'action en 3D se déroulant dans le système digestif humain soudain en proie à une attaque sournoise de bactéries mutantes. Le personnage principal va tenter de chasser ces ennemis et de sauver son hôte en détresse.

Le projet principal se déroulait en 3 jalons principaux (alpha,bêta,gold) à l'issue desquels les objectifs fixés dans le game design doc devaient avoir été atteints. Le développement s'effectuait sous la tutelle d'encadrants du studio Ubisoft à Montréal.

Au début du projet, un moteur de base (Vicuña) implémentant un système de contrôle et de rendu simplifié nous était fourni. Nous avons donc adapté l'architecture de notre application pour bénéficier au mieux des fonctionalités de base du moteur.
Pour faciliter la gestion d'équipe du projet, nous avons utilisé de manière extensive le système de gestion de versions SVN.


Le développement du projet a necessité plusieurs étapes et diverses compétences.
  • Conception, organisation et respect du Game Design Doc
  • Création des modèles 3D (3DS max), des textures et du contenu multimédia
  • Codage (C++/HLSL) des modules de rendu (Shaders, Caméras et interface utilisateur)
  • Codage de l'IA, de la physique et des contrôles

1 mai 2007

Analyse d'image - Stéréoscopie

Détermination de la dimension et de la nature d'objets à partir de l'analyse de couple d'images stéréoscopique

A partir de paires d'images stéréoscopiques prises par deux caméras séparée par une petite distance (images gauche et droite), il fallait concevoir un programme C++ capable de déterminer la nature (sphère ou pavé) de l'objet photographié et ses dimensions (rayon ou longueur des arrêtes)



La première étape consistait à extraire des zones d'intérêts sur chaque image (coins, arrêtes ou contour ) en choisissant des points qui sont robustes face à l'influence du bruit, des changements de luminosité etc. Il s'agit principalement d'un travail de traitement d'image ( algos de filtrage par convolution, Canny, Harris, KLT ...)


On effectue par la suite l'analyse à proprement parlée en réalisant l'appariement des points sur les deux images et en calculant les dimensions à partir des hypothèses connues sur les caméras et des points appariés.