A simple, fun ping pong game playable entirely in your terminal. Built with Rust and powered by ratatui
for a beautifully responsive TUI (Text User Interface).
Currently, you can play against a basic AI opponent, a friend locally, or just watch AI vs AI in screensaver mode. It's fast, minimal, and runs right inside your terminal window.
Now with a customizable settings screen: choose your favorite color theme and set default difficulty for each mode!
- 🖥️ Single-player mode vs. computer (AI)
- 👥 Local multiplayer (play with a friend on the same keyboard)
- 🤖 Screensaver mode (AI vs AI, endless pong)
- � Multiple color themes — pick your favorite in the settings
- 🛠️ In-app settings: adjust default difficulty for each mode
- �🎮 Real-time terminal-based gameplay
- � Smooth and colorful UI using
ratatui
- 🚀 Written in Rust
for performance and reliabilitybecause I wanted to
- Rust (latest stable recommended)
- A terminal that supports ANSI escape codes
git clone https://github.com/yourusername/terminal-pingpong.git
Clone the repository and build:
git clone https://github.com/IshmamR/terminal.pong.git
cd terminal.pong
cargo run --release
Then play directly in your terminal!
- Up Arrow / Mouse scroll up: Move paddle up
- Down Arrow / Mouse scroll down: Move paddle down
- Space: Power move (for pro players 😉)
- Q: Quit
- Language: Rust
- UI: ratatui
- Rendering: Crossterm-based backend
- 🎮 Local multiplayer support (same terminal)
- 🧠 Computer difficulty levels (adjustable in settings)
- 🌈 Screensaver mode — AI vs AI with endless pong
- 🎨 Theme selection and live preview in settings
- 💾 Save settings to SQLite database (persistent preferences)
- 🌐 Network multiplayer (play with a friend remotely)
- 🏆 High scores / stats
MIT.