Sur ce dépôt git, nous allons stocker les sauvegardes et captures d'écran de notre première partie de Pokémon Jaune, suivant les idées présentées dans ce projet "Pokemon-via-GitHub-contre-Covid-2020-fr".
Auteur : Lilian Besson (@Naereen), inspiré librement par Twitch plays Pokémon.
Venez discuter sur ce serveur Discord ! Dans le canal "Version Jaune".
Il faut suivre les instructions suivantes :
-
Créer un compte GitHub, ajouter une étoile au projet (ou au méta projet). Je vous invite à devenir membre de l'organisation, puis il vous faut éditer ce fichier sans faire de fusio-demande (= pull request).
-
Télécharger un émulateur, je recommande mGBA ou Visual Boy Advance, sur un ordinateur et pas un téléphone,
-
Télécharger la ROM, vérifier que c'est la bonne en vérifiant sa somme
md5sum
, son nombre de bits (et les informations renvoyées parfile Pokemon_Yellow_FRENCH_GBC-HS.gbc
dans un terminal sous GNU/Linux). Regarder ce ticket si vous avez du mal à télécharger la ROM. -
Cloner le dépôt, et vérifier que vous pouvez lancer le jeu, et charger la sauvegarde. Vérifier que vous pouvez sauvegarder, puis ensuite prenez l'habitude de lancer une session de jeu avec
make play
, qui automatise l'algorithme de gestion de conflit de jeux (cf. explications ci-dessous).
Une fois le dépôt cloné, si vous êtes sous GNU/Linux ou Mac OS, le fichier Makefile
donne quelques commandes pour automatiser certaines choses :
make metadata
permet de vérifier que la ROMPokemon_Yellow_FRENCH_GBC-HS.gbc
téléchargée est la bonne ;make start_playing
permet de commencer à jouer avec mGBA,make play
automatise l'algorithme de gestion de jeu :- vérifier que personne n'est en train de jouer (avec
make check_free_slot
), - écrire et envoyer un commit disant que le joueur actuel est en train de jouer (ie, un commit dont le message commence par
"START user ..."
) (avecmake commit_start
), - lance mGBA sur la sauvegarde actuelle (avec
make start_playing
), - quand mGBA se ferme, ajoute dans un commit git la nouvelle sauvegarde, et les captures d'écran (de position réelle, des badges, de position sur la carte, et de l'équipe actuelle), et envoie un commit de fin de session (ie, un commit dont le message commence par
"DONE user ..."
_) (avecmake commit_done
).
- vérifier que personne n'est en train de jouer (avec
Il faut regarder l'auteur du dernier commit, qui a commencé sa session de jeu avec un commit dont le message commence par
"START ..."
.
Personne ne joue actuellement.
La ligne précédente est normalement mise à jour automatiquement.
-
Il n'y a pas et il n'y aura pas de mécanisme de file d'attente : dès que le joueur courant arrête, c'est-à-dire qu'elle a terminé sa session de jeu (avec un commit dont le message commence par
"END ..."
), n'importe qui peut venir jouer et prendre le relai ! -
Essayez de gérer cela intelligemment, et ne soyez pas trop pressé : si vous vous abonnez au flux RSS du projet, vous pouvez recevoir des notifications ou des mails quand un joueur commence et termine sa session.
Moi je vais le faire, au moins au début, pour vérifier que le projet ne part pas en cacahuètes.
-
Donc je me répète : pas de mécanisme de file d'attente, et on reste calme et pas trop réactif pour éviter les bogues !
Il faut regarder l'historique des commits. Vous pouvez aussi consulter ce fichier
whoPlayedWhen.log
.
Dernière ligne de l'historique :
- Edouard Leurent (3 minutes ago) : DONE eleur termine, auto commit avec 'make commit_done' (commit f6ca096) ;
- Edouard Leurent (20 minutes ago) : START eleur commence, auto commit avec 'make commit_start' (commit ab24ae1) ;
- Remi100fa1000 (14 hours ago) : DONE remib termine, auto commit avec 'make commit_done' (commit d7c9381) ;
- Remi100fa1000 (14 hours ago) : START remib commence, auto commit avec 'make commit_start' (commit ec54f8d) ;
- Lilian Besson (15 hours ago) : DONE lilian termine, auto commit avec 'make commit_done' (commit a12d397) ;
- Lilian Besson (15 hours ago) : START lilian commence, auto commit avec 'make commit_start' (commit 22da759) ;
- Edouard Leurent (16 hours ago) : DONE termine, auto commit avec 'make commit_done' (commit f79bbca) ;
- Edouard Leurent (16 hours ago) : START commence, auto commit avec 'make commit_start' (commit 95cba29) ;
- Lilian Besson (24 hours ago) : DONE lilian termine, auto commit avec 'make commit_done' (commit 336da34) ;
- Lilian Besson (24 hours ago) : START lilian commence, auto commit avec 'make commit_start' (commit 3390a96) ;
La ligne précédente est normalement mise à jour automatiquement.
- Posez une question en ouvrant un ticket.
- On a terminé le jeu : Ligue Pokémon battue le vendredi 15 mai, Mewtwo capturé le samedi 16 mai.
- Regardez dans ce dossier
Il faut juste montrer où on se trouve le héros dans le monde extérieur.
- Regardez dans ce dossier
Il faut juste montrer le menu avec le Pokédex.
- Regardez dans ce dossier
Il faut juste montrer le menu avec les badges et l'argent.
- Regardez dans ce dossier
Il faut juste montrer où on se trouve le héros sur la carte.
MIT Licensed (file LICENSE). © Lilian Besson et contributeurs et contributrices, 2020.