š¤ I Put Smash Bros Melee in My Living Room
On September 7, I saw that Super Smash Bros. Meleeās decompilation had reached 100%. By that night, I was wearing a Meta Quest and watching Fox and Marth fight in my apartment. I posted a screen recording, and within a couple of days it had passed a hundred thousand views.
The part I wanted to build was pretty simple to describe: take a real Melee match, put the stage in my room, and let me watch it from wherever I wanted. A little tournament on the table. Or make it huge and let me stand beside the fighters. Iāve watched games through a screen my whole life; I wanted to see what happened when I could move around one.

A later version of the experiment: Fox and Marth fighting over my table. Watch the demo on YouTube.
Now Iām watching Smash Bros Melee with my Meta Quest in MR. Testing out Astra.
ā Kevin Tang (@_KevinTang) September 8, 2026
Crazy to see games of my childhood being decompiled. https://t.co/RuPh2aMDNd pic.twitter.com/fcJt1JVg8G
What the 100% means
When I checked the Melee decompilation tracker in September, it read 100%, fully linked. The community has reconstructed C code that compiles to match the gameās original PowerPC assembly. Thatās a much stricter target than writing a game that looks or behaves similarly: the compiled instructions themselves have to match.[1]
That gives people a way to read, study, and modify the machinery inside a game from 2001. It doesnāt recover all the original variable names or comments, and the resulting project still targets the GameCube. A native port requires more workāthe decompās own README says so.[2]
For my project, the milestone was the reason to start looking. Much of the work I ended up using already existed before the counter reached 100%. Slippi had the replays, modding tools could read the assets, and the decomp had readable tables and functions to consult. The interesting opportunity was connecting those pieces to a different kind of display.
Iāve also been looking at what people are doing with other games from that era. Modern Warfare 2 has projects such as OpenIW4, which reconstructs engine functions, and IW4L, an experimental replacement runtime that loads the original gameās assets. Halo 3 has recompilation work targeting a 2007 pre-release build; Halo: Combat Evolved has a separate decompilation research project. These efforts have different goals and levels of completion, but they make me wonder what else I could do with games I grew up playing once their internals become accessible.[8]
Getting the match into the headset
I started by brainstorming with Claude. It suggested mods, physics visualizations, analysis tools, and a VR replay spectator. That last one was the one I wanted to see. I took the conversation into Codex, using Astra, and asked it to build the Quest app. The agents did the bulk of the implementation; I picked the direction, tried the builds in the headset, and kept pointing out what looked or felt wrong.
The scope was one match: Mangoās Fox against Zainās Marth on Final Destination, from the Smash Summit 11 replay archive. I wanted something recognizable, and people in the replies recognized it. Slippi publishes tournament replay bundles, and its parser exposes the recorded frame data I needed to drive the scene.[3]
There were two inputs to bring together. The replay supplied the fightersā positions, facing directions, and action states over time. A local game disc image supplied the models, textures, skeletons, and animations. An extractor built around Ploajās HSDLib read the gameās asset files on my Mac and converted them into data Unity could load.[4] The app then placed the characters at their recorded positions and played the corresponding animations.
This is where the decomp helped directly. An action-state number in a replay has to become the right animation on the right character. I derived those mappings from the decompiled common, Fox, and Marth motion-state tables. Later, when something looked wrong, the source gave me places to investigate: animation timing, model visibility, sword trails, and Foxās special moves.[5]
The first version rendered that reconstructed scene in Unity. The match followed the replay, so I could change my view but not what the fighters did. It wasnāt running the full Melee engine. That distinction became more interesting once I started adding live battles.

