Type de Projet : Outil / Plugin

  • Abiding Bot

    Contexte

    Abiding Agora est une association gérant notamment un serveur Discord d’entraide entre créateurices de jeux vidéo indépendant·es notamment les personnes marginalisées. Le serveur est organisé autour de canaux d’entraide sur différents sujets généraux (développement, marketing, etc.) mais aussi sur l’organisation de formations sur des thèmes plus spécifiques : « Créer son studio de jeu vidéo », « Les grands leviers du Gamefeel », « Le droit d’auteur appliqué au jeu vidéo », etc.

    L’organisation de ces formations est rapidement devenue trop complexe et répétitive, il est apparu nécessaire pour l’association de l’automatiser et de la simplifier.

    Mon rôle

    J’ai développé un bot pour le serveur Discord de l’association, avec pour but principal de simplifier l’organisation des formations. Ce bot a été créé entièrement par mes soins sur un backend TypeScript / Node.js grâce à la bibliothèque Discord.js. J’ai pu créer plusieurs commandes, dont celle permettant la création d’une formation avec rôle pour les participants et canal textuel associé avec les bonnes permissions. Ce processus d’automatisation a ainsi permis la simplification du processus, permettant d’augmenter la régularité et la rapidité d’organisation des formations sur le serveur.

  • Input Action Listeners

    Input Action Listeners

    Description

    Ce paquet Unity sert à faciliter l’usage du nouvel Input System du moteur à l’aide de composants conçus dans ce but. Chaque composant, appelé Input Action Listener (ou plus simplement Listener) vise à écouter le déclenchement d’une entrée utilisateur et d’appeler les fonctions de callbacks correspondant avec, le cas échéant, la valeur correspondante en paramètre.

    Développement

    Le développement de ce plugin aura demandé du travail sur les interfaces des composants utilisés, notamment sur les différents modes d’utilisation, et sur les branchements avec l’Input System de Unity. Le bon fonctionnement du plugin est également vérifié par des séries de tests à la fois unitaires, mais aussi d’intégration avec l’Input System lui-même.

  • Event System

    Event System

    Description

    Ce plugin Unity est une mise en application directe d’une suggestion d’architecture basée sur des Scriptable Objects proposée par Unity Technologies eux-mêmes. Le principe est de pouvoir offrir un système d’évènements qui soit inter-scènes et inter-systèmes. Il est ainsi possible pour des parties indépendantes (comme des scènes chargées additivement par exemple) de communiquer entre elles par le biais d’évènements en publish-subscribe.

    Développement

    Lors de son développement, j’ai pu me confronter à des problématiques restantes sur le modèle original (notamment sur le modèle d’abonnement aux évènements) ainsi que sur des problématiques de sérialisation propres au moteur (sérialisation des génériques, des classes abstraites, etc).

  • Finn Bot

    Finn Bot

    Description

    J’ai pu réaliser ce bot Discord pour le serveur de l’artiste Dunklayth. Ses principales fonctionnalités consistent en une mise à jour automatique des rôles des membres sur le serveur en adéquation avec leur contribution pour l’artiste sur le site Tipeee, des messages de bienvenue, l’attribution automatique d’un rôle par défaut à l’arrivée sur le serveur, la mise en place de messages de rappel mensuels ou encore la possibilité pour l’équipe d’administration de faire parler les bots sur le serveur avec des messages personnalisés.

    Mon rôle

    Il s’agit pour moi d’une première dans la création de bots Discord, notamment avec Discord.js. J’ai pu beaucoup apprendre de l’architecture d’applications Node.js ou encore sur la création de tests unitaires pour cette technologie avec Mocha.