Key Takeaways

  • Viral game mashups run two full games concurrently, using custom Rust engines to coordinate assets and physics.
  • In the Batman and Spider-Man mashup, the mod extracts Arkham Knight's Gotham geometry in real time, translating it into Spider-Man's physics engine.
  • Modders decompile legacy binaries using Ghidra, the open-source reverse-engineering framework published on GitHub by the National Security Agency.
  • Standalone movement modules like LIB SM64 isolate core mechanics from decompiled ROMs, allowing character physics to run inside separate software environments.
  • Tom Cargill's 90/90 rule explains why these viral tech demos rarely become complete products: the initial prototype covers the easiest 90% of development while polish consumes the rest.

Two Engines Talking Across Memory

When you watch Spider-Man swing through Gotham City in a viral clip, your brain assumes someone imported a character model into Batman: Arkham Knight. The reality under the hood is far weirder.

As John Coogan explains, these projects run two full games at the exact same time. “It's actually running both games and then it's passing data between the games to create this experience of being Spider-Man in Arkham Knight.”

A custom Rust coordinator sits between both executables. As Tyler noted during the discussion, “There's no you're not really like putting one game into another. It's fully like a Rust engine and then you're pulling assets from both games.”

The mod continuously queries Gotham's memory map. Coogan points out how the bridge operates: “The mod goes into the Batman city Gotham grabs all the geometry, all the collision data, all the geometry of like where that building is. It takes that and in real time it passes it to the Spider-Man game which is actually running a different physics engine.” The coordinator translates mesh bounds, recalculates coordinate spaces, and feeds collision boxes to the Spider-Man runtime at 60 frames per second.

Decompilation via Intelligence Agency Tools

Building these bridges requires reverse-engineering legacy binaries whose original source code is locked behind publisher vaults. Modders increasingly use Ghidra, a software reverse-engineering suite released publicly by the National Security Agency. As Coogan noted, “The NSA has a GitHub with an open-source project called Ghidra... It's a software framework for reverse engineering software.”

Decompiling commercial binaries allows developers to isolate physics logic from graphics pipelines. A clear example is LIB SM64, a movement library stripped directly from Super Mario 64. Coogan highlighted that “the mod actually borrows a subsystem called LIB SM64, which is derived from a Super Mario 64 decompilation.”

By decoupling movement engines from their native games, developers turn Mario's jumps or Spider-Man's web swings into portable C and Rust modules. Those modules can then receive inputs from Minecraft, Arkham Knight, or custom rendering viewports.

The 90/90 Trap of Technical Demos

Building a two-minute clip of Modern Warfare 2 weapons firing inside Minecraft proves you can solve asset extraction and memory mapping. It does not mean you have a playable game.

These projects run straight into Tom Cargill's 90/90 rule from Bell Labs: the first 90% of the code accounts for the first 90% of the development time, and the remaining 10% of the code accounts for the other 90% of the development time.

Synchronizing collision data for a single street corner takes days. Synchronizing edge-case clipping, audio mixing, AI pathfinding, quest scripts, and state management across an entire open world takes years. The architecture that makes a demo go viral on social media is often too fragile to survive a twenty-hour playthrough.

What to Do With This

If you are prototyping complex multi-system software, build a single bridge between two disparate data structures before writing custom rendering or interface code. Isolate your core logic into a headless runtime module, verify that live memory transfers work with zero lag, and test edge-case data synchronization before investing in asset pipelines.