Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Super Pong

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 Live Demo Unity License: MIT Code of Conduct


๐ŸŽฎ Live Playable Demo & Visuals

Play Super Pong directly in your browser:
๐Ÿ‘‰ Play Super Pong Live on itch.io

โฑ๏ธ Time Dilation in Action ("Time Moves Only When You Move")

SUPERHOT Time Dilation Gameplay

๐Ÿ–ผ๏ธ Interface Gallery

Main Menu Asynchronous Level Loader
Main Menu UI Async Level Loader Screen

๐Ÿ’ก Overview & Motivation

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.


โœจ Features

  • โฑ๏ธ SUPERHOT Time-Dilation Engine: Game physics, ball motion, and timers freeze when paddle input is idle and resume smoothly when keys (W/S or Up/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 AudioManager singleton 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).

๐Ÿ› ๏ธ Tech Stack

  • Engine: Unity 2023.1.20f1
  • Language: C# (.NET / Mono)
  • Physics & UI Systems: Unity 2D Physics (Rigidbody2D, PhysicsMaterial2D), uGUI, TextMeshPro
  • Audio System: Unity AudioMixer System
  • Deployment Targets: WebGL (itch.io), Standalone Windows / macOS / Linux

๐Ÿ—๏ธ Architecture Overview

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]
Loading

Documentation Index


๐Ÿš€ Installation & Setup

  1. Clone Repository:
    git clone https://github.com/sedmugen/super-pong.git
    cd super-pong
  2. 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.
  3. Run in Editor:
    • Open Assets/Scenes/Menu.unity in the Project window.
    • Click Play in Unity Editor.

(For complete WebGL and Desktop build instructions, see docs/setup.md).


๐Ÿ•น๏ธ Usage & Controls

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

๐Ÿค Community & Contributing

We welcome open-source contributions! Please review our community guidelines before opening an issue or pull request:


๐Ÿ—บ๏ธ Roadmap

  • 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

๐Ÿ“œ License

Distributed under the MIT License. See LICENSE for more details.

Developed by Saad Mughal (@sedmugen).

About

Unity 2D arcade Pong with a SUPERHOT-inspired time-dilation mechanic where physics and time move only when you move.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages