« Les grilles-Pain POCL 5 » : différence entre les versions

De WikiRennes
Aller à la navigationAller à la recherche
Ligne 93 : Ligne 93 :
[[Fichier:Imagefredfd.png|vignette|656x656px|Maison de Sacha, lumière allumée et téléphone chargé, après le premier niveau]]
[[Fichier:Imagefredfd.png|vignette|656x656px|Maison de Sacha, lumière allumée et téléphone chargé, après le premier niveau]]
[[Fichier:Imagegtre.png|gauche|vignette|832x832px|Splash screen du jeu]]
[[Fichier:Imagegtre.png|gauche|vignette|832x832px|Splash screen du jeu]]
[[Fichier:Image4.png|centré|vignette|763x763px|Gameplay sur le vélo, pédalez pour avancer, et tiltez le frein pour sauter ! ]]
[[Fichier:Image4.png|centré|vignette|681x681px|Gameplay sur le vélo, pédalez pour avancer, et tiltez le frein pour sauter ! ]]





Version du 29 mars 2026 à 21:28

Description du projet

Descriptif rapide du projet dans le cadre de POCL#5.

Résumé du projet

L'originalité du point de départ

Ce projet s'inscrit dans le hackathon créatif POCL#5 (Petit Objet Collectif et Ludique, 5e édition), organisé les 26 et 27 mars 2026 à l'Université Rennes 2, autour des transitions socio-environnementales.

Son point de départ est concret et singulier : un vélo générateur d'électricité — déjà existant — apporté par l'un des membres de l'équipe. Le défi proposé aux participants n'était pas de repartir de zéro, mais de valoriser cet objet : lui donner un sens, une expérience, une utilité pédagogique à travers le jeu.

Le concept

Baptiste en mode pédalage vitesse

L'intention du projet est de sensibiliser à la consommation électrique des objets du quotidien — grille-pain, machine à café, enceinte Bluetooth… Le but du jeu : produire suffisamment d'énergie en pédalant pour alimenter ces appareils.

Les niveaux sont calibrés sur la consommation réelle de chaque objet, traduite en temps de pédalage.

Exemple : 2h de musique sur une enceinte Bluetooth = 6 Wh ≈ 7 minutes de pédalage.

Le jeu exploite la vitesse de pédalage du cycliste pour moduler la progression et le score, avec un écran fixé sur le guidon du vélo.

Code source et documentation technique

L'ensemble du code source est disponible sur GitHub : github.com/AloisKyrou/bike_generator

Le jeu web (webapp Bike Watts) est directement accessible dans le dossier : webapp/bike-watts

Une documentation technique détaillée sur les composants utilisés est disponible en bas de cette page.

Historique du projet

JOUR 1 :

Après une première phase d'idéation collective autour du vélo, plusieurs axes ont émergé :

Poster d'idéation
  • Compétition façon fête foraine entre deux vélos avec jauges de puissance
  • Visualisation en temps réel de l'énergie produite
  • Activités coopératives (karaoké, écran) dont l'alimentation dépend du pédalage
  • Envoi des données à un serveur pour agréger les productions énergétiques à l'échelle d'une communauté
  • Jeu éducatif sur la consommation énergétique des appareils ménagers
  • Exploitation des données du vélo (vitesse estimée, puissance générée)
  • Interaction via les commandes inutilisées du vélo (ex : frein avant)
  • Activation d'appareils électriques externes par paliers de production
  • Faire des raids en communauté pour achever des défis énergétiques

Conclusion : le vélo génère de l'énergie au lieu d'en consommer — ce renversement est le cœur du projet. Il permet d'amener des concepts éducatifs à des joueurs en mouvement, en faisant passer l'effort au second plan.

L'équipe

Une équipe de choc se forme au fil de ces premières phases de réflexion : Sarah Blanloeil, virevoltante créatrice visuelle aux mille pinceaux ; Guillaume Martin, électronicien tonitruant aux mille câbles ; Baptiste Gautier, boss final des hackathons aux mille participations ; et Aloïs Kyrou, facilitateur du groupe et fournisseur du vélo éclatant. Ainsi la réflexion de ce jeu commença.

Le jeu

Les niveaux sont inspirés du jeu de cartes REVOLT (CC BY-NC-SA, Clément Chabot). Chaque niveau représente l'effort de pédalage nécessaire pour alimenter un appareil électrique du quotidien, traduisant sa consommation réelle en défi physique et pédagogique.

Exemple de cartes


Direction artistique — les premières intentions

Parallèlement aux discussions techniques, l'identité visuelle commence à prendre forme. Sarah propose une direction graphique chaleureuse, dessinée à la main, qui contraste avec l'aspect austère du sujet énergétique. L'idée centrale émerge : une maison plongée dans le noir, à rallumer progressivement grâce à l'effort du joueur. Ce concept devient le fil narratif du jeu.

Poster de présentation jour 1
dStoryboard jour 1

JOUR 2 :

Jeu Bike Watt.jpg
Pupitre avec l'arduino dessus et le capteur tilt sur le frein

Le pupitre

Un pupitre en bois est fabriqué sur place pour maintenir le téléphone sur le guidon, à hauteur des yeux du joueur. Simple, solide, efficace.

Le capteur de frein

