{"id":50554000,"url":"https://github.com/softchris/octo-pong","last_synced_at":"2026-06-04T05:05:07.056Z","repository":{"id":360229583,"uuid":"1247077852","full_name":"softchris/octo-pong","owner":"softchris","description":"3D Table Tennis game built with Three.js","archived":false,"fork":false,"pushed_at":"2026-05-25T15:17:42.000Z","size":2734,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-25T16:04:51.144Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/softchris.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-22T21:59:08.000Z","updated_at":"2026-05-25T15:17:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/softchris/octo-pong","commit_stats":null,"previous_names":["softchris/octo-pong"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/softchris/octo-pong","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softchris%2Focto-pong","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softchris%2Focto-pong/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softchris%2Focto-pong/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softchris%2Focto-pong/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/softchris","download_url":"https://codeload.github.com/softchris/octo-pong/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softchris%2Focto-pong/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33890054,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-04T05:05:06.246Z","updated_at":"2026-06-04T05:05:07.050Z","avatar_url":"https://github.com/softchris.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏓 Octo Pong\n\nA 3D table tennis game built with **Three.js** — entirely in a single HTML file. Mobile-first touch controls, realistic physics, AI opponents, tournament mode, and RPG progression.\n\n**[▶ Play Now](https://softchris.github.io/octo-pong/)**\n\n---\n\n## ✨ Features\n\n### 🎮 Realistic Gameplay\n- **3rd-person camera** with forehand/backhand detection based on racket position\n- **Topspin \u0026 backspin** selection with swing-speed-based power\n- **Smash system** — auto-detects high balls, enters slow-mo, lets you aim your smash\n- **Semi-circular racket swing** animations with trail effects\n- **Synthesized audio** — paddle hits, table bounces, serves, and victory fanfare\n\n![Gameplay](screenshots/06-gameplay.png)\n\n### 🌍 World Tournament\nDefeat 3 legendary champions across the globe to claim the World Championship title. Travel between cities on an animated world map with accurate continent outlines.\n\n- **19 historical champions** — Ma Long, Fan Zhendong, Jan-Ove Waldner, Timo Boll, and more\n- **8-player bracket** — Quarter-finals → Semi-finals → Final\n- **6 unique arenas** — Garage, Gym, Club, Rooftop, Stadium, World Finals\n\n![Tournament Bracket](screenshots/04-tournament-bracket.png)\n\n![World Map](screenshots/05-world-map.png)\n\n### 📈 RPG Progression\nLevel up, earn XP, allocate stat points, and unlock special shots as you win matches.\n\n- **5 stats** — Power, Spin, Accuracy, Speed, Defense\n- **10 special shots** — Rocket Serve, Super Loop, Phantom Drop, Dragon Strike, and more\n- **30 levels** with stat point allocation\n- **21 badges/achievements** — First Victory, Smash King, World Champion, Perfect Game...\n\n![Player Profile](screenshots/02-player-profile.png)\n\n![Badges](screenshots/03-badges.png)\n\n### 📱 Mobile-First Design\nBuilt for phones — all controls are touch-based with compact UI that doesn't crowd the screen.\n\n- **Swipe to move** racket — speed determines shot power\n- **Tap to serve**\n- **Bottom bar** for spin selection\n- **Slow-mo smash prompt** with tap-to-aim targeting\n\n![Title Screen](screenshots/01-title-screen.png)\n\n### ⚙️ Game Menu\nPause anytime with ESC or the menu button. Access player profile, badges, controls help, and more.\n\n![Game Menu](screenshots/07-game-menu.png)\n\n---\n\n## 🚀 Getting Started\n\nNo build step needed — it's a single `index.html` file.\n\n```bash\n# Clone and serve locally\ngit clone https://github.com/softchris/octo-pong.git\ncd octo-pong\npython -m http.server 9090\n\n# Open http://localhost:9090\n```\n\nOr just visit **[softchris.github.io/octo-pong](https://softchris.github.io/octo-pong/)**.\n\n## 🛠 Tech Stack\n\n- **Three.js** — 3D rendering (loaded via CDN)\n- **Web Audio API** — all sounds synthesized, no audio files\n- **Vanilla JS** — no frameworks, no build tools\n- **localStorage** — player progress persistence\n\n## 📄 License\n\nMIT\n\n---\n\n*Built with ❤️ and GitHub Copilot 🤖*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftchris%2Focto-pong","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftchris%2Focto-pong","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftchris%2Focto-pong/lists"}