DocumentationGF
Article
RÉSUMÉ DES ÉTAPES POUR UN PROTOTYPE FONCTIONNEL :
> les codes sont implantés dans les cartes Arduino Mega et RPI
>> les cartes communiquent entre elles, avec les capteurs et avec l'enceinte
>>> le RPI est connecté au web, il communique avec le serveur pour télécharger le jeu
>>>> la boîte est réalisée
>>>>> les capteurs, les composants, les cartes, l'enceinte sont implantées dans la boîte
RESSOURCES A TELECHARGER :
Code RPI sur Github : https://github.com/spectrehackaton/SpectreBox
Code Arduino sur Github : https://github.com/spectrehackaton/SpectreBox-arduino
Plans de la boîte
box_spectre.eps?.eps
box_spectre.svg?.svg
modelecache.stl?
Aide de jeu - Grimoire
> grimoire.pdf?
> grimoire_ncessaire_mise_en_page.zip?
Audio
> [fichier trop large]
DÉTAIL DES TRAVAUX RÉALISÉS PAR CHACUN
0- PRÉPARATION DE LA RASPBERRY PI : MichelIMG_9144.jpg?
Au final, nous avons donc une Arduino Mega qui contrôle :
Au-delà de l'ambiance sonore générale du jeu, on part du principe que toute action du joueur doit se manifester par un son (feedback) pour mieux l'aiguiller dans ses choix pour la résolution des énigmes.
Les différents sons ont été :
- créés par synthèse sonore à l'aide d'un Korg electribe v1, d'un Korg Monotron et d'un PicoPaso? de Bleeplabs.
- récupérés sur les sites de banques de samples suivants (libres de droits) :
http://www.universal-soundbank.com
http://soundbible.com
http://www.universal-soundbank.com
Tous les sons ont ensuite été égalisés et découpés dans le logiciel libre Audacity, puis converti au format Mp3? pour les besoins techniques du RPI.
4- CRÉATION DE L'AIDE DE JEU (GRIMOIRE) : grimoirepage001.png?grimoirepage004.png?
Une aide de jeu permet de poser queques règles et surtout de donner des indices pour la résolution des énigmes. Un bestiaire de spectres a été imaginé dans une version simplifiée pour le prototypage (4 spectres). Il faut imaginer un bestiaire beaucoup plus conséquent pour la suite à intégrer au grimoire, agrémenté d'indices de logiques (ex : clés de déchiffrement).
La mise en page du grimoire a été réalisée sous le logiciel libre Scribus, les images téléchargées sur Internet.
Filtrer : ail
arduino
code
communauté
connecté
énigme
fourrure
fun
gameplay
gamer
jeu de société
matériel
objectifs
participants
Raspberry Pi
steampunk
le 16.03.2020 à 16:05:46
de 84.17.62.152
Documentation
SPECTRE
Article
RÉSUMÉ DES ÉTAPES POUR UN PROTOTYPE FONCTIONNEL :
> les codes sont implantés dans les cartes Arduino Mega et RPI
>> les cartes communiquent entre elles, avec les capteurs et avec l'enceinte
>>> le RPI est connecté au web, il communique avec le serveur pour télécharger le jeu
>>>> la boîte est réalisée
>>>>> les capteurs, les composants, les cartes, l'enceinte sont implantées dans la boîte
RESSOURCES A TELECHARGER :
Code RPI sur Github : https://github.com/spectrehackaton/SpectreBox
Code Arduino sur Github : https://github.com/spectrehackaton/SpectreBox-arduino
Plans de la boîte
box_spectre.eps?.eps
box_spectre.svg?.svg
modelecache.stl?
Aide de jeu - Grimoire
> grimoire.pdf?
> grimoire_ncessaire_mise_en_page.zip?
Audio
> [fichier trop large]
DÉTAIL DES TRAVAUX RÉALISÉS PAR CHACUN
0- PRÉPARATION DE LA RASPBERRY PI : MichelIMG_9144.jpg?
- On commence par installer raspbian jessie lite ( https://www.raspberrypi.org/downloads/raspbian/ )sur la raspberry pi 3, on choisit la version lite car nous n'avons pas la nécessité d'un gui.
- Ensuite on la met à jour "sudo apt-get update && sudo apt-get upgrade"
- On la configure en wifi en accédant au fichier de config "sudo nano /etc/wpa_supplicant/wpa_supplicant.conf"
- il suffit d'indiquer un réseau dans le fichier :
- network={
- ssid="VotreSSID?"
- psk="VotreMDP?"
- }
- On active le ssh sur la raspberry pour pouvoir y accéder à distance "Raspi-config" dans advanced puis ssh.
- Ensuite on a besoin de créer un serveur FTP sur la raspberry pour upload nos fichiers code et source pour le jeu on utilisera vsftpd "sudo apt-get install vsftpd" puis on le configure "nano /etc/vsftpd.conf" il faut dé-commenter ou ajouter les lignes suivantes:
- "
- Anonymous_enable=NO
- Write_enable=YES
- Local_enable=YES
- Ascii_upload_enable=YES
- Ascii_download_enable=YES
- "
- On redémarre la raspberry "sudo reboot".
- "sudo apt-get install python-pip
- Sudo pip install pyserial
- sudo apt-get install python-pygame"
- 1- CODE :IMG_9148.jpg?
- > Implantation et gestion des capteurs (Arduino) : Célestin + Martin
Au final, nous avons donc une Arduino Mega qui contrôle :
- Un ensemble d'actionneurs, pour représenter la "manifestation" du spectre, avec : quatre LEDs, un écran 8x8, deux servo-moteurs reliés à des aiguilles ;
- Un ensemble de capteurs pour détecter les actions du joueur, avec : un bouton start, un capteur de luminosité, une capteur de sitance ultrason, quatre boutons et trois potentiomètres ;
- La communication avec une Arduino Uno s'occupant uniquement de la bande de LEDs sous la boîte.
- > Création du gameplay (Raspberry) : Kevin
- Le raspberry pi est responsable du déroulement du jeu. Au démarrage, il se connecte à internet pour récupérer de nouvelles énigmes, puis lance une nouvelle session de jeu. L'objectif est de créer un framework générique et modulaire qui permette de construire de nouvelles énigmes à partir de tous les capteurs et actionneurs présents sur la boite. Les énigmes complexes vont combiner des séquences, avec chacune des conditions de défaite et de victoire.
- On utilise le langage python pour son dynamise et pour permettre a terme de scripter des comportements pour la création de nouvelles énigmes.
- La base de donnée contenant les énigmes est stockée sur Firebase, et on utilise la lib python-firebase pour facilement récupérer les données.
- > Communication Arduino / RPI : Michel
- Le jeu est codé en python et la communication et géré par la librairie python Serial ( https://github.com/pyserial/pyserial ) nous avons défini un protocole de communication pour permettre de faciliter les transmissions il consiste à définir si on parle d'une entré ou d'une sortie puis un nom explicite et enfin les paramètres exemple entrée : "inLight:124;inDistance:10" le capteur de luminosité indique une intensité lumineuse de 124 sur 1024 possible, le capteur de distance indique qu'un objet se trouve au dessus de la boite à 10 cm. Exemple sortie : "outLED:1,255,0,0,10" la raspberry Pi demande à l'aduino d'éclairer la bande rgb dans le mode 1 ( respiration ) en rouge (255,0,0) à une vitesse 10.
- > Mise en place du serveur : Kevin
- Le serveur utilisé est Firebase, qui permet un stockage des données sous format JSON, facilement interprétable en python. Il n'y a pas de code côté serveur, chaque client sait quelle données il doit récupérer.
- 2- CRÉATION DE LA BOITE : IMG_9138.jpg?
- > design : Pierre-Luc
- Le groupe s'est arrêté sur une esthétique steampunk, un mélange de science fiction et de révolution industrielle (Jules Vernes, par exemple). Nous aurions tout autant partir sur une ambiance cluedo ou hacker.
- La première étape, en collaboration avec les codeurs et électroniciens, était d'arrêter quels capteurs et quels actionneurs allaient trouver leur place dans la boîte. La démarche de conception était de mettre en place un maximum de contrôleurs et d'actionneurs de couleurs et formes possibles, jusque dans la disposition, pour donner aux énigmes un maximum de combinaisons logiques à travers le moteur de jeu.
- La seconde étape était de créer la boite proto en impression laser avec un générateur de boites en ligne.
- Le design effectif commence: positionner les éléments fonctionnels pour une bonne expérience de jeu, en respectant les specificités des composants (vibration=fixation, capteur de lumière=positionnement,...)
- Ensuite, relevé de cotes des positions puis perçages de la boite .
- Enfin, le gros du travail a été la fixation des perçages et des éléments de décors comme, par exemple: l'usure d'un des pieds à causé le dessertissage de son pas de vis= réparation, trouver le mode de transmission d'un servo moteur à un axe d'horloge=meulage de l'axe, en particulier...
- La principale difficulté est d'adapter des composants anciens et de récupération divers, aux formats non-standards, à des actionneurs industriels. Le cadre des 48h du hackathon est un obstacle au travail minutieux que demande l'adaptation... mais tellement stimulant !
Au-delà de l'ambiance sonore générale du jeu, on part du principe que toute action du joueur doit se manifester par un son (feedback) pour mieux l'aiguiller dans ses choix pour la résolution des énigmes.
Les différents sons ont été :
- créés par synthèse sonore à l'aide d'un Korg electribe v1, d'un Korg Monotron et d'un PicoPaso? de Bleeplabs.
- récupérés sur les sites de banques de samples suivants (libres de droits) :
http://www.universal-soundbank.com
http://soundbible.com
http://www.universal-soundbank.com
Tous les sons ont ensuite été égalisés et découpés dans le logiciel libre Audacity, puis converti au format Mp3? pour les besoins techniques du RPI.
4- CRÉATION DE L'AIDE DE JEU (GRIMOIRE) : grimoirepage001.png?grimoirepage004.png?
Une aide de jeu permet de poser queques règles et surtout de donner des indices pour la résolution des énigmes. Un bestiaire de spectres a été imaginé dans une version simplifiée pour le prototypage (4 spectres). Il faut imaginer un bestiaire beaucoup plus conséquent pour la suite à intégrer au grimoire, agrémenté d'indices de logiques (ex : clés de déchiffrement).
La mise en page du grimoire a été réalisée sous le logiciel libre Scribus, les images téléchargées sur Internet.