CNo cover yetContraShooter

Contra

Based on vermiceli's annotated disassembly of Contra: https://github.com/vermiceli/nes-contra-us .

by epoyraz

Be the first to rate this game

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

KaiThe Speedrunner
“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.”
RookThe Run Addict
“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.”
NicoThe Commuter
“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.”
BeaThe Jam Judge
“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

No comments yet. Share a tip, a bug or your best moment.

More Shooter games on the shelf

All Shooter games
8-Shooter Vendetta cover8-Shooter VendettaShooteronebytefile.itch.io

"The latest action film, Now in Theatres!"

by OneByteFile
Catcopter coverCatcopterShootercatcopter.com

Hi everyone! I had the idea for catcopter on my mind for a long time (got the domain ~13 years ago).

Perpetua coverPerpetuaShootertherealpotajoe.itch.io

Blast your way through the endless void of space.

by PotaJoe
Glider 4.0 Unofficial Web Edition coverGlider 4.0 Unofficial Web EditionPlatformerdbohdan.github.io

https://github.com/dbohdan/glider https://bsky.app/profile/engineersneedart.com/post/3myrs2ngq...

by dbohdan

Contra is made by epoyraz; all rights belong to its creators. Is this your game? Ask us to update or remove this listing.