# Port, recompilation, decompilation or emulator: what can you actually play?

Canonical: https://playable.wtf/guides/ports-decompilations-emulators-explained/

Written: 2026-10-17

The project label explains how a game was adapted. The Play, Download or Build route tells you what you can do with it today. Check both before choosing a version.

## Read the launch route first

A **browser launch** opens a hosted client. A **native download** runs an application on your device. A **source build** requires development tools and may require a particular original executable. None of those labels alone tells you whether commercial game data is included.

Read the prerequisite beside the action. If a project asks for your own files, an open-source engine license does not supply the original artwork, sound or levels. A demo route may provide only a small portion of the game.

## Ports, decompilations and recompilations

A **port** adapts software to another platform. A browser port may compile an engine to WebAssembly and adapt its graphics, input and file handling to browser APIs. WebAssembly describes how code runs; it does not by itself mean “emulator.”

A **decompilation** reconstructs higher-level source from an existing program. The [Halo CE decompilation](https://playable.wtf/games/halo-ce-decompilation/) targets a particular debug executable. That source work is distinct from a hosted Halo client with its own launcher and support.

A **recompilation** translates game code for a different target. It can still need replacement system services, graphics translation and original assets. [Stunts HD](https://playable.wtf/games/stunts-hd-browser/), for example, translates your own Stunts 1.1 copy and supplies the runtime around it. The label does not guarantee every version or feature works.

## Emulation and reimplementation

An **emulator** reproduces enough of another machine or environment to run software made for it. A browser can host an emulator, but it can also run an engine adapted directly to the web. Hybrid approaches exist: a project may translate the CPU code while emulating or replacing other services.

A **reimplementation** builds a new implementation of existing behavior. [LBA Remake](https://playable.wtf/games/little-big-adventure-browser/) describes a re-engineered engine and an unfinished adventure. A **recreation** may reproduce selected mechanics or scenes instead of every system. Read the actual scope before expecting a full campaign.

A **remaster** usually describes changes to presentation or content, rather than one technical method. Better-looking footage cannot establish whether a project includes the complete game.

## Mashups and practical expectations

A **mashup** combines games or their mechanics. [SMC64](https://playable.wtf/games/kodyjking-smc64/) is a LibSM64 mod for Halo CE in the Steam Master Chief Collection. Its Mario connection does not make it a standalone Super Mario 64 browser port.

Before starting, answer three practical questions: which original game and edition does this project use, what files or tools does it need, and which modes does it actually provide? The [Skate comparison](https://playable.wtf/guides/skate-browser-vs-native-ports/) shows why similar names can lead to very different setups.

## Project reading

- [Emscripten · porting code to the web](https://emscripten.org/docs/porting/guidelines/portability_guidelines.html)
- [Halo CE · decompilation target and build](https://github.com/punpckhdq/halo#readme)
- [Stunts HD · recompilation and runtime](https://github.com/mr-finster/stunts-hd#readme)
- [LBA Remake · reimplementation goals](https://github.com/LBALab/lba2remake#readme)
- [SMC64 · MCC mod identity](https://github.com/KodyJKing/smc64#readme)
