

Portfolio
Développeur Unity/C#
Technologies utilisées :
-
Moteur de jeu : Unity.
-
Langage de programmation : C#.
Type de contrat : stage en alternance.
Durée du contrat : 17/01/2017 - 23/02/2017.
Plateformes visées : Windows, Android.
Description du projet :
-
-
Développement d'un Quiz ayant pour but d'apprendre 4 langues africaines grâce à une série de questions qui défilent de façon aléatoire.
-
Cette application est multiplateforme (PC, Android) et permet aux utilisateurs de spécifier leur niveau et donc la difficulté de l'application.
-
Tâches réalisées
Développement d'un Quiz :
-
Intégration d'un projet basique de Quiz déjà existant en le débuggant et en le mettant sur nos système de gestion de versions.
-
Générer l'ordre des questions et des réponses est aléatoire.
-
Niveaux de difficultés :
-
Rajout de 2 niveaux de difficultés (Facile, Moyen) avec une fenêtre éditeur pour éditer toutes les questions et toutes leurs réponses.
-
Rendre le contenu de ces difficultés sauvegardables et chargables.
-
Menu pour sélectionner la difficulté de l'application.
-
-
Traduction de l'application :
-
Traduction de l'application dans 4 langues africaines (Kikongo, Tshiluba, Lingala, Swahili) avec une fenêtre éditeur pour éditer toutes les traductions.
-
Rendre le contenu des ces langues sauvegardables et chargables.
-
Développement de plusieurs scripts utilitaires pour pouvoir réutiliser ce service facilement de projet en projet.
-
Menu pour sélectionner la langue dans laquelle est traduite l'application.
-
-
Tableau de scores :
-
Rajout d'un menu qui affiche le tableau de scores dans la langue choisie et la difficulté choisie avec 4 colonnes (rang, nom d'utilisateur, score, temps).
-
Rendre le contenu des ces tableaux de scores sauvegardables et chargables.
-
La couleur de fond de la ligne de score change en fonction du rank (1er : vert, 2ème : orange, 3ème : rouge) et si c'est notre score actuel (en jaune) ou non.
-
Rajout d'une petite médaille à côté du rang si vous êtes le meilleur (or), deuxième (argent) ou 3ème (bronze).
-
Pouvoir trier par ordre du meilleur ou du pire score et meilleur temps en cliquant sur le bouton du score ou du rang.
-
Pouvoir trier par ordre du meilleur ou du pire temps en cliquant sur le bouton du temps.
-
Pouvoir trier par ordre alphabétique ou par ordre inverse en cliquant sur le bouton du nom d'utilisateur.
-
-
Portage de l'application sur différentes plateformes (PC, Android) :
-
Service simple et réutilisable qui s'occupe de la gestion de fichiers pour du multiplateforme. (Sauvegarde et chargement de fichiers, accès à des fichiers, etc...).
-
Rendre l'application responsive, c'est à dire faire en sorte qu'elle s'adapte aux différentes résolutions.
-
Adaptation de la taille des polices de sorte de les rendre toutes lisibles.
-
-
Intégration :
-
Intégration visuelle :
-
Repositionner chaque images et boutons de sorte de rendre l'interface plus jolie et plus lisible.
-
Boutons jouer, rejouer, retour, quitter, les difficultés, les langues.
- Images de fond d'écrans, de difficultés, de langues, les médailles du tableau des scores, le chrono.
-
Les différentes polices.
-
Retours utilisateur :
-
Changer la couleur du bouton de réponse en rouge ou en verte si la réponse de l'utilisateur est correcte ou non.
-
-
-
-
Animations (retours utilisateur) :
-
Animation sur tous les boutons.
-
Animation de Fifi lorsqu'il y a une bonne réponse.
-
Animation de Patou lorsqu'il y a une mauvaise réponse.
-
Différentes animations de menu pour changer de menu.
-
Animation aléatoire d'une abeille durant le Quiz.
-
-
Intégration sonore :
-
Développer un service pour stocker, configurer et jouer des sons et des musiques facilement.
-
Musique :
-
Musique au lancement de la partie.
-
Musique à la fin de la partie.
-
Musique durant le jeu.
-
-
SFX :
-
Retours utilisateur :
-
Bonne réponse.
-
Mauvaise réponse.
-
Clic sur un bouton.
-
TicTac lorsqu'il reste peu de temps.
-
-
-
Gestion de projet :
-
Faire des suivis de projet de façon oral régulière sur l'avancement de certaines tâches pour déterminer ce qu'il faut faire en priorité et pour quand.
-
Rendre l'équipe plus productive en les mettant et les invitant sur Slack pour communiquer de façon instantanée et silencieuse, Trello pour qu'ils puissent avoir une meilleure gestion de leurs tâches dans leurs projets et Google Drive pour qu'il puisse partager des fichiers spécifiques à l'entreprise.
-
Former des salariés à l'utilisation des systèmes de gestion versions.
-
Création de mails et de compte spécifique à l'entreprise pour gérer les permissions et l'administration de l'espace de stockage privé de l'entreprise, gérer tous leurs projets par un système de gestion de versions et payer des Assets ou des services.
Développement d'applications réutilisables et configurables :
-
Développer des jeux entièrement configurable via des fenêtres et des outils pour éditer leur contenu de sorte à pouvoir redévelopper des jeux du même type de façon très rapide, sans rajouter une seule ligne de code et sans avoir besoin d'un développeur pour le faire.
-
Création d'outils utilisable par tous les employés pour éditer le contenu d'un jeu type Quizz (le titre du quiz, les questions posées, leurs réponses, les difficultés du quiz, la traduction du quiz dans plusieurs langues) avec un choix de langue et un tableau des meilleurs scores à la fin de l'application.
Travaux réutilisables :
-
Outils et services moteur :
-
Service pour gérer des fichiers, sauvegarder et charger de façon multiplateforme (PC, Android).
-
Service pour configurer et jouer des sons.
-
Service pour changer, éditer, sauvegarder et charger des fichiers de langue.
-
Gestionnaire de singletons permettant de relancer les services de l'application proprement.
-
Outil pour éditer toutes les questions et leurs réponses du Quiz.
-
-
Scripts utilitaires :
-
Comportements de boutons très commum pour jouer des sons, quitter, changer de scène, modifier un paramètre d'un animator.
-
Spawner des objets avec un temps configurable, un choix de préfab aléatoire, un choix de position aléatoire. Spawner.cs.
-
Faire clignoter des images.
-
Faire des tris normaux et inverse (acending et descending).
-
Mélanger les données de n'importe quel type de conteneur de données.
-
Auto-apprentissage :
-
Utilisation et configuration d'un NAS (espace de stockage privé à l'entreprise sécurisée par un mot de passe et hébergement de site web).
-
Build et débug pour une build Android et WebGL.
-
Gestion de fichiers, sauvegarde et chargement sur PC, Android.
-
Rendre une application responsive qui s'adapte aux différentes résolutions.
-
Utilisation de PHPMyAdmin, PHP, MySQL pour faire du Web Service sur Unity.
-
Gestion de projet : assignation de tâches, réunion, simplifier la communication grâce à l'utilisation de logiciels.
Réalisation de documentations :
-
NAS - Espace de stockage privé à l'entreprise et héberger un site web
-
Faire une build WebGL & Web Player et configurer les différents paramètres.
-
Extérioriser les resources avec les AssetsBundles.
-
Adapter la taille et la position des interfaces, des animations et des gameobjects en fonction de la résolution de l'utilisateur.
Aides diverses :
-
Versionner les projets de l'entreprise.
-
Optimiser la rapidité des ordinateurs de certain collègues en désactivant leurs logiciels qui se lançent au démarrage, en désactivant certains processus, en changeant leur DNS, en défragmentant leurs ordinateurs, etc...
-
Faire utiliser mes outils par les différents membres de l'entreprise pour que je puisse continuer en développer de nouveaux.
-
Aide à des collègues à installer certains programmes et à utiliser différents outils de gain de productivité.
-
Résoudre les différents problèmes des salariés.