A frame from the first recording. The early stage floated in the room; fitting it to actual furniture came next.
The first build had the characters moving around the stage, but it was silent and missing a lot of what makes a hit feel like a hit. My feedback was essentially: good start, where are the sounds and all the effects? I added Marthās sword trails, Foxās lasers and special-move effects, hit flashes, landing particles, and the animated stage background. For audio, I rendered the same replay through Slippi Playback on the Mac and brought its game soundtrack into the viewer.[6]
Once those pieces were together, I could pause, scrub through the match, slow it down, or change between tabletop, ringside, and on-stage views. A move I would normally watch from the gameās camera could happen right in front of me, with my kitchen still visible behind it.
The replies became the next build
People immediately started suggesting where theyād put it: a coffee table, a shelf, a tournament setup. Several wanted to know how to try it. Others pointed out the audio sync. I liked how quickly the feedback moved from the novelty of seeing Melee in a room to the practical question of where the stage should sit.
That exposed the difference between placing an object somewhere in space and making it belong in a room. I added placement using the Questās scanned room surfaces through Metaās Mixed Reality Utility Kit.[7] The app now selects the closest suitable table, fits the stage to its bounds, and lets me cycle through tables or reposition it with a pinch and drag. Even āclosest tableā needed care: the near edge of a long counter can be closer than the center of a small table across the room.
I posted another clip on September 8 showing the tabletop stage, dragging it around, and switching between MR and VR views. This was the next version people could actually see, with changes prompted by the first videoās replies.
More footage of Super Smash Bros in MR and VR with the Meta Quest!
ā Kevin Tang (@_KevinTang) September 8, 2026
Tabletop stage, dragging stage around, changing views.
What do you want to see? https://t.co/OJdCl7FbZu pic.twitter.com/Xs3gwyWDTS
There was also a mysterious cylinder sticking through the stage in the VR views. It turned out to be part of Final Destinationās surrounding background, accidentally shrunk to four percent of its intended scale. A tunnel meant to surround the arena had become an obstruction inside it. Restoring its scale fixed the cylinder. Changing the camera makes some very strange mistakes impossible to miss.
The audio complaint took more investigation. I wasnāt hearing the lag while wearing the headset, but the native recordings showed audio arriving roughly 140 milliseconds late. I tested audio timing and compared recordings; the captured offset persisted even with a different audio-output path. I could correct the exported video by shifting its audio, but the recording issue remains something to investigate. A clip needs its own check, because thatās the version everyone else gets to experience.
Then I asked to be one of the fighters
Once I could stand beside the match, I wanted to try the fighterās perspective. I knew it might get dizzy quickly, but I wanted to see it anyway. I added three versions: a steadier camera that follows the fighter while keeping the horizon level, a raw version that follows the animated head, and a slow-motion version. I can briefly enter that view and return to the spectator camera.
That evening I posted the fighter-POV experiment too. The follow-ups were getting less attention than the first clip, but they gave me a reason to keep trying things and showing what changed.
Super Smash Bros Melee in first person POV. On the Meta Quest.
ā Kevin Tang (@_KevinTang) September 9, 2026
This game is now fully decompiled so you can now play around with it fully. https://t.co/RuPh2aMDNd pic.twitter.com/FYYks2M2Dq
Then I noticed that the camera wasnāt turning when the character faced the other direction. That seemed like an obvious thing to fix, so I asked for it. I added the turns. It was way too jerky, and I asked to revert it.
I think that was the most useful experiment of the whole build. A fighter reversing direction is ordinary Melee movement. Having the view reverse around my head is a much bigger event. The steadier mode now keeps its initial heading and lets me look around for myself. I still want to explore the perspective, but faithfully following every turn made it harder to watch.
This was also a very concrete version of verification being the bottleneck. An agent can build a camera that follows a character, run checks on its transforms, and show me rendered frames. I still have to put the headset on to find out whether I want that camera attached to my face.
The table became the stage
Watching the replay made me want the fighters to react to the room. I added a separate Furniture Battle mode, where bots fight on the actual tabletop instead of replaying a recorded match. Fox and Marth were joined by Falco and Captain Falcon in a four-way fight, with stocks, respawns, ledge hangs, and signature moves like Falcon Punch.
Super Smash Bros Melee in MR.
ā Kevin Tang (@_KevinTang) September 9, 2026
Where the players fight on your own table as a platform. Even hang off the table!
On the Meta Quest. https://t.co/gCGBuDCJPP
The first pass looked promising, but its moves and sounds felt generic. I asked the agents to use the original attack data, animations, voices, and sound effects. That made a much bigger difference than adding another visual effect. I wanted to recognize the game in the way the fighters moved and hit each other.

