A high-performance, feature-rich Pong game for Windows conhost terminal with exciting power-ups!
- Smooth rendering - No screen flashing thanks to efficient buffer management
- Optimized performance - Runs smoothly even on low-end hardware
- Power-ups:
- 🔷 Double Paddle - Get a second paddle for 10 seconds
- 🟨 Center Wall - A full-height wall appears in the center
- 🟪 Two Small Walls - Two partial walls block the center
- 🟩 Bent Paddle - Your paddle becomes angled (<> shape)
- ⚪ Split Ball - Current ball splits into three balls
Player 1 (Left - Blue):
A- Move upD- Move down
Player 2 (Right - Red):
Numpad 4- Move upNumpad 6- Move down
Game:
ESCorCtrl+Q- Quit game
# Debug build (for testing)
cargo build
# Optimized release build (recommended)
cargo build --release# Debug version
cargo run
# Release version (much faster)
cargo run --releaseOr run the executable directly:
# After building
./target/release/terminal-pong.exe- The ball starts in the center and moves towards a random player
- Hit the ball with your paddle to bounce it back
- Power-ups appear randomly on the field - hit them with the ball to activate
- Score points when your opponent misses the ball
- First to... well, there's no limit! Play as long as you want!
- Double Paddle (║) - Cyan: Gives the player who hit it a second paddle below their main paddle
- Center Wall (█) - Yellow: Creates a full-height wall in the center that bounces the ball
- Two Small Walls (▓) - Magenta: Creates two partial walls that leave gaps for the ball to pass through
- Bent Paddle (⟨) - Green: Changes the paddle shape to an angled formation
- Split Ball (✦) - White: Immediately splits the ball into three separate balls
All power-ups (except Split Ball) last for 10 seconds.
- Double buffering - Entire frame is built in memory before rendering
- Efficient rendering - Only updates changed cells
- Capped framerate - Limited to ~60 FPS to prevent CPU waste
- Zero-allocation gameplay - No heap allocations during normal gameplay
- LTO optimization - Link-time optimization for maximum performance
- The ball speeds up slightly each time it's hit
- Hit the ball at the edge of your paddle for more angle
- Power-ups are rare - use them strategically!
- Watch out for the bent paddle - it's wider but harder to aim with
- Multiple balls can be overwhelming - try to keep your paddle centered
Enjoy the game! 🏓