A 2D sprite-based fighting game with AI opponents, online PvP, a stamina resource system, and Smash Bros-style super attacks.
3-pip resource bar. Dash costs 3 (further lunge), ranged costs 1, specials cost 2. Regens 1 pip every 3 seconds. Exhaustion punishes spam.
Build meter by dealing and taking damage. When full, unleash a cinematic super attack with freeze-frame, radial burst, and massive damage.
LMB dash lunges forward based on stamina. RMB block enters a parry window that reflects damage back. Mouse, keyboard, and gamepad supported.
Intelligent AI that approaches, attacks, dodges projectiles, blocks, and uses super attacks. Adapts to distance and resources.
Create or join rooms with 4-character codes. Real-time input relay over WebSocket. Pick characters and fight anyone online.
Per-character attack effect strips, animated projectiles, screen shake, hit flash, counter aura, and super cutscene overlays.
| Action | Keyboard | Mouse | Gamepad |
|---|---|---|---|
| Move | A / D | — | Left Stick |
| Jump | W | — | Y |
| Melee | Q or E | — | A or X |
| Dash Attack | — | LMB | RT |
| Block / Parry | — | RMB | LT |
| Ranged | F | — | B |
| Up Special | W + Q/E | — | Up + A |
| Down Special | S + Q/E | — | Down + A |
| Super | R | — | RB |
React 18, Vite 6, Tailwind CSS, Canvas 2D rendering with sprite sheet animation at 60fps.
Express + Socket.io for real-time PvP. Room-based matchmaking with input relay. PostgreSQL for persistence.
Vercel (frontend auto-deploy), Docker + Cloudflare (game server), GitHub Pages (landing page).