# Show HN: I recreated Contra in a custom NES game engine (NOT an emulator)

> Source: <https://news.ycombinator.com/item?id=50143302>
> Published: 2026-10-18 17:35:03+00:00

Here's a demo video I recorded for a friend that I decided to repost. Sorry for the terrible sound quality and my cough -- hope it's mostly understandable.

[https://s3.us-east-2.amazonaws.com/jeffluntgames.com/the-sur...](https://s3.us-east-2.amazonaws.com/jeffluntgames.com/the-surprise-demo.mp4)

---

Here's the technical breakdown of what I did:

* Worked with an AI agent (of course) * Described the basic features of the NES * Sprite engine * Input handling * Sound and music

Had the AI build what I'll call a microengine around this. Why do I call it a microengine? Because games on the NES were, I assume, written in assembly, without game engines. But my micro engine (which I named `neo8`) looks like a high-level language, has a basic camera system, and event-based sound system, a polling and event-based input handler that maps inputs to in-game events, a way to model game entities (entity attributes, rendering, animation state machines, etc.), but really just the very basics of what you'd need to create NES-style games on modern hardware.

To be clear, `neo8` is _not_ an emulator. It cannot run NES ROMs. But part of the engine, for the purpose of this demo, involved creating an image, audio, and code structure analysis tool so that I could convert the raw binary data from an actual ROM into .png files, mp3 files, and high-level code.

That high-level code is then compiled to a zero-dependency, native binary, and the little engine supports win/mac/linux as binary outputs.

Anyway, it was fun. Why not just port Contra directly (the "reverse engineer anything" repo, I'm sure could do it direct from the ROM to Rust or something). But I didn't want Contra, because I could just play the real Contra on original hardware or an emulator. Recreating Contra wasn't the point.

The point was to create the engine so I could create new, cross-platform NES-style games using a tiny engine. The Contra demo was simply a proof-of-concept to see if my little engine could replicate Contra's gameplay style, and sure enough it pretty much worked.

Comments URL: [https://news.ycombinator.com/item?id=50143302](https://news.ycombinator.com/item?id=50143302)

Points: 1

# Comments: 0
