Repolode
phyver

phyver/GameShell

A game that teaches standard Unix shell commands by running a real bash session with guided missions.

Stars
3,355
Forks
206
Open issues
14
Last commit
2 months ago

What is it?

GameShell is a learning game for the Unix shell. It runs a standard bash session and defines a series of missions; the game checks the commands you type to decide whether you have completed each mission and can move on. Because the practice happens in a real shell rather than a simulation, the commands and skills carry over to everyday use on a Linux, macOS or BSD system.

The project was built to make Unix shell teaching more engaging for first-year university students and high schoolers. Teachers can generate custom game archives with their own missions, which makes it usable as a classroom exercise. The game is available in English, French and Italian, and missions can be added or translated by following the developer manual.

GameShell is distributed as a self-extracting shell script or a Docker image, and it can be run from GitHub Codespaces or a Dev Container. Some missions need extra tools such as tree, nano or x11-apps, and missions whose dependencies are missing are skipped. Progress is saved to a new archive when you quit, so you can resume later.

Key features

  • 01Runs a real bash session, so the commands you practise are the ones you use in practice.
  • 02Missions are checked automatically to track progress through the game.
  • 03Available in English, French and Italian, with a -L option to choose the language.
  • 04Teachers can generate custom game archives with their own missions.
  • 05Progress is saved to an archive on exit and can be resumed later.
  • 06Can be run via a self-extracting script, a Docker image, or GitHub Codespaces.

Use cases

  • Introducing first-year university students or high schoolers to the Unix command line.
  • Creating a classroom exercise with custom missions for a shell course.
  • Self-study of common shell commands in a hands-on, game-like format.
  • Practising shell skills inside a disposable Docker container.

Quick start

  1. 1

    Install dependencies (Debian or Ubuntu)

    sudo apt install gettext man-db procps psmisc nano tree ncal x11-apps wget
  2. 2

    Download the latest version of the game

    wget https://github.com/phyver/GameShell/releases/download/latest/gameshell.sh
  3. 3

    Run the game

    bash gameshell.sh

Things to know

  • Primarily tested on Linux; macOS and BSD have received fewer tests.
  • Other systems need manual installation of game dependencies, and missions whose dependencies are missing are skipped.

In collections

Topics

FAQ

What is GameShell?
A game that teaches standard Unix shell commands by running a real bash session with guided missions. GameShell is a learning game for the Unix shell. It runs a standard bash session and defines a series of missions; the game checks the commands you type to decide whether you have completed each mission and can move on. Because the practice happens in a real shell rather than a simulation, the commands and skills carry over to everyday use on a Linux, macOS or BSD system.
Is GameShell free to use? What license does it have?
GameShell is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
Is GameShell still maintained?
Updated within 6 months. The last commit to GameShell was on Sep 21, 2026.
What can I use GameShell for?
Introducing first-year university students or high schoolers to the Unix command line. Creating a classroom exercise with custom missions for a shell course. Self-study of common shell commands in a hands-on, game-like format. Practising shell skills inside a disposable Docker container.
How do I install GameShell?
Install dependencies (Debian or Ubuntu): sudo apt install gettext man-db procps psmisc nano tree ncal x11-apps wget Download the latest version of the game: wget https://github.com/phyver/GameShell/releases/download/latest/gameshell.sh Run the game: bash gameshell.sh
Where can I get GameShell?
The source code and installation instructions are on GitHub: https://github.com/phyver/GameShell

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects