<= =>

Oneshot 3D

Capture d'écran Oneshot 3D
Application de réalité augmentée pour les professionnels de l'aménagement extérieur, Pointcube 2013-2014

Oneshot 3D est un configurateur d'espaces en 3D temps réel pour les professionnels de l'aménagement développé par la société lyonnaise Pointcube. Il permet la création de montages photo réalistes pour projeter en quelques minutes le client dans ses futurs aménagements. L'application est utilisable en magasin sur PC ou directement sur le lieu de vente grâce à la version tablette.

J'ai effectué à Pointcube un stage de 5 mois en tant qu'assistant ingénieur et développeur. J'ai principalement travaillé au portage de Oneshot 3D et HostAGhost sur plateformes Android, au développement de nouvelles fonctionnalités pour Oneshot et au projet Moov3D sur prototype à camera stéréoscopique.

Développement de Oneshot 3D :

  • Meilleur fonctionnement de l'application sur tablettes Android, développement d'un plugin java afin de faire appel aux fonctions natives du périphérique depuis Unity
  • Gestion de l'écran tactile multitouch pour Windows
  • Export de plans au format pdf
  • Création de plages 3D à forme dessinée par l'utilisateur
  • Définition de Oneshot comme application native pour ouvrir les fichiers os3D sur toutes les plateformes (Windows, OSX, Android, iOS)
  • Création de murets personnalisables

Pour plus d'informations : Oneshot3D sur le site de Pointcube

Technologies et langages utilisés : Unity 3D, C#, Java, Android, iOS, Objective C





polytechcsharp

HostAGhost

Capture d'écran Oneshot 3D
Application de réalité augmentée effrayante, Pointcube, octobre 2013

HostAGhost permet de peupler les photos prises par votre smartphone ou votre tablette de zombies, sorcières, monstres, tombeaux et encore pleins d'autres choses terrifiantes.

Application développée pour Halloween par la société Pointcube, disponible sur Android et iOS.

HostAGhost est développé avec Unity3D et est basé sur une version simplifiée de Oneshot avec la particularité d'être adaptée aux smartphones. J'ai principalement travaillé sur la version Android de HostAGhost et à ce qu'elle s'exécute correctement sur tous les périphériques Android présents dans l'entreprise : logo hostaghost

  • Adaptation à toute taille d’écran et densité de pixels
  • Possibilité de partager ses créations HostAGhost sur Facebook, Twitter et les autres applications Android prenant en charge les images
  • Prise en charge des vieux smartphones comme des plus récents
  • Bon fonctionnement de la prise en charge de l’appareil photo
  • Importation d'images depuis la galerie de l'utilisateur
  • Création d'une grille 3D ajustable au doigt si le manque de gyroscope ou la méconnaissance de focale ne permettent pas de l'adapter automatiquement.

Technologies et langages utilisés : Unity 3D, C#, Java, Android


polytechcsharp






unitycsharp

Moov3D


Moov3D, développement sur prototype avec caméra stéréoscopique et réalité augmentée en temps réel, Pointcube, septembre 2013

Moov3D est un projet de réalité augmenté avec capture d’image stéréoscopique supporté par plusieurs acteurs : CEA Grenoble, Grenoble INP, Microoled, Pointcube, ST Ericsson et Visioglobe. Ce projet perçoit aussi des subventions du gouvernement, celui-ci encourageant la recherche française dans des domaines novateurs.

Le prototype, développé par ST Ericsson, est un téléphone Android doté de 2 caméras parallèles. Moov3D fonctionne grâce à une librairie développée par des chercheurs Grenoblois qui permet d'obtenir des informations à propos de l'espace en temps réel à partir des images captées par les caméras. J'ai participé au développement, au sein de Pointcube, d'une application permettant l’ajout d’objets 3D réalistes intégrés dans une vidéo : une sorte de Oneshot mais fonctionnant avec un flux vidéo plutôt qu’avec une image de fond statique

L'application est développée en Java, grâce au moteur 3D open source JMonkeyEngine.

Fonctionnalités développées pour l'application Moov3D :

  • Ajout de plusieurs objets
  • Rotation et redimensionnement des objets
  • Possibilité de sélectionner les objets déjà placés afin de les modifier
  • Personnalisation de chaque objet en laissant l’utilisateur changer sa texture
  • Lampe qui éclaire le sol, pouvant être allumée pu éteinte
  • Possibilité d’afficher une grille et un repère au niveau du sol

Pour plus d'informations : Moov3D sur le site du GIBSA-lab

Technologies et langages utilisés : JMonkeyEngine, Java, Android



jmk csharp

Site Leadergame


leadergame sitte picture
Le nouveau site de Leadergame vient en remplacement de l'ancien site réalisé avec des technologies vieillissantes (Cariboost). Il intègre aussi les plateformes web des serious games de l'entreprise. Réalisé avec Wordpress, son contenu est facilement modifiable et adapté aux mobiles.

