Grudge Fighter

A 2D sprite-based fighting game with AI opponents, online PvP, a stamina resource system, and Smash Bros-style super attacks.

Play Now Character Editor View Source
vs AI Online PvP Gamepad 7 Characters

Characters

Knight
ATK 13 · SPD 5.6
Archer
ATK 9 · SPD 6.8
Wizard
ATK 10 · SPD 5.4
Orc
ATK 15 · SPD 5.0
Skeleton
ATK 11 · SPD 5.8
Swordsman
ATK 12 · SPD 6.4
Priest
ATK 9 · SPD 5.2

Combat Features

Stamina System

3-pip resource bar. Dash costs 3 (further lunge), ranged costs 1, specials cost 2. Regens 1 pip every 3 seconds. Exhaustion punishes spam.

Super Attacks

Build meter by dealing and taking damage. When full, unleash a cinematic super attack with freeze-frame, radial burst, and massive damage.

Dash & Block

LMB dash lunges forward based on stamina. RMB block enters a parry window that reflects damage back. Mouse, keyboard, and gamepad supported.

AI Opponent

Intelligent AI that approaches, attacks, dodges projectiles, blocks, and uses super attacks. Adapts to distance and resources.

Online PvP

Create or join rooms with 4-character codes. Real-time input relay over WebSocket. Pick characters and fight anyone online.

Sprite Effects

Per-character attack effect strips, animated projectiles, screen shake, hit flash, counter aura, and super cutscene overlays.

Controls

ActionKeyboardMouseGamepad
MoveA / DLeft Stick
JumpWY
MeleeQ or EA or X
Dash AttackLMBRT
Block / ParryRMBLT
RangedFB
Up SpecialW + Q/EUp + A
Down SpecialS + Q/EDown + A
SuperRRB

Tech Stack

Frontend

React 18, Vite 6, Tailwind CSS, Canvas 2D rendering with sprite sheet animation at 60fps.

Backend

Express + Socket.io for real-time PvP. Room-based matchmaking with input relay. PostgreSQL for persistence.

Deployment

Vercel (frontend auto-deploy), Docker + Cloudflare (game server), GitHub Pages (landing page).