Théodore Billotte
← Tous les projets

2024 · Plateforme web, Epitech Innovative Project (EIP)En cours

Naucto

Une fantasy console collaborative dans le navigateur, inspirée de PICO-8.

Développeur Full-Stack / Core (équipe de 6)

Naucto

Naucto est une console de jeu fantastique collaborative dans le navigateur, inspirée de PICO-8, un environnement complet pour créer de petits jeux entièrement dans le navigateur, où plusieurs personnes peuvent construire le même jeu ensemble en temps réel. C’est le projet innovant Epitech (EIP) d’une équipe de six, en bêta publique sur beta.naucto.net.

Ce que ça fait

Naucto réunit tout le nécessaire pour faire un jeu dans une seule application web :

  • Éditeur de code : un IDE complet basé sur Monaco Editor, exécutant du Lua dans le navigateur via la VM Fengari.
  • Éditeur de sprites : un éditeur de pixel art pour les graphismes et tilesets.
  • Éditeur de map : peignez vos niveaux à partir de vos sprites sur une grille.
  • Compositeur de musique : un séquenceur chiptune propulsé par Tone.js.

Éditeur de code dans le navigateur avec aperçu en direct L’éditeur de code basé sur Monaco exécutant un jeu Lua en direct dans le navigateur.

Collaboration en temps réel

La fonctionnalité phare est l’édition multijoueur : plusieurs utilisateurs peuvent éditer le code, les sprites et les maps simultanément, à la Google Docs. C’est construit sur des CRDT (Yjs) synchronisés en WebRTC / WebSockets, pour que les modifications fusionnent sans conflit et restent cohérentes pour tout le monde.

Éditeur de sprites Éditeur de sprites partagé, avec propagation instantanée des modifications.

Éditeur de map Éditeur de map en tuiles pour composer les niveaux à partir des sprites du projet.

Au-delà de l’éditeur

Naucto est aussi une plateforme communautaire : projets, publication, réglages et un hub pour partager ses créations.

Tableau de bord de gestion de projet Tableau de bord pour organiser les jeux et les collaborateurs.

Réglages du projet Configuration et publication par projet.

Aperçu du jeu Jouer à un jeu terminé directement dans le navigateur.

Mon rôle

Développeur full-stack / cœur de l’app dans une équipe de six. J’ai travaillé sur toute la stack TypeScript : front React, API NestJS, couche de données Prisma + PostgreSQL, et sur le cœur de collaboration temps réel (CRDT Yjs en WebRTC / WebSockets), le tout conteneurisé avec Docker et déployé sur Scaleway.

Techno

TypeScript · React · NestJS · Prisma · PostgreSQL · Lua (Fengari) · Yjs · WebRTC · Tone.js · Monaco Editor · Docker · Scaleway

Équipe

Vidéos

Connexions

Projets

Formation

Équipes