FANGAMESDB

Recomp vs decomp vs fan remake: what's the difference?

How classic games end up running natively on PCs and handhelds, and what each kind of project needs from you.

Every project on FanGamesDB is one of seven kinds. They differ in how they were made, how faithful they are, and whether you need your own copy of the original game.

KindWhat it isYour own copy?Example
RecompilationThe original machine code, automatically translated into a native PC programYesZelda 64: Recompiled
Decompilation portHand-rebuilt source code, compiled for PC and extendedYesShip of Harkinian
Fan remakeA new game that recreates an original from scratchUsually notRayman Redemption
Fan gameA new game set in an existing seriesNoPokémon Reborn
Source portA rewritten or open-sourced engine that runs the original game's dataUsuallyOpenRCT2
ROM hackA patch that modifies the original gameYesPokémon Unbound
Total conversionA free mod that turns a PC game into a new oneYes, the base gameFallout: London

Static recompilation

A recompiler reads the original game's machine code — MIPS for the N64 and PS1, PowerPC for the Xbox 360 and GameCube, ARM for the Game Boy Advance — and translates it ahead of time into C or C++ that compiles into a normal PC program. Because the translation is mechanical, a game can go from start to playable much faster than a decompilation, and it behaves exactly like the original. Projects then add widescreen, high frame rates and mod support on top. Toolkits include N64Recomp, XenonRecomp and ReXGlue (Xbox 360), and the gbarecomp, psxrecomp and nesrecomp family. You supply the game data from your own copy.

Decompilation ports

In a decompilation, people rewrite the game's code by hand as readable C until it compiles back into an identical copy of the original. That takes years, but the result is source code anyone can understand and change — which is why decomp-based ports such as Ship of Harkinian, Dusklight and OpenGOAL have the deepest mods, randomizers and enhancements. Assets still come from your own copy of the game.

Fan remakes and fan games

A fan remake rebuilds an existing game from scratch, usually in a modern engine, often adding levels and fixes — Rayman Redemption remakes the 1995 Rayman. A fan game is a new adventure set in an existing series, like Pokémon Reborn. Both are standalone downloads: no original copy needed (Gen1Recomp is an exception — it is a hand-written recreation that decodes data from your own ROM).

Source ports and engine remakes

A source port takes a game engine — either rebuilt from scratch, recreated from a disassembly, or based on source code the developer released — and runs the original game's data on modern systems. OpenRCT2 (RollerCoaster Tycoon 2), OpenMW (Morrowind) and dhewm3 (Doom 3) are examples. Most need data files from your own copy; a few games were released as freeware, so their ports include everything.

ROM hacks

A ROM hack is distributed as a patch you apply to your own copy of the original game, which then runs in an emulator. Pokémon Unbound, for example, patches Pokémon FireRed.

Total conversions

A total conversion is a free mod that replaces so much of a PC game — story, maps, characters — that it becomes a new game. You still need the original installed: it is a mod, not a standalone release.

Is a recomp better than emulation?

For a single game, often yes: it runs natively, uses less power — useful on handhelds — and can add features an emulator can't, such as true widescreen or unlocked frame rates. The trade-off is scope: each project covers one game, while an emulator plays a whole library.

Where do the files come from?

The projects distribute their own code, never the original game's assets; ports and ROM hacks ask you to supply data from a copy you own. FanGamesDB hosts no files at all — it links to each project's own page. Browse all 157 projects.