Keep a place on the roof. Add Rooftop Rally as a shortcut so it’s easy to open again.
iPhone / iPad · Safari Open Safari’s Share menu (inside More ··· on some versions), choose Add to Home Screen , then Add . Enable Open as Web App if offered.
Android · Chrome Open the ⋮ menu → Add to home screen → Create shortcut or Install , if offered.
Desktop · Chrome / Edge Open the browser menu and look for Install this page as an app or Apps → Install this site as an app . Alternatively, bookmark this page.
Mac · Safari Choose File → Add to Dock , if available.
This creates a shortcut; an internet connection is still required.
Got it Shuttle Smash: a badminton game for players everywhere. Build in phases, validate each step, then expand. Everything below is planned unless marked current.
CURRENT · ONBOARDING Learn by playing Learn to play now covers movement, diagonal serving, high returns, drop shots, smash stamina and a final timed return. Early practice shuttles wait for you. The last exercise retries missed returns.
CURRENT · DIAGNOSTICS Find the source of a stall Open Performance in How to play, or use the small diagnostics button on the court. Download a report after a laggy match on each device. Transit estimates and extra smoothing are shown separately. Reports include inferred pause causes, heartbeat ages and input-send gaps. Frame stalls and received-update gaps are measured separately; neither ping nor a single report alone proves where a delay began. Reports stay on your device unless you share them.
CURRENT · EXPERIMENTAL Private rooms, first prototype CPU play and private 1v1 rooms are available. Private rooms now use persistent WebSockets with a shared server simulation. Verify responsiveness on two phones before a public launch. Earlier polling rooms use a different protocol and cannot be resumed here.
PHASE 1 · TEST ON DEVICES Realtime online play Persistent WebSockets with one authoritative Durable Object per match. Immediate local movement, server correction and smooth opponent updates. Room codes and invite links, reconnect handling and shared point pauses. Validate full matches on two phones and desktop; measure latency and missed inputs. Cloudflare realtime backend connected. Private WebSocket play is experimental; measure full matches on real devices before promotion. The CPU game stays available.
PHASE 1 · SHORT MATCHES 90 seconds, one more match Start with a 90-second match limit. Finish the rally in progress when time expires; the highest score wins. Ties go to sudden death. Keep 60 seconds as a later tuning option.
Rematch and Home actions are available on the final scorecard. Matches still use first-to-five rules. A 90-second limit remains planned.
CURRENT · USAGE COUNTS Basic match analytics Private rooms created and joined. Matches started, completed and abandoned, split into CPU and private PvP. Elapsed match duration. Detailed latency and reconnects remain in local Performance reports. Anonymous page opens and tutorial starts / completions. No player names or private room details are collected. Open Usage summary from Home for 30-day aggregate browser-reported counts and CSV export. PvP match events are sent by the host only. These are usage indicators, not verified scores or unique players; browser exits and reconnects can affect totals. Collection can be turned off on Home.
PHASE 2 · PLAYER IDENTITY Play first. Save your score later. Allow guest play. Offer a small email sign-in and display-name setup after a match to save results. Attach server-recorded match results to a persistent player identity rather than trusting a score submitted by the browser.
PHASE 2 · PUBLIC LEADERBOARD Wins, streaks and points Public standings for match wins, win streaks and points scored, with separate CPU and PvP rankings. Define tie-breaks and time periods; validate results on the server and prevent duplicate submissions.
Total points reflects time played as well as skill. Keep it separate from wins and streaks, and account for easy CPU opponents or repeated private-opponent farming.
CURRENT · ONE VISUAL IDENTITY Shuttle Smash, on the street Classic block-style players, a street court and spectators, with navy, lime and cream branding across the game. Full-height court framing and translucent controls keep play in focus. The former miniature variant has been retired.
LATER · HOME AND MATCH SETUP Your name. Your court. Your match. A home screen with player name, difficulty / level, court selection and optional power-ups. The basic home screen is live with CPU, tutorial and friend play. Player profiles, difficulty progression, additional courts and power-ups remain later work.
PHASE 3 · AFTER PRIVATE PLAY IS RELIABLE Find an online opponent An 8 Ball Pool-style Play online flow: queue for an available opponent, confirm both players are ready and start a 1v1 match. Add sensible connection checks, matchmaking timeouts and disconnect rules before expanding competitive features.
BACKLOG · ARCADE MODE Pick-ups on the court Small power-ups that drop onto the court and activate when collected.
Speed shots: a temporary shuttle-speed boost.Walking speed: a temporary player movement boost.Multi-trajectory shot: decoy paths or splitting shot effects.Invisible shuttle: brief, readable concealment with a clear counter cue.Slow opponent shuttle: temporarily slow incoming shots.Swing shuttle: a curving flight path.Sticky: for a few seconds, moving towards the incoming landing spot helps your player settle onto it and hold position until you play the shot. Capture requires moving towards a nearby spot; it does not teleport you across the court. The hold ends when you hit, the rally ends or the power-up expires.Prototype one power-up first. Tune duration, warning cues and counters before adding more. Keep arcade effects optional.
BACKLOG · COURT SELECTION More places for one more rally Rooftop — current court Gully / neighbourhood street Bazaar Poolside Seaside Shadi hall Professional club Tournament courts Start with one alternative environment using the same rules. Tournament progression is a separate later decision.
Back to How to play Match diagnostics ×
Measured on this device. Gaps can include network, server or browser delays. Transit is estimated; extra smoothing is additional display wait. Input sending shares a bounded timer/frame scheduler. Pause causes are inferred from server snapshots. p95: 95% of samples are below this value.
Download match report Local only · last 10 minutes of samples. No names, room codes or tokens. Share both players’ reports after a laggy match.