Pendant mon stage de fin d'études à Leadergame, il m’incombait la responsabilité des choix technique et la réalisation concrète des demandes clients :

  • Création du nouveau site Web de Leadergame avec le CMS Wordpress
  • Réorganisation, amélioration et intégration dans Wordpress des plateformes web des serious games de l'entreprise.
  • Amélioration de la sécurité des différentes plateformes
  • Tests et correctif de modules d'e-learning Articulate Storyline
Technologies et langages utilisés : Wordpress, Php, jQuery, Mustache, Articulate Storyline

Learn2Lead


l2l picture
Learn2Lead est un serious game sur le leadership développé par Leadergame. Créé avec Unity, l'application est jouable depuis un navigateur, les résultats détaillés des joueurs et un classement sont disponible au sein de la plateforme Web.

Pendant mon stage à Leadergame, j'ai apporté les amélioration suivantes à Learn2Lead :

  • Mise en place d'une version Webgl, afin de se passer du plugin Webplayer Unity
  • Centralisation et refactorisation des différentes plateformes web du serious game
  • Intégration de Learn2Lead au sein du nouveau site Wordpress
  • Ajout du support de multiples résolutions afin que le jeu puisse s'adapter aux tablettes et mobiles
Technologies et langages utilisés : Php, jQuery, Unity, normalisation de bases MySQL

PIN Factor


pin Factor picture

Été 2012 : Stage de 10 semaines dans l'entreprise I Think Security basée à Waterloo, Ontario (Canada).

Réalisation de la solution PIN Factor :

  • PIN Factor est une solution permettant l’identification sécurisée sans avoir recours à un mot de passe. L’utilisateur renseigne son e-mail et un code PIN lui est ensuite envoyé sur son téléphone portable ou sa boîte mail. Il doit simplement recopier le code dans le champ du formulaire pour s’identifier.
  • Le site internet de PIN Factor permet aux utilisateurs de s’inscrire au service et de s’enregistrer sur les différents sites internet proposant une identification avec PIN Factor. L’administrateur d’un site peut y inviter de nouveaux utilisateurs par e-mail et accéder au code nécessaire pour intégrer le formulaire PIN Factor dans son site web.
  • Utilisation de Javascript pour créer un formulaire d'identification PIN Factor dynamique intégrable partout
  • Communication entre le formulaire PIN Factor et le serveur I Think Security grâce à l'Ajax Cross-Domain
  • Envoie de SMS grâce aux SMS gateway des opérateurs téléphoniques

Réalisation en autonomie, dans un environnement de travail anglophone.

Technologies et langages utilisés : HTML, Javascript, Ajax, Php, MySQL

its
Accelerator center picture

Accelerator Center, Waterloo

La fantastique aventure des Blounts

Capture d'écran du jeu
La fantastique aventure des Blounts, projet personnel de jeu d'action, 2015

La fantastique aventure des Blounts est un projet de jeu d'action multijoueur développé avec Unity 3D. Chaque joueur contrôle un habitant de la planète des Blounts et combat ses adversaires à toute vitesse, dans une arène générée aléatoirement. Une démo du jeu est déjà jouable en split-screen, avec 3 types d'arme différents et des pouvoirs spéciaux contenu dans les caisses mystères.

La version finale de la fantastique aventure des Blounts comprendra beaucoup plus de contenu et un gameplay remanié : différentes arènes, bruitages complets, pouvoirs spéciaux, nouvelles armes, adversaires contrôlés par l'ordinateur, mini-jeux,...

J'ai pour projet de publier ce jeu sur la plateforme web Big Blue Arms. Avec mon associé, Martin Berlioux, nous publions sur cette plateforme le contenu original et humoristique que nous réalisons: court-métrages, chroniques audio, jeux, clips musicauxs...

  • Version Windows
    • Nécéssite Windows XP SP2 ou plus récent
  • Version Mac
    • Nécéssite Mac OS X 10.8 ou plus récent
    • Décompresser l'archive, puis lancer Blounts.app
  • Version Linux
    • Testé sur Ubuntu 16.04
    • Décompresser l'archive, puis lancer Blounts.x86 (S'il ne se lance pas, assurez vous que le fichier a le droit de s'exécuter. Exécuter la commande chmod 777 /Chemin/Du/Jeu/Blounts.x86 depuis un terminal permet de le rendre exécutable s'il ne l'est pas)
    • Si la touche ne fonctionne pas pour faire avancer le joueur de droite, utilisez la touche
  • Si le jeu ne fonctionne pas, assurez vous que votre carte graphique supporte DirectX 9 et que son pilote est à jour.
Astuces :

Pensez à aller dans Paramètres => Graphismes depuis le menu principal afin de régler la qualité d'affichage selon votre configuration matérielle

L'arène de jeu est générée aléatoirement, vous pouvez en générer une nouvelle en appuyant sur tab, puis sur générer une nouvelle map.

Les champignons rouges vous permettent de faire de grand sauts et même des saltos en appuyant sur les touches E ou O.

Les caisses mystères vous confèrent des pouvoirs spéciaux et les portails vous téléportent.

