____ __ __ __ __
/ __ \/ /___ ______/ /_____ / /___ _/ /_____ _____
/ /_/ / / __ `/ ___/ //_/ _ \/ / __ `/ __/ __ \/ ___/
/ ____/ / /_/ (__ ) ,< / __/ / /_/ / /_/ /_/ / /
/_/ /_/\__,_/____/_/|_|\___/_/\__,_/\__/\____/_/
Because GUIs are overrated
"Tired of fancy graphics? Me too."
This is Terminal Snake - a classic snake game that runs entirely in your terminal. No Electron apps, no bloated frameworks, no GPU required (not even integrated). Just good old-fashioned ASCII art and Python magic. Runs on a toaster. Seriously.
Built as a fun experiment to explore TUI (Terminal User Interface) development using the awesome Textual framework. Because why use a mouse when you have arrow keys?
- 🖥️ Pure Terminal Gaming - No browser, no GUI, just your terminal
- ⌨️ Dual Control Schemes - Arrow keys OR WASD (we're not monsters)
- ⏸️ Pause Functionality - For when your boss walks by
- 🎯 Score Tracking - Bragging rights included
- 🔄 Restart Without Quitting - Because "just one more game"
- ⚡ Electron apps hate this one weird trick
- 🎨 Pretty Colors - Using Rich for that extra terminal bling
- Python 3.8+
- A terminal (yes, really)
- Basic understanding that GUIs are overrated
# Clone the repository
git clone https://github.com/Sh3rd3n/snake-game.git
cd snake-game
# Create virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate # On Windows: venv\\Scripts\\activate
# Install dependencies
pip install -r requirements.txt
# Run the game
python snake_game.py| Key | Action |
|---|---|
| `↑` / `W` | Move Up |
| `↓` / `S` | Move Down |
| `←` / `A` | Move Left |
| `→` / `D` | Move Right |
| `P` | Pause/Resume |
| `R` | Restart Game |
| `Q` | Quit |
Objective: Eat the red dots (●) to grow your snake. Don't hit the walls or yourself. Simple, right? Famous last words.
- Textual - The TUI framework that makes terminal apps look good
- Rich - For those fancy colors and formatting
- Python - Because we're not savages writing this in bash
"I wanted to play Snake but my browser was busy mining cryptocurrency..."
— A Developer, Probably
This project was born from:
- Boredom
- Curiosity about TUI frameworks
- To prove that terminals can look fancy too
- The desire to prove that 2026's coolest games don't need a GPU (or a CPU from this decade)
Found a bug? Want to add features? Feel free to open an issue or PR! But remember:
- No GUI suggestions (seriously, don't)
- ASCII art improvements welcome
- High scores don't count unless you provide proof
This project is licensed under the MIT License - see the LICENSE file for details.
Feel free to use it, modify it, or pretend you wrote it. We won't tell.
- Don't rage quit - The terminal remembers
- Use WASD if you're a gamer - Arrow keys are for casuals
- Run it in fullscreen terminal - It's more immersive
- Tell your friends - Then watch them judge your life choices
Made with 💚 and too much free time
Remember: Real developers play in the terminal