$WEBREVERSEawaiting launch

How a combo is built

Two games, one tab. The world game runs on its own engine. The hero game does not run at all: its character is rebuilt from its files and drawn into the world's frame. Homer in Super Mario 64, with the real numbers:

world binaryrunssm64

sm64.wasm, 12,493,041 bytes

sm64ex, decompiled. 2,116 functions, the whole game.

sm64:sharHomer Simpson in Super Mario 64real frame
Homer Simpson in Super Mario 64, a real frame
hero gamedoes not runshar

SRR2.wasm, 3,669,626 bytes

Homer's model and clips come from its files, his jump and stomp numbers from its code: 3.22, 1.9, -25.

hero packheroes/shar/120 files

avatar.glb, 1,293,500 bytes, 39 animations

2,375,743 bytes in all. Loaded only when Homer is the hero.

runtimeone for every combo

splice-runtime.js 1,215,699 bytes, rapier.wasm 1,569,588 bytes

three.js draws the hero inside the world's own frame. Rapier is its physics.

world adapterhosts/sm64/host.js685 lines

Wires damage, pickups and doors into sm64.wasm through its own exports.

A stomp from Homer arrives in sm64.wasm as Mario's ground pound.

The 14 engines

Each world runs the engine below, rebuilt for the browser. Most are decompiled or reverse-engineered codebases. Sizes are the files the games host serves.

enginesas served, read-only
  • GTA III 2001re3, reverse-engineeredre3.wasm 2,544,393 bytes, 3,020 funcs, named
  • Doom 1993Crispy Doom, source releasecrispy-doom.wasm 1,951,452 bytes, 2,036 funcs, named
  • Quake III Arena 1999ioquake3, source releaseioquake3.wasm 2,322,351 bytes, 2,585 funcs, stripped
  • Diablo 1996DevilutionX, decompileddevilutionx.wasm 6,184,304 bytes, 5,692 funcs, stripped
  • Half-Life: Uplink 1998Xash3D-FWGS + HLSDK, GoldSrc reimplementationhl_emscripten_wasm32.wasm 1,233,203 bytes, 2,374 funcs, stripped
  • Counter-Strike 1.6 2000ReGameDLL_CS + Xash3D, reverse-engineered game DLLcs_emscripten_wasm32.wasm 1,606,216 bytes, 2,914 funcs, stripped
  • Sonic Robo Blast 2 1998SRB2 2.2.15, open sourcesrb2.wasm 4,659,842 bytes, 4,760 funcs, named
  • Super Mario 64 1996sm64ex, decompiledsm64.wasm 12,493,041 bytes, 2,116 funcs, named
  • Tomb Raider 1996OpenLara, open-source reimplementationopenlara.wasm 964,586 bytes, 711 funcs, stripped
  • GTA: Vice City 2002reVC, reverse-engineeredvc-sky-en-v6.wasm 7,626,171 bytes, 10,657 funcs, stripped
  • Carmageddon 1997Dethrace, reverse-engineeredcarma.wasm 2,467,952 bytes, 2,532 funcs, stripped
  • Minecraft 1.8 2011EaglercraftX, decompiled Java to JavaScriptclasses.js 15,071,526 bytes, 50,258 lines
  • SimCity 1989micropolisJS, source releasehost.js 713,335 bytes, 4,007 lines
  • The Simpsons: Hit & Run 2003SRR2, community portSRR2.wasm 3,669,626 bytes, 8,522 funcs, named
gameenginebinarybytesfunctionsnameshero
GTA III 2001re3, reverse-engineeredre3.wasm2,544,3933,020namedClaude
Doom 1993Crispy Doom, source releasecrispy-doom.wasm1,951,4522,036namedDoomguy
Quake III Arena 1999ioquake3, source releaseioquake3.wasm2,322,3512,585strippedSarge
Diablo 1996DevilutionX, decompileddevilutionx.wasm6,184,3045,692strippedThe Warrior
Half-Life: Uplink 1998Xash3D-FWGS + HLSDK, GoldSrc reimplementationhl_emscripten_wasm32.wasm1,233,2032,374strippedGordon Freeman
Counter-Strike 1.6 2000ReGameDLL_CS + Xash3D, reverse-engineered game DLLcs_emscripten_wasm32.wasm1,606,2162,914strippedThe Counter-Terrorist
Sonic Robo Blast 2 1998SRB2 2.2.15, open sourcesrb2.wasm4,659,8424,760namedSonic
Super Mario 64 1996sm64ex, decompiledsm64.wasm12,493,0412,116namedMario
Tomb Raider 1996OpenLara, open-source reimplementationopenlara.wasm964,586711strippedLara Croft
GTA: Vice City 2002reVC, reverse-engineeredvc-sky-en-v6.wasm7,626,17110,657strippedTommy Vercetti
Carmageddon 1997Dethrace, reverse-engineeredcarma.wasm2,467,9522,532strippedMax Damage
Minecraft 1.8 2011EaglercraftX, decompiled Java to JavaScriptclasses.js15,071,52650,258 linesJavaScriptSteve
SimCity 1989micropolisJS, source releasehost.js713,3354,007 linesJavaScriptThe Mayor's Hand
The Simpsons: Hit & Run 2003SRR2, community portSRR2.wasm3,669,6268,522namedHomer Simpson

What crosses between the two

The adapter of each world wires the same signals both ways.

signalsworld to hero, hero to world
damagethe world's enemies, traps and falls hurt the herothe hero's attacks hurt the world's enemies
pickupshealth and items lying in the worldthe hero picks them up
doorsthe world's doors, lifts and switchesthe hero opens them
explosionsbarrels and blasts throw the hero aroundthe hero's blasts reach the world's props

Short answers

Do I need a wallet to play?

No. Playing a created combo is free and needs no wallet and no download. Creating one needs a Solana wallet with $WEBREVERSE.

Why only on a computer?

The games run on their real engines and want a keyboard and a mouse. A phone can create a combo, not play it.

Who owns a combo?

Whoever makes the first valid burn of 100k $WEBREVERSE with its memo. It stays theirs, and anyone plays it free.

Where do the fees go?

The creator fees from trading $WEBREVERSE split in half: combo creators by the minutes their combos are played, and the servers that host the 14 engines.

Is the code on the pages real?

Yes. The listings are runs of real instructions from the served binaries, and every size and count is measured on those files. webreverse prints what wasm-objdump reads.

182 combos, every one tested by a bot: walk, jump, take a hit, respawn. See them all.