Musique réalisée par Martin Berlioux

Technologies et langages utilisés : Unity3D, C#, Blender

L'Excuse


L'Excuse

L'Excuse est un court mètrage que nous avons tourné en mars 2015 avec une équipe de bénévoles et d'amateurs motivés. Je me suis principalement occupé de la logistique du tournage, de la prise de son, du montage, de la post-production et des effets-speciaux.


Technologies et compétences : Adobe Premiere, Davinci Resolve, prise de son, gestion d'équipe

Voyageur de commerce


Voyageur du commerce picture

Problème du voyageur de commerce, optimisation et heuristiques, Polytech Lyon 2014

Le problème du voyageur de commerce est un problème mathématique qui consiste, étant donné un ensemble de villes séparées par des distances données, à trouver le plus court chemin qui relie toutes les villes

Projet réalisé en binôme. Nous avons implémenté différentes heuristiques pour résoudre ce problème sur différents jeux de données :

  • Mise en place de la recherche avec liste Tabou, du recuit simulé, et d'un algorithme génétique
  • Mise en pratique sur différents pays ou régions : Canada, Chine, Japon, Sahara, Zimbabwe
Technologies et langages utilisées : C#, Multithreading



polytech csharp

Gendarmes et voleur


Gendarmes et voleur picture

Gendarmes et voleur, Polytech Lyon 2013

Réalisé en binôme, modélisation de poursuite dans les graphes basée sur les travaux de Richard J. Nowakowsk et Peter M. Winkler (Vertex-to-vertex pursuit in a graph).

  • Mise au point d’intelligences artificielles basées sur le parcours de graphes afin que le voleur essaie de survivre le plus longtemps possible alors que les s basées sur le parcours de graphes afin que le voleur essaie de survivre le plus longtemps possible alors que les gendarmes tentent de le coincer.
  • Deux types de graphes disponibles : grille 8x8 et hypercube.
  • Statistiques permettant de visualiser la performance des IA.
Technologies et langages utilisées : C#, WinForms, XNA, Multithreading



polytech csharp xna

Pacman avec XNA


Pacman picture

Pacman, Polytech Lyon 2012

Réalisation d'un Pacman reprenant les codes du jeu original avec un rendu fluide et des graphismes améliorés. 60 fps, fantômes intelligents, accélération du rythme de niveau en niveau.

Technologies et langages utilisés : C#, XNA



polytech csharp xna

Puissance 4 en réseau


Puissance 4 picture

Puissance 4 en réseau, projet de fin d'étude, IUT de Montpellier 2012.

Réalisation en binôme d'un jeu de Puissance 4 en réseau avec des graphismes 3D :

  • Applet java du jeu, rendu 3D avec effets de particules grâce à JMonkeyEngine
  • Jeu hors ligne à deux sur une même machine
  • Jeu en réseau, communication effectuée grâce à une base de données
  • Site internet permettant aux joueurs de s'inscrire et trouver un partenaire de jeu
Technologies et langages utilisés : Java, JMonkeyEngine, JDBC, HTML, Php, MySQL, Multithreading




iut java jmk

Jeu de plateforme



Jeu reprenant personnages et monstres de la bande dessinée Kid Paddle, INSA de Lyon 2011

Réalisation en groupe de 4 étudiants d'un jeu de plateforme, de type Super Mario :
  • Editeur de niveau complet avec export des maps au format XML
  • Détection précise des collisions
  • Graphismes riches et animations
Technologies et langages utilisés : FreePascal avec Lazarus (équivalent libre de Delphi), LCL



insa lazarus

Simulation proies prédateurs


proie prédateur picture

Simulation de l'évolution d'une population en temps réel face à des prédateurs, INSA de Lyon 2010

Réalisation en groupe de 4 étudiants d'un logiciel ludique simulant l'évolution d'une population :
  • Population evoluant dans un espace clôt, comportement, durée de vie, aptitude à se reproduire déterminés par un génome.
  • Possibilités de placer des prédateurs autonomes et d'en sélectioner un pour le contrôler manuellement.
  • Panneau de contrôle permettant de régler le comportement des individus.
  • Visualisation de statistiques sur les caractéristiques de la population.
Technologies et langages utilisés : FreePascal avec Lazarus (équivalent libre de Delphi), LCL



insa lazarus

Dark Medusas


dark medusas picture

Jeu de tir à la première personne dans le cadre du concours Blitz3Dfr 2010

Réalisation d'un jeu 3D entièrement procédurial : utilisation d'aucun media externe, textures et modèles 3D entièrement créées dans le code.

  • Génération d'une heightmap pseudo-aléatoire pour le terrain grâce au bruit de Perlin
  • Modélisation des meduses, textures, animations, armes et éléments de décors de manière procéduriale
  • Gameplay de FPS classique
  • Utilisation de librairies externes pour les particules et le ciel
Technologies et langages utilisés : Blitz3D (langage de type BASIC avec moteur 3D intégré)


b3D