Socrastination : Jeu socratique sur le web

Ce site web est un projet de fin d’études de DUT Informatique en année spéciale réalisé en 2016 par Camille Chac, Maxime Ferrer, Clément Roig et moi-même. Ce projet était tuteuré par Madalina Croitoru (Professeur UM2 et membre de l’équipe de recherche de l’INRIA GraphIK au LIRMM).

Sur Socrastination on pratique le dialogue socratique. Autour de divers thèmes prédéfinis, deux participants s’affrontent par une joute verbale tentant ainsi se convaincre l’un l’autre. Les joueurs doivent veiller à convaincre également les arbitres, ces derniers étant chargés d’attribuer un malus ou un bonus à chacun de leurs arguments.

site_v3

Voici les différentes infrastructures et technologies que nous avons utilisés sur ce projet. Un certain nombre de services étaient déjà proposés par l’IUT (MySQL, Apache, PHP), nous nous sommes donc adapté à cette configuration pré-existante :

diagramme-denvironnement

Recueil de blagues – Angular JS 1.x

Ce projet est le résultat d’un exercice de formation. L’objectif étant de produire un modeste site web afin de comprendre la philosophie générale du framework Angular JS 1.x.

Ce site est constitué d’une seule page HTML et d’un contrôleur programmé en Javascript. La transition entre les pages est donc instantanée. Ci-dessous, l’interface de la page d’accueil :

capture-du-2016-10-13-13-15-25

Ayant une expérience conséquente en Infographie, j’en ai donc profité pour créer des graphismes spécifiques sous un logiciel de dessin vectoriel open source (InkScape). En zoomant sur certains éléments du site, on peut remarquer le détail du style CSS appliqué à cette page.

capture-du-2016-10-13-13-16-36

Angular m’a permis avec une facilité déconcertante de mettre en place un système de filtre par mots-clés, j’ai ainsi pu toucher du doigt la puissance ce genre de frameworks.

capture-du-2016-10-13-13-16-04

HTML5 : premier export de Micro Battle Tank.

screenshotHTML5MicroBattleTank

Mon projet Micro Battle Tank vient d’être exporté au format HTML5 grâce à ShiVa 2.0 (version beta). Ce moteur multi-plateforme m’a permis de rapidement adapter le jeu grâce aux fonctions de l’API system notamment.

ShiVa 2.0 étant encore en phase de beta testing, certaines API ne sont pas encore disponibles c’est pourquoi le site ne propose pas cette version par défaut.

Pour finir je vous invite à essayer la version HTML5 et à me faire part de toutes remarques/bugs /suggestions sur la page support.

Autorig de Quadrupèdes

Au cours de missions dans le domaine de l’image, j’ai été amené à développer des outils de production spécifiques. Je vous présente ici AQA (Antek’s Quadruped Autorig). Ce programme a permis de générer des contrôleurs pour faciliter l’animation de quadrupèdes.

Ces scripts sont écrits en MEL (langage embarqué d’Autodesk Maya). Leur utilisation se divise en trois étapes. Tout d’abord, l’utilisateur a le choix entre plusieurs pré-squelettes (cf. pré-squelette de bison sur l’image ci-dessous). Une fois sélectionné, le pré-squelette est importé dans la scène 3d active. Puis, l’utilisateur doit ajuster manuellement la position des articulations en fonction de l’anatomie du quadrupède fourni par le ou les modeleurs 3D.

UI and Proxy

Le programme génère ensuite chaque partie du rig* membres par membres (patte avant, patte arrière, colonne vertébrale, queue, tête, visage, oreilles…). Une procédure de finalisation connecte enfin toutes ces parties ensemble.

En dernier lieu, le résultat peut également être adapté manuellement afin d’apporter la touche finale au rig.

QuadrupedAutorigAntek

*rig : équipement virtuel nécessaire à faciliter le travail d’un animateur 3D sur un élément  à animer (objet ou personnage).

B-RENDER : Moteur de rendu CPU

Comparatif

L’image ci-dessus a été générée avec un script de ma création. Baptisé B-render, ce dernier utilise les fonctions de lancer de rayon fournies nativement par le moteur 3d ShiVa Engine. J’ai hacké (au sens « détourner de son usage premier ») ce moteur afin de lui permettre de générer des images de synthèse. La matrice de pixels produite est générée par mes scripts LUA (language interprété intégré à ShiVa).

1 2