Pong Wars is a creative take on the classic Pong game, where two balls bounce around the screen, each "painting" the canvas with its own color. The visual result is a mesmerizing battle between two colors that constantly shifts as the balls move across the screen.
- Runs natively on Apple platforms with SwiftUI
- Interactive controls for grid size and game speed
- Custom color picker for both balls and background colors
- Fullscreen mode with a clean, minimal UI
- Live score tracking
- Smooth animations with proper collision physics
- Adaptive layout for different device sizes
The game consists of:
- Two bouncing balls with different colors
- Each ball converts tiles to its own color when it passes over them
- Physics-based collision detection with the edges
- Customizable grid density and game speed
- A simple yet captivating visual aesthetic
The game is built using:
- SwiftUI for the user interface
- Canvas API for efficient rendering
- Swift's native timers for game loop
- The Model-View-ViewModel (MVVM) architecture
- Custom color extensions for hex color support
- Game physics with proper collision detection
- Clone the repository
- Open the project in Xcode
- Build and run on your preferred simulator or device
Inspired by the original Pong Wars by vnglst.
This SwiftUI implementation joins the growing list of Pong Wars versions created by developers around the world. Below are links to the original and other implementations:
- Original JavaScript version: vnglst/pong-wars
- ASCII Python
- Atari 2600
- BBC Micro Bot
- C version
- C# (Cross-platform on iOS, Android, WebAssembly, MacOS, Linux, and Windows)
- C# with DIKUArcade
- C++
- C++ with SFML
- Earlier version with padels
- Eternal Bounce Battle (GDevelop)
- Flutter
- Godot
- Gold Wars (This version has an end!)
- Java
- Kotlin/Wasm
- Land-Or-Water
- Pico8
- Pong-Wars Fireballs
- Processing
- Pygame version
- Python
- Rock, Paper, Scissors, Lizard & Spock
- React Native
- Rust/Wasm
- Scratch
- Seasons Pong
- SwiftUI
- Swift (SpriteKit)
- Tag-Team (Live)
- Yin-Yang Pong
- Ying Yang
- M5Stack version
- Hex version