This is a xhva.net JavaScript experiment.

Andy's slowly-getting-there Streets of Rage II clone

now with collision detection, moves, combos and enemy respawns!

Loading JS...

New: Gamepad support! Download the gamepad-enabled Firefox nightly to try it.

Player 1: Axel (on the left)

Abilities:
1 2 3 (Special, punch, jump)
Movement:
A S D
Z X C
Dragon wing:
Special while standing still
Dragon smash:
Special while walking forward
Grand Upper:
Double-tap forward then Punch
Flurry:
Hold Punch for 2 sec and release
Jump kick:
Jump forward then punch
Jump knee:
Jump up then punch
Jump kneedrop:
Jump then Down + Punch

Player 2: Shiva (in the middle)

Abilities:
8 9 0 (Special, punch, jump)
Movement:
K L ;
, . /
Standing flame:
Special while standing still
Somersault:
Special while walking forward
Cutter:
Double-tap forward then punch
Flurry:
Hold Punch for 2 sec and release
Jump kick:
Jump forward then punch
Jump slam:
Jump up then punch
Jump drop:
Jump then Down + Punch

Player 3: R. Bear (on the right)

Abilities:
Insert Home PageUp
Move:
4 5 6
1 2 3
Knockdown:
Special while standing still
Uppercut:
Special while walking forward
Rush:
Double-tap forward then Punch
Backhit:
Hold Punch then press jump
Jump drop:
Jump then punch
Enhanced jump:
Hold up/down then jump

View in the latest Firefox or Chrome for best graphics and audio performance. Older Chrome versions have a variety of audio problems documented in xlib.js. Click image to toggle pause.

(values over 500 will affect performance greatly!)

Many thanks to the original Streets of Rage team, Yuzo Koshiro in particular, for making a game that consumed a chunk of my childhood. For the sprite rips, a huge thankyou to Yawackhary, Darkwolf, Bonzai, Ryan914, and Grim for making this so much easier! This project also uses the awesome "04b_03" font developed by Yuji Oshimoto, LABjs by Getify Solutions, and Microajax by Black Macde. Thanks!