Guillaume intègre une carte Arduino Leonardo avec un capteur d'inclinaison (tilt sensor) scotché directement sur le levier de frein avant. La roue avant étant fixe sur le support du vélo, ce frein était mécaniquement inutile — il devient ainsi le seul bouton d'interaction physique du jeu. Un appui = un signal envoyé au jeu via USB. Dans les menus et la narration, il permet d'avancer ; en jeu, il déclenche le saut du personnage.

[place holder for image - Arduino / capteur sur le frein]







Direction artistique — mise en image

Sarah finalise l'ensemble des assets graphiques : l'écran d'accueil, les visuels de narration, et surtout la maison — découpée en 11 zones distinctes. Chaque zone correspond à un palier de progression : les 10 appuis sur le frein (ou les touches) révèlent progressivement la maison éclairée, puis le téléphone rechargé apparaît à l'issue du premier niveau. L'intention est de rendre l'effort visible à l'écran, pièce par pièce.


Maison de Sacha, lumière allumée et téléphone chargé, après le premier niveau
Splash screen du jeu
Gameplay sur le vélo, pédalez pour avancer, et tiltez le frein pour sauter !




Le jeu finalisé

La version présentée en démonstration intègre :

  • Un écran d'accueil avec l'identité visuelle du projet [place holder for image - splash screen]
  • Une séquence narrative : panne de courant, yeux dans le noir, découverte du vélo, puis 10 actions pour révéler la maison
  • Un niveau jouable : terrain procédural, collecte d'objets, jauge d'énergie à remplir
  • Une bande-son chiptune — une reprise 8-bit de Darude — Sandstorm
  • À la fin du niveau, le téléphone de Sacha se recharge à l'écran — récompense visuelle directe de l'effort fourni

Guillaume a piloté toute la partie Arduino et capteurs. Sarah a réalisé l'ensemble des assets graphiques et contribué à la narration. Aloïs a assuré l'essentiel de l'électronique du vélo et participé au développement du jeu. Baptiste a pris en charge la majeure partie du code.

État d'avancement du projet

Où en est le groupe à cette date : 27 mars 2026

Jeu niveau
Avancée Générale Dispo des plans/codes Documentation Marche de difficulté pour poursuivre Tout est ok ?
100% 100% 100% savoir programmer oui

Principales difficultés rencontrées

  • Description du problème A : rendre possible l'interaction entre les données envoyées par le vélo et le jeu pour générer un gameplay palpitant
  • Améliorer la détection de saut
  • Description du problème B : avoir plus de temps pour créer plus de niveaux

Documentation technique des composants

Cette section décrit les composants principaux du projet et leur utilisation. Pour la documentation complète, voir le dépôt GitHub : docs/

Le vélo générateur

Le vélo est équipé d'un capteur de puissance et de cadence compatible BLE FTMS (Fitness Machine Service). Il communique en Bluetooth avec le téléphone posé sur le guidon. Les données transmises sont :

  • La vitesse de pédalage (km/h)
  • La cadence (RPM)
  • La puissance générée (Watts)

Un firmware Arduino (fichier bike_generator.ino) tourne sur la carte principale du vélo et gère la communication BLE ainsi que le contrôle de la résistance via un digipot. Le code est disponible ici : bike_generator.ino

Le capteur de frein (Arduino Leonardo + tilt sensor)

Un capteur d'inclinaison (tilt sensor) est fixé sur le levier de frein avant du vélo. Il est connecté à une carte Arduino Leonardo, reliée au téléphone en USB (mode HID clavier). Quand le frein est actionné, la carte envoie une touche clavier au jeu.

Utilisation dans le jeu :

  • Dans les menus / la narration : avancer, valider
  • En jeu : faire sauter le personnage

Branchement :

  • Signal du tilt sensor → pin digitale de l'Arduino Leonardo
  • Arduino Leonardo → USB vers le téléphone (adaptateur USB-C si nécessaire)

Le code Arduino du capteur est disponible dans le dépôt GitHub.

La webapp Bike Watts

Le jeu est une application web développée avec Phaser 3, conçue pour fonctionner sur mobile (navigateur Chrome). Elle se connecte au vélo via l'API Web Bluetooth.

Pour lancer le jeu en local :

cd webapp/bike-watts
# Ouvrir index.html dans Chrome
# ou lancer un serveur local :
npx vite

Connexion au vélo :

  • Ouvrir le jeu dans Chrome sur le téléphone
  • Appuyer sur le bouton de connexion Bluetooth dans l'overlay
  • Sélectionner le vélo dans la liste des appareils BLE détectés
  • La vitesse de pédalage pilote directement la vitesse du personnage dans le jeu

Structure du dossier webapp/bike-watts :

  • index.html — point d'entrée, gestion BLE et interface
  • js/game.js — jeu complet (Phaser 3)
  • assets/ — images, police, fichier MIDI

Le lien direct vers le dossier : webapp/bike-watts sur GitHub

Fichier sources

L'équipe

Equipe
Photo de l'équipe
  • Aloïs Kyrou — électronique du vélo, développement
  • Sarah Blanloeil — direction artistique, assets graphiques, narration
  • Baptiste Gautier — développement (Phaser 3, firmware)
  • Guillaume Martin — électronique Arduino, capteur de frein

Ressources extérieures et références