Street Fighter 2: The Remake

In my down time over the past few months (9 months and 9 days to be exact) I’ve been working on a remake of Street Fighter 2 – the arcade classic from the 90s that I spent way too much time pumping way too many 20c coins into as a kid (mostly because I wasn’t very good).

Street Fighter 2 title screen
Click to play

I’ve used ImpactJS, the same JavaScript game framework that I used for Zuma Kong. I got all the sprites from the MUGEN version of the game and the arena backgrounds, sound effects and music I found on various sites around the internet. It’s been a shitload of work and at times has taken me to the brink of nausea but it’s also been a shitload of fun.

To my knowledge there aren’t any HTML5 / JavaScript Street Fighter 2 remakes floating around on the net. At least none that I could find. So I guess that would make this the only one of it’s kind, which is pretty effing cool I reckon!

It’s taken serious willpower not to put anything online until it was ready and even though it’s still nowhere near a complete version of the original I do think it’s finally at a point where it can be considered a playable game. Currently there are only 2 playable characters – Ryu and Zangief. The variety of attacks are also pretty lacking but I’ve included some of the special moves and I’ve tried to keep their button sequences as close to the originals as possible.

Screenshot of Street Fighter 2
Here comes the pain!

Anyone who understands / gives a shit about the techy side of things you can read the inside scoop about how I made it here but one thing that was imperative throughout the process of creating the game was that everything had to be tight – the controls, the hit detection, the AI, the whole experience. I believe the enjoyment of a game is directly related to how reliable it is. It doesn’t matter how impressive a game looks if it fucks out at random then playing it will never be a joyful experience.

Having said that, if you play it it’s quite possible that you will notice some hit detection and AI glitches but I’m slowly ironing out all the bugs, it’s just a very slow and very tedious process. Sometimes you stumble on a bug but have no idea what even caused it and you can’t fix what you can’t recreate. Anyone who has experience with programming knows that bug fixing can sometimes be a lot like fighting a hydra – cut off one head and two more will take it’s place.

“I knew I shouldn’t have added that if statement on line 623!”

The game uses a few awesome ImpactJS plugins made by other people:

Button entity by bureaubureau
Pause by Simon Ernst
Time Slower by Killbot

If unlike myself you are not a relic of the 90s and don’t know shit about the Street Fighter legacy but would like to find out more then you can check out this awesome documentary. You might be familiar with the hilariously awful movie adaptation starring JCVD and Kylie Minogue which totally butchers the awesomeness of the video game but is worth checking out just for how legendarily bad it is.

The franchise was a massive success and spawned everything from graphic novels to anime movies to action figures and a hoard of follow up game releases. While doing research for this post I stumbled on a web series called ‘Street Fighter: Assassin’s Fist’ which to my surprise is damn good. It’s a highly budgeted live action series that tells Ryu and Ken’s origin story and I definitely recommend checking it out if you’re into the game. It has a very kung-fu movie feel to it which really gives it an aesthetic true to that of the video game. Word on the street is that filming of the 2nd season is currently under way.

And lastly if you’d like to learn more about the fascinating world of indie game development then you should check out the documentary ‘Indie Game: The Movie’.


Leave a Reply

Your email address will not be published. Required fields are marked *