J'ai été invité par Paul G. Kry à participer au séminaire d'animation à l'institut de
recherche Bellairs à la Barbade.
Le séminaire de cette année avait la forme d'un hackathon où nous devions rechercher
s'il est possible d'aboutir à une preuve de concept pour des sujets donnés.
J'ai travaillé sur le projet "Mélange anisotrope basé temps" en qualité de développeur
du prototype en C++ sous Radium Engine à l'aide des plugins privés de l'équipe STORM
(à l'IRIT).
Une limitation des travaux sur les surfaces implicites est qu'elles proposent peu de
contrôle sur la composition de deux surfaces entre elles. En particulier, les travaux de
recherche précédents ne permettent pas de transformer une sphere en gouttelette lorsqu'elle
est composée avec un plan (il manque une information de direction et indiquer à l'opérateur
d'effectuer une union d'un côté et un mélange de l'autre).
Au cours de cette semaine nous sommes arrivés à :
exposer une preuve de concept sur des méthodes manuelles et automatiques de génération
d'un champ paramétré par une direction.
illustrer le concept sur des exemples (gouttelette, vague, ferromagnétisme,
composition en spirale).
Mots clés:
3D
animation
C++
cages
contacts
déformation
implicit skinning
maillages
position inverse
Qt
Radium Engine
recherche
squelette d'animation
surfaces implicites
(Novembre 2019 - Décembre 2019 : 3 semaines en présentiel à temps plein et en télétravail de Octobre 2019 à Décembre 2019 bénévolement)
Dans l'attente de visa pour commencer un doctorat, Brian Wyvill m'a offert la possibilité de
venir à l'Université de Victoria (Canada) pour développer les travaux commencés avec
Loïc Barthe et Paul G. Kry.
Pour étendre les travaux précédemment effectués, j'ai :
montré que la méthode pouvait se généraliser à d'autres types de déformation :
basées squelettes, basées points.
optimisé le temps de mise à jour après déformation (assertion sur la structure du
pavage de l'espace) et qualité des résultats (l'optimisation du temps permet
une augmentation significative de la résolution et rend l'approximation par splines
pertinente où l'interpolation reste limitante).
posé la principale limitation de la méthode liée aux renversements locaux de
l'espace et ses discontinuités.
commencé l'étude sur des modèles concrets (trompe d'éléphant, tentacule de pieuvre).
proposé un pavage à résolution paramétrable pour une iso-surface d'intérêt dans un
champs scalaire.
Expériences
Au cours de mes expériences professionnelles et de mes projets tutorés j'ai été apprécié
pour mon autonomie ainsi que la pertinence et originalité de mes résultats.
Les mots clés suivants peuvent aider le lecteur à se faire une idée sur les technologies
et concepts avec lesquels j'ai pu travailler lors de mes expériences professionnelles.
Mots clés:
3D
animation
automatisation de calculs
C++
CADO-NFS
cages
contacts
corps finis
crible algébrique
cryptanalyse
déformation
enseignement
implicit skinning
logarithme discret
maillages
mathématiques
paramétrage
position inverse
Python 3
Qt
Radium Engine
recherche
surfaces implicites
Mots clés:
enseignement
mathématiques
(03 Mars 2021 - 16 Avril 2021 et 26 Avril 2021 - 06 Juillet 2021 : 4 mois à temps complet)
Pour assurer une mission de remplacement en mathématiques, j'ai été contacté par le Lycée Jean Rose de Meaux.
J'y ai encadré 7 classes pour des niveau portant sur les classes de Première Professionnelle, Terminale Professionnelle, Terminale Technologique au BTS Comptabilité-Gestion seconde année.
J'ai intervenu en mathématiques sur les thématiques suivantes :
Probabilités conditionnelles
Loi binomiale
Python 3
Dérivation
Suites (géométriques et arithmétiques)
Statistiques à deux variables
Je partage quelques unes de mes réalisations pendant cette mission si elles peuvent être utiles pour le lecteur (réutilisation autorisée pour enseignement) :
D'autres documents passerons probablement en public un jour.
Mots clés:
3D
animation
C++
cages
contacts
déformation
implicit skinning
maillages
position inverse
Qt
Radium Engine
recherche
surfaces implicites
(Avril 2019 - Septembre 2019 : 6 mois à temps plein en stage conventionné master 2 informatique)
L'Implicit skinning propose la correction automatique de plis et préservation de volumes
aux articulations d'un personnage 3D déformé par un squelette d'animation.
Cependant, une limitation est que la transformation de primitives rigides (surfaces
implicites) ne permet pas la déformation libre du maillage (type shapekey, dessiner le
gonflement d'un muscle).
Sous la supervision de Loïc Barthe et Pascal Romon, mon rôle était de trouver une
méthode permettant la déformation d'une surface implicite en utilisant une cage de
déformation.
Pour répondre au mieux à cette problématique j'ai:
étudié l'état de l'art sur les déformations free form à l'aide d'un prototype 2D
en Java sous Processing IDE.
développé un prototype en C++ sous Radium Engine avec une interface sous Qt.
suivi la piste de résolution de la position inverse et proposé une architecture
logicielle pour répondre au problème.
proposé des méthodes et analysé leur pertinence.
Je me suis intéressé à des méthodes de résolution directe dont la faiblesse était le
temps pour l'une et la cohérence du champs pour l'autre. Puis, je suis allé vers des
méthodes d'approximation de la déformation par la déformation d'une grille régulière.
Mes travaux suivants se sont intéressés à améliorer la robustesse de la déformation du
champs scalaire (continuité avec des splines, détection avec une découpe en tétraèdres).
Grâce à celle-ci, je me suis intéressé à l'auto-intersection du champs
avec lui-même et sa résolution. Ce qui permettrait de proposer la correction d'un
auto-contact d'un maillage ou sous-maillage avec lui-même en utilisant un opérateur
choisi pour proposer l'effet de déformation désiré.
Sur un exemple type bras avec gonflement de muscle, on peut ajouter un
effet automatique au contact (gonflement au pli):
Pour ce travail, j'ai été évalué à la note de 20 / 20.
Pour plus de détails et explications, j'invite le lecteur à étudier mon mémoire de
master :
(Mai 2018 - Août 2018 : 4 mois à temps plein en stage conventionné master 1 informatique)
CADO-NFS permet de tester la robustesse face à des attaques mathématiques d'un système
cryptographique à clé publique dont la sécurité est basée sur la factorisation ou sur la
résolution du logarithme discret dans des corps finis.
À l'origine CADO-NFS était utilisé pour réussir des records sur la taille des corps
finis premiers à mettre en défaut. Pierrick Gaudry m'a chargé de trouver une méthode pour
paramétrer CADO-NFS sur des petits corps finis premiers (attaques depuis le poste d'un
particulier) et diminuer le plus possible la limite à partir de laquelle CADO-NFS
devient plus pertinent que les logiciels concurrents.
Au cours de cette expérience j'ai:
compris le fonctionnement général de CADO-NFS pour la résolution du logarithme discret,
ses paramètres et leur influence.
développé des scripts (Python 3) pour le parsing des résultats et l'automatisation de
sous-routines de CADO-NFS pour tester des hypothèses de paramétrage sur plusieurs
machines distantes.
proposé une analyse des résultats et méthodes pour approcher des jeux de paramètres
pertinents.
par un nombre important et varié d'exemples, mis en évidence des bugs pertinents dans CADO-NFS.
montré que CADO-NFS bat les logiciels concurrents dans un corps fini premier de Sophie
Germain (pire cas) à partir des tailles de 40 chiffres.
Ma contribution, jeux de paramètres pour les corps finis premiers entre 30 et 100
chiffres, a été ajoutée dans CADO-NFS (commits c77fe4b3b5f2 et 1cd07513de565).
Pour ce travail, j'ai été évalué à la note de 19 / 20.
Un fait amusant en rapport avec ce sujet : Pierrick Gaudry a pu illustrer le type d'application concrète de
CADO-NFS sur les petites tailles de corps finis : mise en défaut du système de vote
par internet pour les élections de Moscou pour des corps finis premiers de taille 256 bits (77 chiffres), il y détaille ici la procédure pour réaliser l'attaque.
J'invite le lecteur à étudier mes travaux dans le document suivant :
Dès leur entrée en licence mathématiques-informatique à l'Université Paris-Est
Marne-La-Vallée, les étudiants participent à deux semaines de préparation tutorée en
mathématiques pour faire le pont entre les notions étudiées au lycée et pousser
celles-ci en vue de préparer les enseignements de l'université.
J'ai été en charge de deux groupes de 13 élèves chacun que j'ai exercé sur les
thématiques suivantes :
nombres complexes.
calcul algébrique réel ou complexe (polynômes, inégalités).
étude de fonctions (limites, graphe de fonction).
étude de suites (suites récurrentes).
intégration (intégrale de Riemann, initiation intégration par parties).
géométrie (plan complexe, équations de droites dans le plan et l'espace).
Projets universitaires
Ces projets ont été développés dans le cadre universitaire pour fonctionner sous Linux.
(Pour tester, ceci demandera très probablement au lecteur d'installer SDL 1.2, MLV, OpenGL,
libg3x : fournie, Processing IDE).
Mots clés:
2D
3D
adversaires contrôlés par ordinateur
animation
C
C++
codes correcteurs
corps finis
création personnage
déformation
détection collisions
factorisation polynômes
GLSL
graphe de scène
génération automatique hitbox
génération procédurale par scripts
géométrie différentielle discrète
Java 8
maillages
morphing
OpenGL 2
OpenGL 3
processing IDE
Python 3
QR codes
SDL
squelette animation
synthèse d'images
Mots clés:
3D
déformation
géométrie différentielle discrète
Java 8
maillages
processing IDE
2019 : Master 2 Informatique spécialité imagerie
Dans le cadre du cours de géométrie différentielle discrète, il nous a été proposé de
réaliser un projet sur la déformation de maillages par flots de courbure discrète.
L'idée d'un flot est de déformer une surface en se basant sur un propriété type
courbure, maximisation du volume ou autre.
Une application principale est la réduction de bruit / pointes sur un maillage.
Le projet est réalisé en Java 8 sous Processing IDE (surcouche de OpenGL 2).
Nous y proposons :
une architecture logicielle pour manipuler flots de courbure sur les surfaces
(maillages).
différents flots, exemples, paramètres et informations sur la surface.
Pour plus de détails j'invite le lecteur à lancer projet.pde sous Processing IDE et
lire la documentation du projet :
Ce projet de synthèse d'image propose la visualisation d'un système solaire. Il est
possible de définir des propriétés, ajouter des planètes et générer des ceintures
d'astéroïdes depuis un système de fichiers.
En C++, depuis une surcouche d'OpenGL 3, nous proposons :
architecture logicielle pour séparation des tâches sur le rendu et la géométrie.
visualisation système solaire avec rendu par shaders (GLSL).
génération procédurale et paramétrable d'astéroïdes et planètes.
J'étais en charge de l'architecture logicielle et du traitement de la géométrie
(système de fichiers pour création modulaire et génération procédurale).
Codé en C, ce projet propose la visualisation d'un graphe de scène par assemblage de
primitives simples (sphères, cylindre, tores et autres).
Il est proposé à un utilisateur de construire sa scène depuis un script où il y définit
primitives, transformations, couleurs, animations, schémas de composants.
J'étais responsable du graphe de scène et de la mise en place de scripts pour génération
procédurale de la scène.
Pour lancer le projet, le lecteur devra installer la libg3x : surcouche de OpenGL fournie.
Avec un intérêt personnel pour la cryptographie et un cours stimulant de mathématiques
pour l'informatique (arithmétique et combinatoire) donné en Licence par Jean-Yves Thibon,
je suis allé voir Marc Zipstein en lui disant que je voulais faire de la crypto, Marc
Zipstein et Jean-Yves Thibon m'ont donné l'opportunité de travailler sur des codes
correcteurs et me familiariser avec la notion de corps finis.
Codé en C, je propose une implémentation qui :
recherche des polynômes irréductibles dans Z/2Z [X] (tous les petits polynômes avec un
crible d'Ératosthène et recherche de gros polynômes par une factorisation récursive
utilisant l'algorithme de Berlekamp).
propose, par une calculatrice, la manipulation d'un corps fini F2q isomorphe à F2[X]/(P(X)) avec P
irréductible dans F2[X] et q le degré de P.
gère le codage, décodage et correction d'erreurs pour des codes BCH et de Reed-Solomon.
depuis les codes correcteurs énoncés permet la création d'un QR code (lisible avec une
application classique) ainsi que son décodage et correction d'erreurs.
Un fait amusant : Nintendo propose un challenge qui consiste à factoriser un polynôme
dans F2[X].
Mots clés:
2D
animation
C
création personnage
détection collisions
génération automatique hitbox
SDL
squelette d'animation
2017 : Licence 3 Informatique, projet tutoré
Je suis arrivé avec mon idée de créer un mini-Blender 2D devant Cyril
Nicaud et je le remercie vivement pour m'avoir fait confiance et pour m'avoir accompagné dans ce projet ambitieux.
L'objectif du projet était de créer des personnages depuis zéro et les faire combattre (on a fait match nul à la soutenance).
Ce projet se décompose en plusieurs grandes parties :
un éditeur de squelettes (modèle hiérarchique d'articulation avec limite de rotation).
un éditeur de formes (modélisation de la partie visible du personnage pour chaque os).
un éditeur de mouvements (définition des mouvements d'articulations et déplacement
personnage).
génération automatique de boîtes de collision (simplification du modèle : cercles et rectangles).
détection automatique des coups portés à un autre personnage et manipulation
interractive type jeu de combat.
Vous pouvez faire combattre vos personnages l'un contre l'autre !
Vous pouvez éditer vos propres personnages pour un meilleur combat.
Mais vous pouvez aussi créer votre personnage depuis zéro.
Mots clés:
2D
animation
C
création personnage
SDL
2016 : Licence 2 Informatique
L'objectif du projet était de faire un jeu de combinaison d'éléments. Mais j'ai trouvé
amusant de rajouter un personnage et proposer un éditeur d'avatars (forme du visage,
pilosité, morphologie, couleurs). À noter que ce jeu est sans aucun fichier image (que du procédural).
Fait remarquable : ce projet a reçu un Borie award, une grande distinction pour un
projet d'étudiant !
Codé en C, ce snake classique a une particularité : vous pouvez jouer contre des joueurs
ou contre des ordinateurs. Les ordinateurs peuvent avoir différents comportements
prédéfinis : récolter les pommes sur le terrain, chercher à survivre ou encore attaquer
tous les autres pour les bloquer !
Une partie amusante comprend au moins une IA avec objectif d'attaque !
Quelques astuces pour manipuler les mathématiques, ici les premiers chapitres portent sur:
Mécanismes de factorisation pour manipuler fractions, suites, intégrales, équations de cercles et autres.
Transformation d'une suite récurrente linéaire en calcul matriciel (permet de calculer la suite de Fibonacci en temps logarithmique et des suites plus générales).
Mon mémoire de master en informatique sur la déformation de surfaces implicites :
Introduction par l'explication des méthodes de déformations basées squelette, composition de surfaces implicites.
État de l'art sur la déformations basées cage et la résolution du problème de la position inverse avec les Free Form Deformations.
Proposition de méthodes de résolution directe (mise en relation de l'espace déformé avec l'espace d'origine : résolution numérique avec binding donc coûteux en temps;
navigation dans l'espace de coordonnées barycentriques : descente de gradient mais perte de cohérence avec les contraintes imposées lors du calcul des poids).
Proposition de méthodes d'approximation (pavage discret de l'espace : demande une haute résolution pour approcher la déformation)
et reconstruction trilinéaire, triquadratique (interpollation et approximation).
Détection de chevauchements de l'espace avec lui-même (pavage de tétrahèdres) et proposition d'un ordre de composition de valeurs scalaires.
Utilisation de la méthode pour corriger les contacts d'un maillage avec lui-même et ajout d'effets liés à l'opérateur.
Dans le cadre du cours de topologie discrète, j'ai été amené à réaliser un état de l'art et des explications brièves de ma compréhension de la généralisation
de noyaux critiques et d'ensembles P-simples par des ensembles de polytopes présenté au
séminaire de topologie discrète par Tat Yung Kong.
Dans le cadre du cours de morphologie mathématique, j'ai été amené à rédigé un compte rendu de l'article
"Constrained Connectivity for Hierarchical Image Partitioning and Simplification" de Pierre Soille et son explication.
Un projet personnel en cours. Son objectif est de proposer des outils et méthodes pour
permettre le modeling et l'animation de personnages définis par une représentation
implicite.
En effet, les maillages ont été intensivement étudiés pour la création numérique de
personnages articulés. Cependant pour arriver à leur objectif, les artistes peuvent faire
face aux limitations discrètes de la méthode (ensemble de polygones à de haute résolution)
lors de la modélisation : ceci fait qu'un artiste peut sculpter sur un polygone de haute
résolution, puis doit remailler son personnage pas une phase de retopologie pour avoir
un maillage propre plus basse résolution. Une autre limitation qui en découle est la
déformation de ce maillage pour l'animer. Ici l'étape de rigging du personnage qui peut
s'avérer fastidieuse et avec peu de contrôle artistique.
L'objectif de mes travaux personnels est de s'intéresser à comment proposer aux artistes des outils
de création numérique de personnages qui leur permettraient de continuer d'exprimer leur
créativité et gagner plus de contrôle : une modélisation de surfaces continues et le
sculpting de la déformation de la surface pour l'animation. L'objectif de ce projet est
de proposer des outils qui permettraient de proposer la métamorphose et combinaison de
personnages, là où les maillages restent un outil très limitant pour réaliser ce type
d'opérations.
Si le lecteur est intéressé par le projet, je l'invite à regarder les documents suivants:
Construction d'un opérateur binaire paramétrable : méthode analytique pour composition
de surfaces implicites et métamorphose de l'opérateur pour jeu de paramètres de donné
(l'aspect paramétrable de l'opérateur binaire a pour but de permettre une construction
n-aire non symétrique et la variation de la composition dans l'espace).
Implicit clustering : interpolation interactive d'un paramètre dans l'espace depuis des points de contrôle.
Sculpting (composition avec un point) : exemple d'application de l'opérateur et
possibilités offertes pour le sculpting.
Construction n-aire : fabriquation d'un opérateur n-aire depuis un opérateur binaire
donné.
Proposition d'un pipeline pour gérer les opérateurs et l'ajout de fonctionnalités pour
la composition : champs paramétrés divers et constructions de compositions sous forme de
nodes.
Proposition initiale du projet de métamorphose sous forme de sujet de thèse en 2019
(refusé par la recherche académique car trop appliqué, technique et spécifique) :
TRANCHO_Kevin_sujet_these.pdf
Inspirés par notre examen de python 3, un ami a proposé de créer chacun le nôtre.
Vous pouvez passer le mien : 2 points par bonne réponse et 2 points bonus si vous jouez
sur papier (Si vous obtenez 26 / 20, vous faîtes probablement du python au petit déjeuner).
Vous avez 1 heure :
Pour proposer aux autres étudiants de s'exercer sur la programmation en C et les listes
chaînées j'ai proposé deux exercices autocorrigés par mon code type tests unitaires.
Antoine Meyer et Marc Zipstein ont aimé l'idée et l'ont mis en ligne pour les étudiants.
Le premier exercice était un simple exercice de révision sur les listes chaînées et le
second proposait plus un défi (en fait j'avais proposé un exercice sur des graphes sans
même le savoir).
Le joueur doit simplement modifier les .c dans le répertoire "exercices" et compiler pour voir son score.
La suite de Fibonacci est bien connue pour son intérêt dans les cours de complexité !
Un fait amusant : elle peut se calculer en temps logarithmique !
Ceci revient à l'exprimer sous forme de deux suites récurrentes, ce qui se réduit à une
exponentiation matricielle.
Si ceci vous intéresse, je propose le document suivant qui détaille un peu de théorie et de généralisation à ce sujet.
Je serai ravi de discuter d'une solution plus astucieuse et plus efficace (je suis à 46.834 secondes pour un calcul en C du milliardième élément de la suite de
Fibonacci sur ma machine).
Pour faire les benchmarks sur votre machine, je propose le code obscurantiste suivant :
Si vous souhaitez garder une image simple et agréable de la factorielle gardez en tête
sa définition naturelle. Mais si vous insistez et que vous aimez la combinatoire, je
vous propose une autre définition :
Son gain de performances sur la définition naturelle se base sur l'idée que l'on peut
optimiser le calcul de plusieurs ensembles de facteurs de la formulation à l'aide de
l'exponentiation rapide.
Bien que sympy utilise une méthode plus performante pour calculer la factorielle.
Je vous propose un code python 3 pour tester cette définition :
Note : étudiez ce projet seulement si vous êtes joueur et que vous aimez les défis.
Sinon, ignorez simplement ce projet.
Si ça compile, ça fonctionne, non ?
Mais qui a encore codé cette horreur ???
Ah, ne pas commenter son code c'est aller au devant de graves déconvenues pour le lire 5 ans plus tard.
Trouvez ce que raconte celui-ci et je serai ravi d'échanger sur ce projet avec vous !
(Une tentative honnête sera tout autant appréciée et je peux aussi donner des indices pour compléter ce que vous trouvez).
Il semble y avoir un code, fichier ! (Gardez en tête que c'est un enfant encore
insouciant qui a créé ça, vous gagnerez du temps)
Mon drapé dépointe mon historien forcé et inducteur pour Faustino, mon autoroutier
agave annoté . Mon chambranle saisonne mon kénotron théorisé et branchial pour Romanos,
mon infinitif sénevé endeuillé . Ton balistique débrouillard assouvi, remettant ton
franc-maçon approximatif, dépaquete ton marié bluté .
Notre oxystyle frimeuse accomplie sibile notre Lovely dasycéphale, surplombée,
ébouriffée et recorde . Votre Corabelle désamorcée reprogramme Martianne, qui rince
Anouck, rhabillant votre Kayané multilatérale .
Notre ignare salissure dévissée dépare notre Mauraine oxystyle, angoissée, entubée et
foliiforme . Une centroscopie dépile Keren en islamisant Éloïse, une déficience
efforcée qui cachete Dora .
Enfin, c'est évident, vous voyez ce que je veux dire !
Bye
Jeux - programmation autodidacte
Avant d'avoir une réelle formation en informatique, j'arrivai quand même à faire quelques jeux cool. Je vous fais profiter des plus remarquables.
2015 Octobre
Quoi de mieux pour utiliser mes compétences en infographie 2D et en programmation que
créer de un jeu à la pokémon ? À ce moment je n'avais pas encore étudié C et C++ à
l'université, mais la création n'attend pas.
Pokemaths propose aux joueurs :
un déplacement sur une carte et interagir avec d'autres personnages ou rencontrer des
adversaires aléatoires.
créer sa propre base pour gérer ses personnages.
combattre des personnages et gagner des niveaux, des compétences et évoluer.
des champions à combattre pour avancer dans le jeu (la carte d'aventure a été étendue
plus tard après la création jusqu'à un boss final !)
un tchat, gestion d'amis et autres expérimentations pour simuler du multijoueur à
l'université (cette partie relève plus de la bidouille qu'autre chose).
De mon côté, j'ai :
un éditeur de carte (décors, entités et autres).
des scripts externes pour l'IA des champions, la gestion des entités, tout le contenu
est paramétrable par fichiers.
Codé pour fonctionner sous Linux avec SDL 1.2.
Commandes :
Flèches directionnelles -- pour déplacer le personnage.
Shift droit -- pour le menu.
Enter -- pour interactions.
Space -- pour placement de blocs.
Editeur de cartes : accessible avec l'option "edit"
Flèches directionnnelles -- pour déplacer le curseur.
Clic -- pour sélectionner l'élément à placer (decors, fond, interaction).
Keypad 0, 2, 4, 5, 6, 8 -- pour régler les adjacences de la tuile à placer.
Keypad 0 -- régler les données du bloc entité à placer.
Keypad +/- -- alternatives pour la tuile.
Espace -- pour placer la tuile.
A -- pour régler automatiquement les adjacences de la tuile placée.
F -- remplissage.
Z -- réglage automatique des tuiles adjacentes à celle sous le curseur.
Enter -- placement automatique activer / désactiver.
Backspace -- récupérer la tuile sous le curseur.
Suppr -- cache les décors.
G -- dans la console, indiquez les coordonnées où aller.
S -- sauvegarde la position pour y commencer en jeu.
M -- aller vers une autre carte (numéro à indiquer dans console).
E -- régler la valeur d'une entité dans la console : [ID] [VALEUR] (pour tester en jeu).
Les entités sont dans le répertoire "ent" et sont à scripter (peut valoir le coup de me
contacter si souhaitez modder le jeu et je serai ravi de vous y aider).
Hacks:
Tourner la molette sur une capacité ou y cliquer nerveusement l'enverra automatiquement en boucle.
Lancer plusieurs fenêtres pour entraîner plusieurs personnages ou recruter en masse.
Fermer le jeu et le relancer pour ignorer les combats.
Profiter qu'anti-triche ne soit pas présent dans cette version (Il vous aurait très probablement banni du jeu puisque vous lisez cette section) !
Modder le jeu.
Le plus grand hack : jouer au jeu !
Bugs connus:
Si vous contrôlez un personnage, il existe dans sa base, évitez de placer un bloc sur
sa position virtuelle (pour la définir, pressez Enter pour le libérer puis incarnez le).
Compresser le projet en .zip : certains fichiers ne survivront pas à l'extraction.
Le projet est modifié (vous ne devez pas être kevin pour accéder à tout et anti-triche
est retiré) mais doit fonctionner sous Linux avec SDL:
Probablement mon premier vrai jeu en C/C++ développé au début des années lycée. C'est un
jeu de puzzle où les premiers niveaux sont là pour vous échauffer et ensuite le vrai jeu
commence !
Le but est de d'arriver jusqu'à l'objectif sans se faire capturer par les autres ours
et si vous pouvez récolter un maximum d'argent au passage, c'est tout à votre honneur !
Les ours bleus voient à 2 blocs sauf en diagonales, facile comme puzzle.
Vous avez tout le temps dont vous avez besoin pour vous déplacer.
Avec le jeu, je laisse à disposition mon générateur d'identité (sauf si votre nom est
"kevin") et mon éditeur de carte (si vous souhaitez faire vos propres puzzles).
Commandes :
Flèches directionnelles -- pour déplacer votre personnage.
S -- sauvegarder votre partie.
L -- charger votre dernière sauvegarde.
Note : préservez vos oreilles, baissez le son.
Arg oui, je sais, celui-là est sous Windows mais tourne sous Wine ;)
Une vidéo des 50 premiers niveaux, mais je ne vous gâche pas la surprise des adversaires
qui vous attendent ensuite ;) : Fricours.wmv
P.S.: il y a aussi des niveaux secrets ! (bonne résolution)
Jeux - GameMaker
Avant de découvrir la programmation, il fallait bien que je puisse créer des jeux, voici
quelques unes de mes nombreuses créations d'enfance sous GameMaker. Un jeu d'enfant !
Note : vous devrez probablement vraiment baisser le son des musiques techno pour éviter
de faire un bond de votre siège, ne pas être trop sensible aux fortes couleurs et avoir
une souris et un clavier solides !
2012 Juin
Jeu de combat à la street fighter.
Pour ce jeu, il me manquait toute une équipe d'artistes pour faire tous les personnages.
Vous pouvez quand même jouer au prototype et incarner un personnage contre un autre
contrôlé par l'ordinateur dans un jeu de combat.
Un PacMan un peu particulier revisité avec mes assets graphiques. Ici, les adversaires
ne sont pas définis pendant le jeu, mais par un chemin dans lequel j'ai cherché à
anticiper vos mouvements, il faudra être rapide, bonne chance.
Un petit remake de Skell vs Monsters.
On dirait que cette fois le personnage est attiré par la gravité.
Récupérez des orbes rouges pour vaincre les adversaires et évitez les orbes électriques.
Un jeu d'enfant.
Commandes :
Flèches directionnelles -- se déplacer.
Flèche du haut -- sauter.
Space -- activer votre compétence.
Compétences:
Masque bleu -- explosion et vous retransforme en masque blanc.
Masque violet -- explosion et votre personnage disparaît.
Des adversaires arrivent de partout, les gros adversaires vous envoient des plus petits
une fois vaincus. Un boss à aller affronter, une petite aventure ou encore un mode
facile un peu rétro.
Bref, survivez autant que possible et essayez de faire en sorte que votre souris
survive aussi.
Remake de mon premier jeu Fricours !
Jouez à Fricours avant celui-ci pour comprendre pourquoi je propose un autre type de
déplacement. En tant que vrai remake il y a les anciennes cartes et de nouvelles.
Vous avez le choix entre les niveaux du premier jeu "F" ou de nouveaux niveaux "F3".
Pour le contrôle de votre personnage vous avez le choix entre "original" (déplacement
hardcore comme dans Fricours) et "non original" (déplacement un peu plus contrôlable).
Jeu de tir avec de multiples types d'adversaires. Survivez pour chaque niveau jusqu'à la
fin du temps imparti. Mais pensez à ne pas laisser les cafards envahir le terrain.
Pour le menu, il faut envoyer un projectile pour faire votre choix. Arriverez-vous
jusqu'à la salle finale ?
Mais quelles sont ces créatures étranges qui viennent vers mon personnage ?
Cette fois, les adversaires attaquent vous pouvez les vaincre losque votre
masque devient bleu ou en créant du feu. Attention, si votre masque devient violet votre personnage tombe
malade et sera plus lent.
Un peu comme un bilan, j'ai souhaité m'exercer comme pourrait le faire un artiste 3D. Sur ce modèle, j'ai travaillé:
Sculpting du personnage.
Retopologie du maillage.
Rigging : painting des poids, os pour déformation automatique des muscles, shapekeys pour corrections de déformations (plis des genoux et torse bombé).
Contrôleurs pour animation : contraintes manipulation squelette.
Modélisé pour réaliser des mouvements basés sur des jeux d'acteurs (J'avais enregistré
des vidéos où je réalisais divers coups sur des pattes d'ours).
Deux armures peuvent s'assembler pour créer l'armure d'un boss.
Les armures se déploient pour envisager un placement sur un acteur.