Dina Randriazanamparany
Etudiante en Informatique
Spécialisée dans le jeu vidéo
A propos
Bienvenue sur mon portfolio !
Je m'appelle Dina Randriazanamparany et je suis étudiante en Master 2 "Ingénieur du jeu vidéo" GAMAGORA, à l'Université Lumière Lyon 2.
Passionnée par le monde du jeu vidéo, je souhaite poursuivre une carrière de développeuse dans le domaine. C'est pour cette raison que j'ai poursuit cette formation, durant laquelle j'ai acquis des compétences techniques et organisationnelles.
Vous trouverez sur ce portfolio différents projets réalisés au cours de mon cursus, qui m'ont permis de progresser dans le domaine de l'informatique.
Et si vous souhaitez en savoir plus sur moi, vous pouvez consulter mon CV ci-dessous :MES PROJETS
SANS LOGIQUE (2023)
- Genre : Puzzle, Aventure, Escape Game
- Plateforme(s) : PC Windows
- Conditions de développement : 4 mois, en équipe de 15 personnes
- Rôles : Programmeuse Gameplay, Artiste 2D
- Technologies : Unreal Engine 5 (moteur de jeux), Medibang & Quixel Mixer (concepts arts & texturing)
Description
Sans Logique est un jeu d’énigmes et d’aventure, dans lequel vous évoluez dans un univers à la fois étrange et fascinant.
Vous incarnez un personnage de retour dans sa chambre d’adolescence. Mais quelque chose cloche. Votre but sera d’en sortir, mais pour cela, il vous faudra explorer différents mondes, tous aussi loufoques les uns que les autres. Afin de vous assister dans cette aventure, vous aurez à disposition deux objets magiques : le mannequin et la manette. Faites profits de vos pouvoirs afin de progresser, et soyez toujours attentif à votre environnement ! Qui sait, vous pourriez rencontrer des Sylvains, adorables créatures résidant dans les mondes de rêves. Ou alors, si vous êtes malchanceux, vous pourriez faire face aux Ombres, monstres fantomatiques qui ne vous veulent pas vraiment du bien…
Partie technique :
Sans Logique s’inscrit dans le cadre du Gamagora Game Show 2023, un événement tenu par la formation Gamagora de l’université Lumière Lyon 2. Nous avons eu alors l’entièreté du 2nd semestre pour réaliser notre jeu, plus précisément de Janvier à Mai 2023. Le Gamagora Game Show passé, nous continuerons la production du jeu pour une future sortie sur Steam. Pour parler des conditions de travail, ce projet étudiant s’est voulu être une expérience similaire à ce qu’on peut voir en studio. Notre team se compose de programmeurs, de level designers, de graphistes 3D et de musiciens. Nous avons travaillé en suivant une approche AGILE, avec des tâches précises permettant une bonne répartition du travail sans empiéter sur ce que fait chacun (en particulier pour les développeurs) et des réunions hebdomadaires (permettant de faire le point sur nos réalisations passées ainsi que la répartition des prochaines).
Me concernant, j’ai à la fois la casquette de programmeuse et celle d’artiste 2D. Ce projet a été une occasion parfaite pour combiner mes deux domaines principaux (l’informatique que j’étudie, et l’art que je pratique dans mon temps libre). Vous retrouverez ci-dessous un résumé des tâches que j’ai effectuées :
- Mes tâches en tant que PROGRAMMEUSE :
- Mécanique de base de la manette, permettant de prendre le contrôle de certains objets
- Intelligence artificielle des Sylvains, possédant différents comportements selon leur personnalité (timide, un peu curieux et curieux)
- Utilisation de l’arbre de comportement d’Unreal Engine
- Créations des tâches
- Implémentation d’états
- Création de la machine à état des Sylvains pour les animations (réalisées par mes camarades graphistes 3D et intégrés sur Unreal Engine par moi-même)
- Corrections de bugs
- Mes tâches en tant qu’ARTISTE 2D :
- Création des concepts arts des Sylvains et des Ombres, avec 3 vues, sous Medibang
- Réalisation des textures des Sylvains, sous Quixel Mixer et Medibang
SANS LOGIQUE
Quotidien Sonore (2023)
- Genre : Maquette 2D, Simulation sonore
- Conditions de développement : 5 jours, en équipe de 5 personnes
- Rôle(s) : Programmeuse
- Technologies : Unity, C#
Description
Quotidien Sonore est un projet de maquette 2D sur les ambiances sonores du futur quartier Gratte-Ciel.
Il s’inscrit dans le cadre de l’atelier “A quoi rêvent les maquettes ?”, tenu lors de la semaine de l’anthropocène 2023 à la Maison du projet de Villeurbanne.
Le but de cet atelier a été de réalisé une maquette à projeter, sur la thématique de la “sensibilité” du futur quartier Gratte-Ciel, en collaborant avec des étudiants de disciplines diverses. C’est ainsi qu’avec mon équipe , nous sommes partis sur le thème du son : ainsi est né Quotidien Sonore.
Le projet s’est déroulé de la manière suivante : les deux premiers jours ont constitué la phase de réflexion, les deux jours suivants la phase de réalisation, et le dernier jour la présentation de la maquette auprès d’élus et de professionnels dans l’urbanisme.
En tant qu’unique développeuse de mon groupe, mon rôle a été de réaliser la maquette sur la version lego à disposition. Au vu du temps imparti très court, j’ai opté pour une maquette 2D et le moteur Unity, avec lequel j’ai été déjà familière à ce moment là. Quant à mes tâches, elles ont été les suivantes :
- Implémentation des itinéraires des personnages, en se basant sur les points d’intérêts estimés par mes camarades
- Intégration des sons enregistrés dans le quartier Gratte-Ciel
- Création d’un manager d’inputs, afin d’exécuter les trajets ou les sons demandés par le public
Quotidien Sonore
The Last Duel (2023)
- Genre : Jeu de combat
- Plateforme(s) : Windows, WebGL, Android
- Conditions de développement : 2 semaines, en équipe de 3
- Rôle(s) : Programmeuse, Artiste 2D
- Technologies : Unity2D (moteur de jeu), C#, EmguCV, Medibang (art)
Description
The Last Duel est un jeu de combat, ou vous affronterez votre ami dans un duel de tir ! Au beau milieu du Far West, vous incarnez tous les deux des Sylvains* cowboys prêts à en découdre. Le but est simple : tirer le plus vite, en tapant sur des cases colorées ! Tout ce dont vous aurez besoin, c’est le plateau de jeu, des réflexes et une table pas trop fragile.
Si la vitesse est le maître mot de ce jeu, faites tout de fois attention au drapeau de couleur brandi par l’arbitre. En effet, vous ne pouvez tirer que si vous tapez sur la bonne couleur. Prudence est donc de mise…
Durant le développement de ce jeu, je me suis à la fois occupé de la programmation et de la partie artistique. Mes tâches sont plus précisément les suivantes :
- Implémentation de la base de la capture vidéo et de la détection générale de codes Aruco, grâce à la libraire EmguCV
- Réalisation des sprites des personnages, des assets liés au décor ainsi que du fond d’écran du menu principal
The Last Duel
Modal Box Title
All Star Mania (2023)
- Genre : Jeu de sport
- Plateforme(s) : Oculus Quest (VR)
- Conditions de développement : 1 semaine, en équipe de 4
- Rôle(s) : Programmeuse
- Technologies : Unreal Engine 5 (moteur de jeux)
Description
All Star Mania est un jeu de basket-ball où vos réflexes sont mise à l’épreuve ! Dans le temps imparti, marquez le plus de points possibles en visant le panier quelque peu capricieux. En effet, plus vous avancez dans le jeu, plus le panier se mettra à bouger. Vous avez à votre disposition 3 types de ballons. Attention, un de ces ballons peut vous faire perdre des points… Oh et évidemment, des obstacles sont projetés devant le panier. Ne vous attendez pas à une promenade de santé !
Durant le développement de ce jeu, je me suis occupée de la programmation. Mes tâches ont plus précisément étaient les suivantes :
- Implémentation du gameplay du panier, avec ses différents mouvements
- Intégration sonore
All Star Mania
Yummy Panic ! (2022)
- Genre : Action, Aventure
- Plateforme(s) : Windows
- Conditions de développement : 2 semaines en équipe de 2
- Rôle(s) : Programmeuse
- Technologies : Unity2D, C#
Description
Yummy Panic! est un jeu dans lequel vous incarnez un petit cuisinier souhaitant réaliser des recettes. Pour cela, vous devez explorer le donjon afin de trouver le plus d’ingrédients possible. Attention ! Des drôles de gloutons risquent de vous causer du fil à retordre.
En tant que programmeuse, je me suis occupée des tâches suivantes :
- Intégration du système de combat
- Implémentation de l’IA des ennemis (les gloutons)
- Gestion des PV
- Gestion de l’inventaire
Yummy Panic
Génération procédurale d'un réseau routier (2022)
- Genre : Outil
- Plateforme(s) : Windows, Unit
- Conditions de développement : 1 mois, en équipe de 2
- Rôle(s) : Programmeuse outil
- Technologies : Unity2D, C#, Road Architect
Description
Ce projet a pour but d’appréhender la génération procédurale, plus précisément celle d’un réseau routier. Pour cela, nous avons créer un outil capable de générer des routes avec un soucis du réalisme.
Le réseau relie différents habitats (divisés en villes et villages) générés aléatoirement sur un terrain. Selon les habitats reliés, l’aspect des routes varient. Par exemple, 2 villes sont reliées par une autoroute, tandis que 2 villages sont reliés par une route en boue.
En tant que programmeuse, je me suis occupée des tâches suivantes :
- Génération aléatoire des habitats sur le terrain (au type déterminés par le nombre d’habitants)
- Fusion des habitats les plus proches en villes
- Génération procédurale de l’apparence des routes (basée selon les types des habitats reliés)
Génération procédurale d'un réseau routier
Chicken Run Simulator (2022)
- Genre : Simulation
- Plateforme(s) : Windows
- Conditions de développement : 1 mois, seule
- Rôle(s) : Programmeuse
- Technologies : Unity3D, C#
Description
Chicken Run Simulator est, comme son nom l’indique, une simulation de course de poules ! L’objectif de ce projet est de mettre en place un algorithme génétique. Pour cela, j’ai créé cette simulation afin de générer des poules plus “intelligentes”.
Le fonctionnement est le suivant : les poules se déplacent dans 3 directions (avant, gauche ou droite) et doivent atteindre la ligne d’arrivée. Comment les rendre plus intelligentes ? Je sélectionne les meilleurs candidats, basés sur le temps effectué et le fait d’être arrivé ou non à la ligne d’arrivée. A partir de ces données, je génère une nouvelle génération de poules en croisant les “ADN” de leurs prédécesseures.
Chicken Run Simulator
Simulation de boïds (2022)
- Genre : Simulation
- Plateforme(s) : Windows
- Conditions de développement : 1 mois, seule
- Rôle(s) : Programmeuse
- Technologies : Unity3D, C#
Description
Il s’agit d’un “mini-jeu” dans lequel nous évoluons dans un environnement automnal. Le but : attraper des feuilles et redonner “vie” aux arbres dégarnis !
Ce projet a pour objectif d’appréhender la notion de boïds. J’ai ainsi programmé l’algorithme de flocking des feuilles, c’est-à-dire le comportement de groupe, ainsi que l’automate à états finis. Les feuilles peuvent ainsi être attirées entre elles, se suivre ou bien être répulsées. Concernant l’automate, il a surtout servi pour le gameplay de cette simulation (par exemple, les feuilles peuvent être dans un état où elles suivent le joueur).
Simulation de boïds
Tomb Protector (2022)
- Genre : Metroidvania
- Plateforme(s) : Windows
- Conditions de développement : 1 mois, en équipe de 4
- Rôle(s) : Programmeuse gameplay
- Technologies : Unity2D, C#
Description
Créé à l’occasion de la 15ème édition de la Metroidvania Month Jam, sur itch.io, Tomb Protector est un jeu dans lequel vous incarnez un “mime” ! Evoluant dans un univers inspiré de l’Egypte antique, vous explorerez les catacombes dans un seul but : chassez l’avide explorateur semant le trouble chez vos amis.
Pour ce metroidvania, j’ai collaboré avec une team multi-disciplinaire composée de deux programmeurs, un artiste et un compositeur. Mon rôle, en tant que développeur, a été de coder les éléments de gameplay du jeu ainsi que la gestion des événements annexes. Il s’agit de mon premier véritable jeu sur Unity, mais j’ai déjà eu l’occasion de m’entraîner avec ce moteur de jeu en suivant des tutoriels.
J’ai particulièrement aimé travailler sur ce jeu. D’une part, développer avec moteur de jeu me semble plus confortable sur plusieurs points. Je pouvais ainsi me concentrer sur la programmation du gameplay et des événements, sans avoir à trop m’occuper de choses annexes (la création de la fenêtre, le chargement des textures, etc). Ca me rappelle aussi un peu les logiciels de dessin que j’utilise. D’autre part, collaborer avec une équipe multi-disciplinaire a été très enrichissant. Nous avons ainsi pu en apprendre un peu plus sur les disciplines de chacun.
Tomb Protector
TNTMan (2021)
- Genre : Action, Labyrinthe
- Plateforme(s) : Windows
- Conditions de développement : 1 mois et demi, en équipe de 2
- Rôle(s) : Programmeuse
- Technologies : C#, .NET Core, SDL2-CS.NetCore (librairie)
Description
Il s’agit d’un jeu vidéo 2D en vue de dessus inspiré de Bomberman. L’objectif est le suivant : attaquer ses ennemis afin d’être le dernier survivant.
Ce projet fut ma première occasion de développer un jeu complet : l’implémentation de bonus, la présence du multi-joueur (local), le paramétrage de parties, l’affichage des scores… J’avais également pour la 1ère fois programmé en C# et utilisé Github. Apprendre ce langage ne présentait pas de difficulté puisque j’étais déjà habituée à la programmation objet. D’un autre côté, j’avais du mal à en prendre en main Github au départ. Mais mon binôme m’a donné un coup de main.
En dehors des progrès techniques, nous avons également appris à mieux nous organiser avec mon binôme. Que ce soient au niveau des délais ou de la répartition des tâches.
TNTMan
Pompier en Approche ! (2020)
- Genre : Point-and-click, Gestion
- Plateforme(s) : Windows, macOS, Linux
- Conditions de développement : 2 mois, en équipe de 2
- Rôle(s) : Programmeuse
- Technologies : Java
Description
Pompier en Approche! est un jeu dans lequel vous devez sauver une forêt des flammes.
Pour cela, vous contrôlez une équipe de pompiers dont chaque membre dispose d’une barre de vie et d’un réservoir d’eau. Sélectionnez un pompier et cliquez près d’un arbre afin d’éteindre les flammes.
Attention à votre réservoir d’eau ! Si vous êtes à cours, vous pouvez vous réapprovisionner en sélectionnant un des puits présents dans la forêt.
Nous étions deux personnes à réaliser ce jeu, chacun étant programmeur. Nous avions fait en sorte de rendre le code du jeu le plus modulaire possible, notamment en intégrant un maximum de classes (les entités, les différents écrans, les déplacements, etc).
Pour ma part, je m’étais occupé de l’implémentation des entités (les pompiers, les arbres) tout en ayant l’aide de mon binôme.
Pompier en approche
Shoot Them Up ! (2019)
- Genre : Shoot them up
- Plateforme(s) : Linux
- Conditions de développement : 1 mois, seule
- Rôle(s) : Programmeuse
- Technologies : C, SDL2 (librairie)
Description
Il s’agit d’un petit jeu de type “Space Invaders”, mais également mon tout premier jeu vidéo !
Le projet a été réalisé en plusieurs étapes :
- Création de la fenêtre de jeu
- Implémentation gameplay du vaisseau joueur (mouvements, tirs)
- Gestion des ennemis et du système de scores
Dans l’ensemble, je n’ai pas eu de soucis particuliers dans le développement, hormis pour les collisions entre les vaisseaux et les missiles qui n’avaient pas l’effet escompté.
Ce projet a été une bonne opportunité pour découvrir la programmation de jeux vidéo.