=================================================
Enseigner l'utilisation d'un shell Unix à des étudiants de première année à l'université ou à des lycéens n'est pas toujours simple, ni très amusant. GameShell a été conçu comme un outil pour aider les étudiants de l'Université Savoie Mont Blanc à découvrir un vrai shell, avec une approche qui favorise l'apprentissage tout en s'amusant.
L'idée initiale, due à Rodolphe Lepigre, était de lancer une session bash avec un fichier de configuration qui définissait des "missions", qui seraient "validées" pour avancer dans le jeu.
Voilà le résultat...
N'hésitez pas à nous envoyer vos remarques, questions ou suggestions en ouvrant des "issues" ou en soumettant des "pull requests". Nous sommes particulièrement intéressés pas toute nouvelle mission que vous pourriez créer !
Note: GameShell est en phase de développement : la version courante n'a pas été intensivement testée par des étudiants. N'hésitez pas à rapporter tout problème que vous pourriez rencontrer et toute suggestion d'amélioration en ouvrant une "issue".
GameShell devrait fonctionner sur n'importe quel système Linux standard, et
aussi sur macOS et BSD (mais ces systèmes ont été moins testés). Sur Debian ou
Ubuntu, les seules dépendances (autres que bash
) sont les paquets awk
et
gettext-base
(le premier étant généralement installé par défaut). Certaines
missions ont des dépendances additionnelles : elles seront annulées si leurs
dépendances ne sont pas satisfaites. Sur Debian ou Ubuntu, lancez la commande
suivante pour installer toutes les dépendances pour le jeu et les missions.
$ sudo apt install gettext-base man-db psmisc nano tree bsdmainutils x11-apps
Consultez le manuel utilisateur (en anglais) pour voir comment installer les dépendances sur d'autres systèmes (macOS, BSD, ...).
En supposant que toutes les dépendances sont installées, vous pouvez essayer la dernière version du jeu en lançant les deux commandes suivantes dans un terminal.
$ wget https://github.com/phyver/GameShell/releases/download/latest/gameshell.sh
$ bash gameshell.sh
La première commande téléchargera la dernière version du jeu sous la forme d'une archive auto-extractible, et la seconde commande initialisera et lancera le jeu à partir de cette archive. Les instructions pour jouer sont données directement dans le jeu.
Quand vous quitterez le jeu (avec control-d
ou la commande gsh exit
) votre
progression sera sauvegardée dans une nouvelle archive (nommée
gameshell-save.sh
). Elle peut être lancée pour reprendre le jeu où vous vous
étiez arrêté.
Si vous préférez ne pas exécuter des scripts étrangers sur votre machine, vous pouvez générer une image Docker avec :
$ mkdir GameShell; cd GameShell
$ wget --quiet https://github.com/phyver/GameShell/releases/download/latest/Dockerfile
$ docker build -t gsh .
$ docker run -it gsh
Votre progression ne sera PAS sauvée lorsque vous quittez le jeu, et des options supplémentaires sont nécessaires si vous souhaitez lancer des programmes X depuis GameShell. Référez vous à cette section du manuel d'utilisateur.
Pour en savoir plus sur GameShell les documents suivants sont disponibles (en langue anglaise uniquement):
- Le manuel utilisateur explique, entre autres, comment lancer le jeu sur toutes les plateformes supportées (Linux, macOS, BSD), comment lancer le jeu à partir des sources, et comment générer une archive de jeu personnalisée (ce qui est utile pour utiliser le jeu dans le cadre d'un cours).
- Le manuel développeur explique, entre autres, comment créer une nouvelle mission, comment traduire le jeu et les missions, et comment participer au développement du jeu.
Le jeu est développé par:
- Pierre Hyvernat (développeur principal, [email protected]),
- Rodolphe Lepigre.
- Pierre Hyvernat
- Rodolphe Lepigre
- Christophe Raffalli
- Xavier Provencal
- Clovis Eberhart
- Sébastien Tavenas
- Tiemen Duvillard
- Tous les étudiants qui ont testé les toutes premières versions du jeu.
- Joan Stark (alias jgs) qui a créé des centaines d'ASCII-art à la fin des années 90. La majorité des ASCII-art que vous rencontrerez dans GameShell lui sont dus.
GameShell est distribué sous la licence GPLv3.
Merci de pointer vers ce dépôt si vous l'utilisez.
GameShell est open source et son utilisation est gratuite. Une manière de reconnaitre le travail que cela à nécessité est d'envoyer un carte postale à
Pierre Hyvernat
Laboratoire de Mathématiques, CNRS UMR 5127
Université de Savoie
73376 Le Bourget du Lac
FRANCE