SUPERGUN
WHAT IT IS
beta · windows · bring your own game

Marvel vs Capcom 2 · your own copy

A game from 2000.
Netcode from 2026.

SUPERGUN runs the Marvel vs Capcom 2 you already own on Steam, with rollback netcode, no loading screens between games, and one link instead of a lobby. One file. Nothing to install.

Windows 10 / 11 · you need your own Steam copy of Marvel vs Capcom 2 on the same PC. Windows will warn about the file — that is expected.

Windows will not open it at all?

If you get a box saying “These files can't be opened” with only a Close button, Windows has blocked the file rather than warning about it. Two clicks:

  1. Right-click sg_runner.exeProperties.
  2. Tick Unblock at the bottom → OK. Now open it.

In a OneDrive folder? Move it to your Desktop first — that alone usually does it.

The SUPERGUN menu: a dark screen headed YOUR CIRCLE. A TRAIN panel holds four tiles — CHARACTER SELECT and three saved teams, the first highlighted in amber. Below it four more tiles: LOCAL VS, RANKED greyed and marked COMING SOON, MVC2GO, and MODES which is selected. A strip along the bottom reads INVITE TO YOUR CIRCLE, supergun.io slash g slash player_one, with a COPY LINK button.
The whole menu. There is no second screen.

A shell around your own game

You bring the game

SUPERGUN ships none of it. On the first run it opens your Marvel once, reads it, and closes it. After that it never opens Steam or the game again.

It cannot get you a copy, and will not pretend it can.

Not an emulator

Your game's own code runs, unchanged — the same frame data, the same everything. SUPERGUN drives it forward a step at a time instead of letting it drive itself, which is how the loading screens go and how rollback is possible at all.

One menu

The screen above is all of it: your teams, one link, the modes. No mode select, no settings tree, no lobby. Everything else is a card over it.

Nothing to wait through

4 msPress a saved team and you are playing. 67 steps of the game run back to back inside one drawn frame.
2 screensOnly character select and the match ever run. The loader, the versus intro, the win screen and the menus are ours.
instant rematchSUPERGUN keeps the exact moment the round started and puts it back. The game never reloads.
no SteamAfter the first run it starts from what it read. Your Steam copy stays installed; nothing of Steam's has to be running.
1.0 / 1.8 msSUPERGUN's own work per frame, typical and at the 99th, out of the 16.67 ms a frame gets. Worst across a 245 s match: 7.6 ms.

Copy. Send. Play.

No lobby to sit in, no code to read out loud, no account.

1Copy linkOne press. Your link goes to the clipboard and the window starts waiting.
2Send itDiscord, a text message, anywhere. It is one line.
3They copy itTheir SUPERGUN watches the clipboard, sees the link and offers JOIN. One press.
4Character selectYou both land there. Pick teams, play. Nothing loads in between.
5Next gameThe rematch puts the round start back exactly as it was.

Rollback means SUPERGUN does not wait for the other player: it guesses their next input, keeps your game moving, and corrects itself the instant the real one lands — so your own buttons answer immediately. Works on your own network always, and across the internet on most home routers; if it cannot get a public address it says THIS NETWORK ONLY and why.

A mode the game cannot do

RANDOM SWAP

Every five seconds a random fighter on either team becomes a random character — mid-match, mid-combo, mid-super. The new character appears where the old one stood. No round restart, no intro.

It keeps everything

Health, red health, meter, the clock, position and facing all carry over, inside one drawn frame. An airborne fighter keeps its arc; a super freeze carries straight through.

Play it

MODES → RANDOM SWAP → TRY OFFLINE. Never the same character twice running, never one already on that team.

Offline today; modes against someone else come after the sparring beta. GAUNTLET is designed, not built. Known issue: a fighter swapped mid-hit stays invisible until they recover.

For competitive players

Same idea, newer engine

Rollback is not new and this game already had it. What changed is which implementation runs it, and what we built on top. Nothing below is needed to play — skip to the download.

 GGPOGekkoNetGGRS — what we run
what it is The original rollback library, in C++, and what the shipped game's online was built on — we know because we read the compiled code, not from an announcement. A newer C rollback library, actively developed. The same rollback model rebuilt in Rust, still carrying GGPO's own constants by name at its own values.
the catch C++, and its constants were written for a different kind of game. Nothing in the shipped configuration was retuned for a 60 Hz fighter. The closer fit on paper and the better spectator design — but no test suite, and its internal checks are compiled out of release builds. Open since 2024. Same language as the rest of SUPERGUN, so no bridge to get wrong, and the one we could put under our own gates. That is the argument: we picked the rollback engine we could test.
what it cost Spectating. GekkoNet's spectator and replay design is the better one and we did not take it, so watching someone else's match is ours to build. We also carry seven small Rust packages where GekkoNet is one C library.

