What it is
Contra is a WebAssembly port of the NES run-and-gun game, translated from the original 6502 assembly to C and then compiled for the browser. It reproduces the original game's logic and adds the ability to play two-player co-op online.
From the developer
In the developer’s own words, from epoyraz.github.io.
Based on vermiceli's annotated disassembly of Contra: https://github.com/vermiceli/nes-contra-us . Thanks for the great work. I ported it in two steps. First to C: the game logic is translated routine by routine from the 6502 assembly, and checked frame by frame against the original in the Mesen emulator. Then the C code to WebAssembly so it runs in the browser. The cherry on top: online multiplayer, so two players can play co-op over the internet. Source: https://github.com/epoyraz/nes-contra-us
Editor takes

“Frame-by-frame accurate to the NES original, so you get the same tight but unforgiving hitboxes and pixel-perfect jumps that made Contra a classic.”

“Same five stages every time, but online co-op and the one-hit death loop make each run a tense, replayable sprint with a friend.”

“Pick-up-and-play for a quick break, but it's strictly keyboard with no save states, so you'll want to finish a run in one sitting.”

“A fan-port that squeezes an entire NES game into a browser tab with online multiplayer — impressive polish for a project built from an annotated disassembly.”
How to play
Use the arrow keys to move, A or Space to jump, and S to fire. Press Enter to start and Shift to change the number of players on the title screen. For online co-op, one player hosts a game and shares the invite link, then both players use the same keys on their own computers.
Tips
- Keep firing in the direction you're facing, and use jumps to shoot enemies on higher platforms.
- Learn where enemies appear, since many attacks come from predictable positions.
- Move constantly to make yourself harder to hit while advancing through each stage.
- In co-op, stay near your partner so you can cover each other from threats on both sides.
- Practice earlier sections to conserve lives for the tougher later levels.
Questions
Is this free to play?
Yes, it runs directly in the browser at the provided page without payment or downloads.
Do I need a ROM or emulator?
No. The game logic was translated from the NES assembly to C and compiled to WebAssembly, so the page itself is the game.
Can two people play online?
Yes. One player hosts an online 2-player game and shares the invite link; the second player joins in their browser, and both use the same keys.
Does it work on mobile?
The controls are keyboard-based and touch support is not mentioned, so it is intended for desktop browsers.
How faithful is it to the original NES game?
The author says the game logic was translated routine by routine from the 6502 assembly and checked frame by frame against the original in the Mesen emulator.




Comments 0
Log in to comment
No comments yet. Share a tip, a bug or your best moment.