The furniture battle uses the table itself as the arena. Watch this version.
I kept changing what counted as a platform. A marked book could provide somewhere to land. I added a laptop mode so lifting and tilting the keyboard deck moved the fight surface. That exposed another problem: if the fighters drifted onto different planes, they could be standing near each other and still miss every attack. I had to keep the fight on a shared plane as the surface moved.
Then I tried coasters. The app detects their shapes and turns them into raised platforms, so moving the real objects rearranges the arena. I added tracking for movement, rotation, and overlap; it remains a prototype for this particular kind of object. A scanned table and a coaster sliding under my hand are very different tracking problems.
Smash Bros Melee in MR.
ā Kevin Tang (@_KevinTang) September 10, 2026
Your players fight on your coffee table. Add coasters to shape the battlefield.
Giving Smash 64 vibes! Action figures on a desk. https://t.co/pUqlK8Ql83
Becoming Master Hand
I also wanted to reach into the fight. I put the original Master Hand glove over my tracked hands, then added grabbing: pinch near a fighter, pick it up, move it around, and throw it back into the match.

Holding Marth over the coaster arena. Watch the hand and coaster demo.
Super Smash Bros Melee in mixed reality.
ā Kevin Tang (@_KevinTang) September 9, 2026
Playing on my coffee table.
Hang off the ledge, fall off the edge, or get flung by Master Hand!
Just 2 days after the full decompilation! https://t.co/FMwAcsjZqV
Getting the glove right took several attempts. At one point it was too small and its fingers were mangled; after that, the fingertips bent away from my palm. The model was the original asset, but fitting it to my hands still needed work. Eventually I had a glove I liked looking at while I grabbed the fighters.
Grabbing led to recognizable Master Hand attacks: finger shots, a palm slap, and a flying hand. The gestures trigger custom attacks using original assets and animation clips. I could watch four bots fight, then interfere with my own hands.
A fly brain, then a controller
One of the stranger suggestions was to let fruit-fly brain models control the fighters. I made it a separate Fox-versus-Falco mode, with two glowing neural displays hovering behind the arena. A local worker simulates two instances of a model built from the male fruit-fly connectome, and an adapter turns its outputs into game controls.[9]
The wiring comes from a real reconstruction; the simulated dynamics and control mapping are choices I made for the experiment. The watchable version also uses explicit combat assistance for facing and spacing. I havenāt taught a fly to play Melee, but I can watch modeled neural activity influence a fight on my table. Hereās the footage.
Fly brains playing Smash Bros Melee in MR.
ā Kevin Tang (@_KevinTang) September 10, 2026
In the past week, the fruit fly brain was fully mapped AND Super Smash Bros Melee was fully decompiled.
The fly brains are running on my Mac Studio. The game is running on my Meta Quest. The players are running on my coffee table! https://t.co/17E9lDUGsl
By September 16, I had also added a mode where I could pick one of the four fighters and use a DualSense against the other three bots. This is a custom combat sandbox using Meleeās assets and move data, with a subset of its mechanics. The replay viewer still follows the recorded match; controller play runs separately. Watch the controller demo.
Playing Super Smash Bros Melee in VR with a controller.
ā Kevin Tang (@_KevinTang) September 16, 2026
Now I have my Dualsense game controller hooked up to my Meta Quest 3 so that I can play myself!
Iām Fox in the video. I never said I was good at this gameš https://t.co/HWnlU5v2aZ
Once the controller worked, I found another consequence of being able to walk around the game: left and right felt reversed when I watched from the opposite side of the table. I added movement and attack directions relative to my view. A fixed game camera had quietly been doing more work than I appreciated.
The decompilation community, Slippi, and the asset-tool authors supplied the foundations for this project. My experiment was to use those foundations, with AI coding agents, to try a way of watching that I could describe much faster than I could implement myself. The game data stays local. It is still a prototype, but it has grown from one replay into several ways to watch, manipulate, and play with the same characters.
Iād still like a replay library I can browse and watch with someone elseāpause a scramble, walk around it, then let it continue. But I also like how far the project wandered from that first idea. I started by putting a match in my room. A few days later I was picking up Marth with a giant glove and moving coasters around to change where the fighters could land.
Citations
[1] Melee progress tracker (checked September 9, 2026) and the project's explanation of matching decompilation. ā©
[2] doldecomp/melee README: what can be done after decompiling Melee. The build targets US version 1.02; portability is a separate project. ā©
[3] Slippi tournament replays and slippi-js. This prototype uses Game_20210718T092921.slp from the Summit 11 bundle. The older replay lacks player tags; I identified the matchup from the archive's set sequence and outcome. ā©
[4] Ploaj's HSDLib, whose HSDRaw code is used in the offline extractor. melee-blender also served as an initial pipeline reference. ā©
[5] Pinned decompilation sources: common motion states, Fox, and Marth. ā©
[6] Slippi Playback 3.5.2, used locally to render music, voices, and sound effects from the same disc image and replay. ā©
[7] Meta MRUK: managing and querying scene data. ā©
[8] Project descriptions checked October 6, 2026: OpenIW4, IW4L, Halo 3 Delta debug recompilation (March 2007 build), and Halo: Combat Evolved decompilation research. Recompilation translates compiled code to another target; it is distinct from reconstructing matching source. ā©
[9] Google Research: mapping the complete male fruit-fly brain. This is the wiring dataset behind the experiment, not a claim that it supplies a biologically faithful simulation or a trained game-playing agent. ā©
On September 7, I saw that Super Smash Bros. Melee's decompilation had reached 100%. By that night, I was wearing a Meta Quest and watching Fox and Marth fight in my apartment. I posted a screen recording, and within a couple of days it had passed a hundred thousand views.
The part I wanted to build was pretty simple to describe: take a real Melee match, put the stage in my room, and let me watch it from wherever I wanted. A little tournament on the table. Or make it huge and let me stand beside the fighters. I've watched games through a screen my whole life; I wanted to see what happened when I could move around one.