Three things we added on top

a truer readBoth engines work out how far ahead of your opponent you are running. GGRS's answer is a whole frame out when the two of you are on different input delays, because it measures the frame your input lands on, which already has that delay in it. Ours measures the frame you are watching: +0.50 against a true +0.50 over 3,480 frames, where GGRS read +1. You feel the pair staying level instead of one side drifting ahead. The shape of it came from GekkoNet.
catching upWhen a machine freezes the pair ends up out of step by the length of the freeze, and neither engine closes that. The one behind replays the frames it already has, muted and undrawn, in a single drawn frame: 31 frames in 6.6 ms. The same stall without it: 244 rollbacks and 36 stalls, against 1. You feel a hitch instead of a minute of rubber-banding. Off by default in the beta.
proving itTwice a second both copies compare a fingerprint of the whole fight — byte for byte or it is not agreement. A recorded match replays to the same 4,916 fingerprints as the previous build. You feel that a match which finished was the same match on both screens.

Measured on this build

0.07 msWhat one re-simulated frame costs us. We run the game's own compiled code rather than emulating it, which is what lets us afford a deep prediction window and a small delay.
delay 1One frame of input delay by default; SUPERGUN samples the gap between you and sets it once while the match loads, where the game ignores the pad anyway. Zero is possible and is not the default: at zero every scrap of jitter becomes a correction. It is not a menu row yet — it lives in SUPERGUN's settings, and the link carries it so you both run the same number.
0 · 0 · 0Rollbacks, stalls and disagreements across a full measured match: two copies of SUPERGUN on one PC over real network sockets, 14,658 confirmed frames, 245 s, start to finish.
same rules or nothingBoth sides compare every rule they are about to play under and refuse to start if any differs. A mismatch is a refusal with a reason, never a match that quietly falls apart.
0.014 %of one processor core for the connection recorder, on by default. It notes how your connection ran; nothing leaves the PC, because nothing in SUPERGUN can send it.

Download it. Double-click it.

One file. Put it wherever you like — the desktop is fine. There is no installer, no administrator prompt, and nothing running when it is closed. Deleting the file is the uninstall.

Download SUPERGUN

Windows will stop you once

Neither of these is a virus warning. Windows marks every downloaded file, and an unsigned one gets one of two boxes.

“Windows protected your PC” — the usual one. Click More info, then Run anyway. Once.

“These files can't be opened”, with only a Close button — Windows blocked it instead of asking. Right-click sg_runner.exeProperties → tick UnblockOK, then open it. If the file is in a OneDrive folder, move it to your Desktop first — that alone usually does it.

Typing instead: Unblock-File "C:\path\to\sg_runner.exe". The mark travels with the download whatever we put it in, so a zip or an installer would not spare you this. What we do instead: every build is signed with our own key and SUPERGUN checks that signature on your PC before it ever replaces itself.

The first run

It asks what to call you, makes you a key on this PC, then opens your Marvel once to read it and closes it again. Nothing to click while it does.

After that it opens straight to the menu, and it teaches Windows to open SUPERGUN links by itself.

Your key is your account — no email, no password, no server that owns it; take it to another PC and you are the same player. A new build is announced, checked against our key, and waits: it goes in next time you open SUPERGUN.

Prefer a command line? irm https://supergun.io/install.ps1 | iex does the same thing. You do not need it.

What beta 1 does not do

So nothing surprises you. Everything here is simply not built yet.

no one is listedYou play people whose link you have. Seeing who is online, keeping a list of partners and calling someone out all need a piece we have not built — the menu says so where the list would be.
no rankedNo ranked, no ladder, no leaderboard, no pool of strangers to be matched with.
strict networksYour own network always, and the internet on most home routers. If you are both behind a strict one it will not connect yet — there is no middleman to fall back on.
if they disagreeIf the twice-a-second check ever fails, SUPERGUN writes it down rather than drifting apart — but there is no message on screen for it yet, and the match does not stop itself.
new build, new startEvery release refuses to play an older one, on purpose. Updates come rarely, in batches, and you both take them.
not privateWhat the two of you send each other during a match is not scrambled. Treat it like any other game's netplay.
windows onlyA browser build and a Raspberry Pi build both run here in the lab — the Pi matches a PC down to the byte — and neither has shipped. MVC2GO, the name for taking your setup elsewhere, is not built. No spectating either (see above).

Something wrong? Tell us.

Say what you were doing and what happened. That is enough.

Join the Discord