Écosystème

Apprentissage par imitation

Lun'Gula

replay → model.

Statut
En pause
Version
0.4.0juillet 2026
Depuis
2025
Stack
Python · ONNX · LSTM · DirectML
Dépôt

Gula · la gourmandise

Se nourrir de replays sans fin, jusqu'à absorber le jeu lui-même.

Les replays de jeu contiennent des milliers d'heures de comportement expert : des décisions à la milliseconde, des trajectoires, des stratégies que personne ne documente.

Lun'Gula les décode, les transforme en séquences de caractéristiques et entraîne un modèle à reproduire ce comportement. Chaque jeu n'a besoin que d'un décodeur de replay et d'un encodeur d'état : le jeu de données, l'entraînement, le modèle et l'export sont partagés.

couches LSTM
2
décodeur à écrire par jeu
1

Architecture

Comment ça marche

Un pipeline en quatre étapes, du replay brut au modèle exporté. Le matériel de calcul est détecté automatiquement (CUDA, DirectML, ROCm, MPS ou CPU). Ajouter un jeu revient à écrire deux classes et à les déclarer dans le CLI.

Lit le replay et la beatmap et les convertit en une suite d'états de jeu

Fenêtres glissantes : le contexte en entrée, l'action suivante en sortie

2 couches, optimiseur AdamW, perte MSE, jeu de validation séparé

Format portable, utilisable en Python, Node.js ou C++

Où en est-on

Vérifié en octobre 2026

Fait

  • Framework générique : un décodeur et un encodeur par jeu
  • Décodeur osu! (.osr et .osu)
  • Modèle LSTM 2 couches
  • Boucle d'entraînement avec validation
  • Export ONNX
  • Détection du matériel : CUDA, DirectML, ROCm, MPS, CPU
  • CLI lungula train
  • Intégration continue

En cours

Rien pour l'instant

Ensuite

  • Session de streaming osu! complète, pilotée depuis le panel
  • Entraînement sur un corpus large (objectif : 1000 replays et plus)
  • Validation et mesure des performances du modèle