A later version of the experiment: Fox and Marth fighting over my table. [Watch the demo on YouTube](https://www.youtube.com/watch?v=n2nm0nV5cPI).
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Now Iām watching Smash Bros Melee with my Meta Quest in MR. Testing out Astra.<br><br>Crazy to see games of my childhood being decompiled. <a href="https://t.co/RuPh2aMDNd">https://t.co/RuPh2aMDNd</a> <a href="https://t.co/fcJt1JVg8G">pic.twitter.com/fcJt1JVg8G</a></p>— Kevin Tang (@_KevinTang) <a href="https://x.com/_KevinTang/status/2097213242326286511?ref_src=twsrc%5Etfw">September 8, 2026</a></blockquote>
<script async src="https://platform.x.com/widgets.js" charset="utf-8"></script>
## What the 100% means
When I checked the [Melee decompilation tracker](https://decomp.dev/doldecomp/melee) in September, it read 100%, fully linked. The community has reconstructed C code that compiles to match the game's original PowerPC assembly. That's a much stricter target than writing a game that looks or behaves similarly: the compiled instructions themselves have to match.<sup><a href="#cite-1" id="ref-1">[1]</a></sup>
That gives people a way to read, study, and modify the machinery inside a game from 2001. It doesn't recover all the original variable names or comments, and the resulting project still targets the GameCube. A native port requires more workāthe decomp's own README says so.<sup><a href="#cite-2" id="ref-2">[2]</a></sup>
For my project, the milestone was the reason to start looking. Much of the work I ended up using already existed before the counter reached 100%. Slippi had the replays, modding tools could read the assets, and the decomp had readable tables and functions to consult. The interesting opportunity was connecting those pieces to a different kind of display.
I've also been looking at what people are doing with other games from that era. Modern Warfare 2 has projects such as OpenIW4, which reconstructs engine functions, and IW4L, an experimental replacement runtime that loads the original game's assets. Halo 3 has recompilation work targeting a 2007 pre-release build; Halo: Combat Evolved has a separate decompilation research project. These efforts have different goals and levels of completion, but they make me wonder what else I could do with games I grew up playing once their internals become accessible.<sup><a href="#cite-8" id="ref-8">[8]</a></sup>
## Getting the match into the headset
I started by brainstorming with Claude. It suggested mods, physics visualizations, analysis tools, and a VR replay spectator. That last one was the one I wanted to see. I took the conversation into Codex, using Astra, and asked it to build the Quest app. The agents did the bulk of the implementation; I picked the direction, tried the builds in the headset, and kept pointing out what looked or felt wrong.
The scope was one match: Mango's Fox against Zain's Marth on Final Destination, from the Smash Summit 11 replay archive. I wanted something recognizable, and people in the replies recognized it. Slippi publishes tournament replay bundles, and its parser exposes the recorded frame data I needed to drive the scene.<sup><a href="#cite-3" id="ref-3">[3]</a></sup>
There were two inputs to bring together. The replay supplied the fighters' positions, facing directions, and action states over time. A local game disc image supplied the models, textures, skeletons, and animations. An extractor built around Ploaj's HSDLib read the game's asset files on my Mac and converted them into data Unity could load.<sup><a href="#cite-4" id="ref-4">[4]</a></sup> The app then placed the characters at their recorded positions and played the corresponding animations.
This is where the decomp helped directly. An action-state number in a replay has to become the right animation on the right character. I derived those mappings from the decompiled common, Fox, and Marth motion-state tables. Later, when something looked wrong, the source gave me places to investigate: animation timing, model visibility, sword trails, and Fox's special moves.<sup><a href="#cite-5" id="ref-5">[5]</a></sup>
The first version rendered that reconstructed scene in Unity. The match followed the replay, so I could change my view but not what the fighters did. It wasn't running the full Melee engine. That distinction became more interesting once I started adding live battles.

A frame from the first recording. The early stage floated in the room; fitting it to actual furniture came next.
The first build had the characters moving around the stage, but it was silent and missing a lot of what makes a hit feel like a hit. My feedback was essentially: good start, where are the sounds and all the effects? I added Marth's sword trails, Fox's lasers and special-move effects, hit flashes, landing particles, and the animated stage background. For audio, I rendered the same replay through Slippi Playback on the Mac and brought its game soundtrack into the viewer.<sup><a href="#cite-6" id="ref-6">[6]</a></sup>
Once those pieces were together, I could pause, scrub through the match, slow it down, or change between tabletop, ringside, and on-stage views. A move I would normally watch from the game's camera could happen right in front of me, with my kitchen still visible behind it.
## The replies became the next build
People immediately started suggesting where they'd put it: a coffee table, a shelf, a tournament setup. Several wanted to know how to try it. Others pointed out the audio sync. I liked how quickly the feedback moved from the novelty of seeing Melee in a room to the practical question of where the stage should sit.
That exposed the difference between placing an object somewhere in space and making it belong in a room. I added placement using the Quest's scanned room surfaces through Meta's Mixed Reality Utility Kit.<sup><a href="#cite-7" id="ref-7">[7]</a></sup> The app now selects the closest suitable table, fits the stage to its bounds, and lets me cycle through tables or reposition it with a pinch and drag. Even āclosest tableā needed care: the near edge of a long counter can be closer than the center of a small table across the room.
I posted another clip on September 8 showing the tabletop stage, dragging it around, and switching between MR and VR views. This was the next version people could actually see, with changes prompted by the first video's replies.
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">More footage of Super Smash Bros in MR and VR with the Meta Quest!<br><br>Tabletop stage, dragging stage around, changing views.<br><br>What do you want to see? <a href="https://t.co/OJdCl7FbZu">https://t.co/OJdCl7FbZu</a> <a href="https://t.co/Xs3gwyWDTS">pic.twitter.com/Xs3gwyWDTS</a></p>— Kevin Tang (@_KevinTang) <a href="https://x.com/_KevinTang/status/2097413342520639739?ref_src=twsrc%5Etfw">September 8, 2026</a></blockquote>
<script async src="https://platform.x.com/widgets.js" charset="utf-8"></script>
There was also a mysterious cylinder sticking through the stage in the VR views. It turned out to be part of Final Destination's surrounding background, accidentally shrunk to four percent of its intended scale. A tunnel meant to surround the arena had become an obstruction inside it. Restoring its scale fixed the cylinder. Changing the camera makes some very strange mistakes impossible to miss.
The audio complaint took more investigation. I wasn't hearing the lag while wearing the headset, but the native recordings showed audio arriving roughly 140 milliseconds late. I tested audio timing and compared recordings; the captured offset persisted even with a different audio-output path. I could correct the exported video by shifting its audio, but the recording issue remains something to investigate. A clip needs its own check, because that's the version everyone else gets to experience.
## Then I asked to be one of the fighters
Once I could stand beside the match, I wanted to try the fighter's perspective. I knew it might get dizzy quickly, but I wanted to see it anyway. I added three versions: a steadier camera that follows the fighter while keeping the horizon level, a raw version that follows the animated head, and a slow-motion version. I can briefly enter that view and return to the spectator camera.
That evening I posted the fighter-POV experiment too. The follow-ups were getting less attention than the first clip, but they gave me a reason to keep trying things and showing what changed.
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Super Smash Bros Melee in first person POV. On the Meta Quest.<br><br>This game is now fully decompiled so you can now play around with it fully. <a href="https://t.co/RuPh2aMDNd">https://t.co/RuPh2aMDNd</a> <a href="https://t.co/FYYks2M2Dq">pic.twitter.com/FYYks2M2Dq</a></p>— Kevin Tang (@_KevinTang) <a href="https://x.com/_KevinTang/status/2097520225822679285?ref_src=twsrc%5Etfw">September 9, 2026</a></blockquote>
<script async src="https://platform.x.com/widgets.js" charset="utf-8"></script>
Then I noticed that the camera wasn't turning when the character faced the other direction. That seemed like an obvious thing to fix, so I asked for it. I added the turns. It was way too jerky, and I asked to revert it.
I think that was the most useful experiment of the whole build. A fighter reversing direction is ordinary Melee movement. Having the view reverse around my head is a much bigger event. The steadier mode now keeps its initial heading and lets me look around for myself. I still want to explore the perspective, but faithfully following every turn made it harder to watch.
This was also a very concrete version of [verification being the bottleneck](/verification-is-the-bottleneck.md). An agent can build a camera that follows a character, run checks on its transforms, and show me rendered frames. I still have to put the headset on to find out whether I want that camera attached to my face.
## The table became the stage
Watching the replay made me want the fighters to react to the room. I added a separate Furniture Battle mode, where bots fight on the actual tabletop instead of replaying a recorded match. Fox and Marth were joined by Falco and Captain Falcon in a four-way fight, with stocks, respawns, ledge hangs, and signature moves like Falcon Punch.
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Super Smash Bros Melee in MR.<br><br>Where the players fight on your own table as a platform. Even hang off the table!<br><br>On the Meta Quest. https://t.co/gCGBuDCJPP</p>— Kevin Tang (@_KevinTang) <a href="https://x.com/_KevinTang/status/2097819988786864509">September 9, 2026</a></blockquote>
The first pass looked promising, but its moves and sounds felt generic. I asked the agents to use the original attack data, animations, voices, and sound effects. That made a much bigger difference than adding another visual effect. I wanted to recognize the game in the way the fighters moved and hit each other.

The furniture battle uses the table itself as the arena. [Watch this version](https://www.youtube.com/watch?v=fFu1NgrXtRA).
I kept changing what counted as a platform. A marked book could provide somewhere to land. I added a laptop mode so lifting and tilting the keyboard deck moved the fight surface. That exposed another problem: if the fighters drifted onto different planes, they could be standing near each other and still miss every attack. I had to keep the fight on a shared plane as the surface moved.
Then I tried coasters. The app detects their shapes and turns them into raised platforms, so moving the real objects rearranges the arena. I added tracking for movement, rotation, and overlap; it remains a prototype for this particular kind of object. A scanned table and a coaster sliding under my hand are very different tracking problems.
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Smash Bros Melee in MR.<br><br>Your players fight on your coffee table. Add coasters to shape the battlefield.<br><br>Giving Smash 64 vibes! Action figures on a desk. https://t.co/pUqlK8Ql83</p>— Kevin Tang (@_KevinTang) <a href="https://x.com/_KevinTang/status/2098154213696249912">September 10, 2026</a></blockquote>
## Becoming Master Hand
I also wanted to reach into the fight. I put the original Master Hand glove over my tracked hands, then added grabbing: pinch near a fighter, pick it up, move it around, and throw it back into the match.

Holding Marth over the coaster arena. [Watch the hand and coaster demo](https://www.youtube.com/watch?v=e90HqHi5cx8).
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Super Smash Bros Melee in mixed reality.<br><br>Playing on my coffee table.<br><br>Hang off the ledge, fall off the edge, or get flung by Master Hand!<br><br>Just 2 days after the full decompilation! https://t.co/FMwAcsjZqV</p>— Kevin Tang (@_KevinTang) <a href="https://x.com/_KevinTang/status/2097894412840034372">September 9, 2026</a></blockquote>
Getting the glove right took several attempts. At one point it was too small and its fingers were mangled; after that, the fingertips bent away from my palm. The model was the original asset, but fitting it to my hands still needed work. Eventually I had a glove I liked looking at while I grabbed the fighters.
Grabbing led to recognizable Master Hand attacks: finger shots, a palm slap, and a flying hand. The gestures trigger custom attacks using original assets and animation clips. I could watch four bots fight, then interfere with my own hands.
## A fly brain, then a controller
One of the stranger suggestions was to let fruit-fly brain models control the fighters. I made it a separate Fox-versus-Falco mode, with two glowing neural displays hovering behind the arena. A local worker simulates two instances of a model built from the male fruit-fly connectome, and an adapter turns its outputs into game controls.<sup><a href="#cite-9" id="ref-9">[9]</a></sup>
The wiring comes from a real reconstruction; the simulated dynamics and control mapping are choices I made for the experiment. The watchable version also uses explicit combat assistance for facing and spacing. I haven't taught a fly to play Melee, but I can watch modeled neural activity influence a fight on my table. [Here's the footage](https://www.youtube.com/watch?v=ejJdPY7Elzw).
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Fly brains playing Smash Bros Melee in MR.<br><br>In the past week, the fruit fly brain was fully mapped AND Super Smash Bros Melee was fully decompiled.<br><br>The fly brains are running on my Mac Studio. The game is running on my Meta Quest. The players are running on my coffee table! https://t.co/17E9lDUGsl</p>— Kevin Tang (@_KevinTang) <a href="https://x.com/_KevinTang/status/2098170205092597966">September 10, 2026</a></blockquote>
By September 16, I had also added a mode where I could pick one of the four fighters and use a DualSense against the other three bots. This is a custom combat sandbox using Melee's assets and move data, with a subset of its mechanics. The replay viewer still follows the recorded match; controller play runs separately. [Watch the controller demo](https://www.youtube.com/watch?v=LW1vz4Vv2Ik).
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Playing Super Smash Bros Melee in VR with a controller.<br><br>Now I have my Dualsense game controller hooked up to my Meta Quest 3 so that I can play myself!<br><br>Iām Fox in the video. I never said I was good at this gameš https://t.co/HWnlU5v2aZ</p>— Kevin Tang (@_KevinTang) <a href="https://x.com/_KevinTang/status/2100373258243903637">September 16, 2026</a></blockquote>
Once the controller worked, I found another consequence of being able to walk around the game: left and right felt reversed when I watched from the opposite side of the table. I added movement and attack directions relative to my view. A fixed game camera had quietly been doing more work than I appreciated.
The decompilation community, Slippi, and the asset-tool authors supplied the foundations for this project. My experiment was to use those foundations, with AI coding agents, to try a way of watching that I could describe much faster than I could implement myself. The game data stays local. It is still a prototype, but it has grown from one replay into several ways to watch, manipulate, and play with the same characters.
I'd still like a replay library I can browse and watch with someone elseāpause a scramble, walk around it, then let it continue. But I also like how far the project wandered from that first idea. I started by putting a match in my room. A few days later I was picking up Marth with a giant glove and moving coasters around to change where the fighters could land.
## Citations
<p id="cite-1">[1] <a href="https://decomp.dev/doldecomp/melee">Melee progress tracker</a> (checked September 9, 2026) and <a href="https://doldecomp.github.io/melee/getting_started.html">the project's explanation of matching decompilation</a>. <a href="#ref-1">ā©</a></p>
<p id="cite-2">[2] <a href="https://github.com/doldecomp/melee#what-can-be-done-after-decompiling-melee">doldecomp/melee README: what can be done after decompiling Melee</a>. The build targets US version 1.02; portability is a separate project. <a href="#ref-2">ā©</a></p>
<p id="cite-3">[3] <a href="https://slippi.gg/tournaments">Slippi tournament replays</a> and <a href="https://github.com/project-slippi/slippi-js">slippi-js</a>. This prototype uses <code>Game_20210718T092921.slp</code> from the Summit 11 bundle. The older replay lacks player tags; I identified the matchup from the archive's set sequence and outcome. <a href="#ref-3">ā©</a></p>
<p id="cite-4">[4] <a href="https://github.com/Ploaj/HSDLib">Ploaj's HSDLib</a>, whose HSDRaw code is used in the offline extractor. <a href="https://github.com/visgotti/melee-blender">melee-blender</a> also served as an initial pipeline reference. <a href="#ref-4">ā©</a></p>
<p id="cite-5">[5] Pinned decompilation sources: <a href="https://github.com/doldecomp/melee/blob/e22046132cd38ec349395a76da3a6cf44d515666/src/melee/ft/ftmotionstates.c">common motion states</a>, <a href="https://github.com/doldecomp/melee/blob/e22046132cd38ec349395a76da3a6cf44d515666/src/melee/ft/kinds/ftFox/ftfox.c">Fox</a>, and <a href="https://github.com/doldecomp/melee/blob/e22046132cd38ec349395a76da3a6cf44d515666/src/melee/ft/kinds/ftMars/ftmars.c">Marth</a>. <a href="#ref-5">ā©</a></p>
<p id="cite-6">[6] <a href="https://github.com/project-slippi/Ishiiruka-Playback/releases/tag/v3.5.2">Slippi Playback 3.5.2</a>, used locally to render music, voices, and sound effects from the same disc image and replay. <a href="#ref-6">ā©</a></p>
<p id="cite-7">[7] <a href="https://developers.meta.com/horizon/documentation/unity/unity-mr-utility-kit-manage-scene-data/">Meta MRUK: managing and querying scene data</a>. <a href="#ref-7">ā©</a></p>
<p id="cite-8">[8] Project descriptions checked October 6, 2026: <a href="https://github.com/OpenIW4/OpenIW4">OpenIW4</a>, <a href="https://github.com/vladtrc/iw4L">IW4L</a>, <a href="https://github.com/twist84/halo3_cache_debug_recomp">Halo 3 Delta debug recompilation</a> (March 2007 build), and <a href="https://github.com/halo-re/halo">Halo: Combat Evolved decompilation research</a>. Recompilation translates compiled code to another target; it is distinct from reconstructing matching source. <a href="#ref-8">ā©</a></p>
<p id="cite-9">[9] <a href="https://www.research.google/blog/a-connectomics-milestone-mapping-the-complete-male-fruit-fly-brain/">Google Research: mapping the complete male fruit-fly brain</a>. This is the wiring dataset behind the experiment, not a claim that it supplies a biologically faithful simulation or a trained game-playing agent. <a href="#ref-9">ā©</a></p>