An innovative 2D Unity arcade game reimagining classic Pong with a SUPERHOT-inspired time-dilation mechanic where physics and time move only when you move.
Play Super Pong directly in your browser:
๐ Play Super Pong Live on itch.io
| Main Menu | Asynchronous Level Loader |
|---|---|
![]() |
![]() |
Classic 1972 Pong relies exclusively on twitch reflexes and static ball velocities. Super Pong transforms this arcade staple into a tactical action-puzzle game by introducing Time Dilation inspired by SUPERHOT.
When your paddle is stationary, global game time freezes (Time.timeScale = 0.0). Stopping mid-rally gives you unlimited time to analyze ball trajectories, compute ricochet angles off bouncy boundaries, and execute precise counter-play.
- โฑ๏ธ SUPERHOT Time-Dilation Engine: Game physics, ball motion, and timers freeze when paddle input is idle and resume smoothly when keys (
W/SorUp/Down) are held. - ๐ค Autonomous AI Opponent: Computer paddle tracks ball height when approaching (
$v_x > 0$ ) and returns to origin center when idle. - ๐ Dynamic Bounce Physics: Mathematical deflection recalculation based on hit offset from paddle center (up to
$\pm 75^\circ$ ). - ๐ฅ Bouncy Boundaries: Top and bottom walls support additive and multiplicative velocity acceleration.
- ๐ Audio Mixer Integration: Persistent
AudioManagersingleton with logarithmic volume conversion ($dB = 20 \cdot \log_{10}(v)$). - ๐ฅ๏ธ Full Menu & UI System: Main Menu, Settings modal, Pause Overlay (
Escape), Async Scene Loading, and Instant Match Reset (R).
- Engine: Unity 2023.1.20f1
- Language: C# (.NET / Mono)
- Physics & UI Systems: Unity 2D Physics (
Rigidbody2D,PhysicsMaterial2D), uGUI, TextMeshPro - Audio System: Unity
AudioMixerSystem - Deployment Targets: WebGL (itch.io), Standalone Windows / macOS / Linux
graph TD
A[Unity Scene Manager] -->|Loads| B[Menu.unity / SuperPong.unity]
B --> C[GameManager]
C -->|Coordinates| D[PlayerPaddle]
C -->|Coordinates| E[ComputerPaddle]
C -->|Coordinates| F[Ball]
C -->|Updates| G[TextMeshPro UI HUD]
D -->|Controls| H[Time.timeScale Dilation Engine]
F -->|Collides with| I[BouncySurface Walls]
F -->|Triggers| J[ScoringZone Goal Triggers]
J -->|Fires scoreTrigger Event| C
K[AudioManager Singleton] -->|Routes Output| L[Unity AudioMixer Group]
- ๐ Architecture Documentation: Deep-dive class diagrams, physics formulas, and scene flow.
- ๐ Component API Reference: Complete public API signatures, serialized Inspector fields, and events.
- โ๏ธ Setup & Build Guide: Unity Editor instructions, Standalone building, and WebGL itch.io deployment.
- ๐ป Developer Guide: C# coding standards, performance rules, and git PR workflow.
- ๐ฎ Gameplay Guide: Full controls breakdown, rules, and bounce mechanics.
- ๐ Architecture Decision Records (ADRs): Engineering decisions behind
Time.timeScale, coroutines, and AI physics.
-
Clone Repository:
git clone https://github.com/sedmugen/super-pong.git cd super-pong -
Open in Unity Hub:
- Open Unity Hub.
- Click Add
$\rightarrow$ Add project from disk and select the cloned directory. - Ensure Unity version
2023.1.20f1(or compatible 2023.x LTS) is selected.
-
Run in Editor:
- Open
Assets/Scenes/Menu.unityin the Project window. - Click Play in Unity Editor.
- Open
(For complete WebGL and Desktop build instructions, see docs/setup.md).
| Key Binding | Action |
|---|---|
W / Up Arrow |
Move Paddle Up (Resumes Time) |
S / Down Arrow |
Move Paddle Down (Resumes Time) |
Escape |
Toggle Pause Menu |
R |
Quick Restart Match |
We welcome open-source contributions! Please review our community guidelines before opening an issue or pull request:
- ๐ Contributing Guidelines
- ๐ก๏ธ Code of Conduct
- ๐ Security Policy
- ๐ Changelog
- Unity 2D Physics & Paddle Deflection Implementation
- "SUPERHOT" Time Dilation Engine Integration
- Dynamic Bounce Angle Geometry Calculations
- Audio Mixer & Logarithmic Volume Conversion
- Real-time Coroutine Match Flow Fixes
- Open-Source Documentation Suite & Reorganization
- GitHub Community Health Files & PR/Issue Templates
- Multi-ball Power-ups & Dynamic Speed Zones
- Local 2-Player Versus Mode
Distributed under the MIT License. See LICENSE for more details.
Developed by Saad Mughal (@sedmugen).


