Nicheloom

Market intelligence for builders — see what's gaining traction before it's crowded.

Reverse-engineering Shockwave to save early 2000s web games (Rust/WASM)

Details

External ID
47297544
Source
HN
Company
—
Product
games
Website domain
github.com
Launched
March 8, 2026
Cohort
—
Upvotes
16
Upvotes percentile
0.6968019680196802
Tags
—
Fetched at
Sept. 7, 2026, 9:26 p.m.
Updated at
Sept. 7, 2026, 9:26 p.m.

Description

Hi HN,When browsers killed NPAPI plugin support, thousands of early 2000s web games were effectively lost to time. Macromedia Shockwave, in particular, was a closed-source, highly complex, and largely undocumented beast.So a few friends and I spent the last two years doing something arguably unhinged: rebuilding the entire Director engine from scratch. Today, we're finally sharing dirplayer-rs.Repo: https://github.com/igorlira/dirplayer-rsWe intentionally stayed quiet on this until we had undeniable proof that it was actually possible. With our latest v0.4.1 release, we have full hardware-accelerated graphics. Complex games are booting natively in the browser and are fully playable.A few childhood favorites, actually playable right now:Habbo Hotel: https://dirplayer.com/habboLEGO Junkbot: https://dirplayer.com/junkbotLEGO Worldbuilder: https://dirplayer.com/worldbuilderWe chose Rust and WebAssembly because we wanted a native, plugin-free way to play these games without relying on ancient executables. Parsing decades-old, untrusted binary blobs and undocumented bytecode is a memory safety nightmare, making Rust an easy choice. It also gives us predictable performance with zero GC pauses, keeping frame rates smooth.The biggest headache by far has been Lingo, Director's scripting language. It's massive. It heavily supports 3D graphics, embedded Flash content, and the worst part: Xtras. Xtras were external distributable plugins compiled from native C code. Figuring out how to make those play nice in a modern WASM environment has been a serious challenge.We did, however, successfully implement the Multiuser Xtra so games can create socket connections (which is how Habbo is working!). We still have a long way to go to support full 3D and the massive ecosystem of third-party Xtras, but the foundation is solid.None of this happened in isolation. We built on years of prior work from the Shockwave reverse-engineering community: folks who have been poking at Director's internals for years, and their prior projects, tools, and research made this possible.Happy to get into the weeds in the comments: the RE process, decompiling ancient binaries, the weird quirks of Director's VM, the Rust architecture, whatever you're curious about.And genuinely: what old Shockwave game do you wish still worked? Drop it below and we'll see if we can get it booting.

Enrichment

Theme
Vertical
Media & entertainment
Function
Dev tools
Audience
Developer
AI stance
Not AI
Project type
Hobby / open-source project
Normalized one-liner
shockwave emulator for preserving early 2000s web games
Manually corrected
False

Could you build this?

No Re-engineering Macromedia Shockwave requires deep reverse engineering of closed-source binary formats, virtual machines, and undocumented rendering engines in Rust and WebAssembly.

What it would actually take: Requires disassembling legacy Shockwave/Director binaries (x86), reverse engineering the Lingo bytecode VM, chunked container file formats (RIFX/DIR/DXR), and proprietary 3D/audio subsystems. Implementation demands deep systems programming in Rust and compilation to WebAssembly using WebGL/WebGPU for emulation, built by expert systems engineers over years.

Discussion

1 comment analyzed.

Competitors mentioned: C++

Competitors

Other products that read as similar to this one — 252 launches clear the similarity bar, closest 8 shown.

Attention rank: #109 of 253 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).

Launched 125 days after the earliest competitor.

Other launches for this product

Same idea, different domain

Nobody's really built a dev tools tool for Sales yet.