Source port

A source port is a project that uses the source code of a game engine to make games run on different operating systems or platforms.

Description
Source ports are not official but use officially released source code. If this is not available, the developers try to turn the game into source code again. Most source ports require the user to provide files from the game.

The phrase "source port" was created after Doom's source code was released. Only the Linux version of this was released because the creators of the DOS version's sound library would not have allowed it. Because most players of Doom were using DOS, the first source port of the game (DOSDoom) was made for DOS.

Many source ports improve the original game. They can add support for higher display resolutions, new aspect ratios, hardware acceleration, more input devices, 3D character models (for 2.5D games), more detailed textures, digital audio (e.g. MP3) where MIDI is used, online multiplayer and more.

For online multiplayer, some older games use obsolete protocols, such as IPX, or need users to know the IP address of other players. Because of this, some source ports, like Skulltag, use "lobbies" to make it easier to play with anyone, as players can say which games they are hosting or joining. Some newer games and services such as Valve's Steam, Blizzard's battle.net and GameSpy Arcade also have lobbies as an option.

Alternatives
If the source code of a software is not available, emulation, remakes or static recompilation can also be used.

Notable source ports
 Original name  Port Aliens versus Predator  icculus.org/avpArx Fatalis  Arx LibertatisBlake Stone: Aliens of Gold /Blake Stone: Planet Strike  BStone, Blake4SDLBlood  BloodGDX, NBlood, RazeCarmageddon  DethraceCatacomb  CatacombSDLCatacomb 3D  Reflection Keen, CatacombGLCall to Power II  Apolyton Civilization Site: Call to Power II: Source Code ProjectCommander Keen  Commander GeniusDescent /Descent II  DXX-Rebirth, D2X-XL, DXX-RetroDiablo/Diablo: Hellfire  DevilutionX, Diablo 1 Mod (Belzebub)Doom/Doom II  PrBoom, ZDoom, Chocolate Doom, etc.Doom 64  Doom64EX, Doom64Ex+Doom 3  dhewm3, RBDOOM-3-BFGDuke Nukem II  Rigel EngineDuke Nukem 3D  EDuke32, DukeGDX, JFDuke3D, Rancidmeat Port, xDuke Port, nDuke Port, hDuke Port, Rednukem, RazeFreeSpace 2  FreeSpace 2 Source Code ProjectGloom  ZGloomHeretic  Chocolate Heretic, ZDoom, Doomsday, GLHeretic for Linux, Heretic for Linux, HHereticHexen  Chocolate Hexen, ZDoom, Doomsday, GLHexen, HHexen, WinHexenHexen II  jsHexen 2, UQE Hexen 2, Hammer of ThyrionHomeworld  Homeworld SDLKen's Labyrinth  LAB3D/SDLJagged Alliance 2 Wildfire  Stracciatella/SDLThe Legend of Zelda: Ocarina of Time  Ship of HarkinianMarathon 2 Aleph One, Aleph One/SDLMyth II  Project MagmaPowerSlave  PowerSlaveGDX, PCExhumed, PowerSlaveEX, ExhumedEX-PlusQuake  QuakeSpasm, QuakeDS, DarkPlaces, FitzQuake, GLQuake, Project: Twilight, Telejano, Tenebrae, WinQuake, QuakeWorld, ezQuake, fodQuake, FreeQuake, vkQuakeQuake II  vkQuake2, KMQuake II, q^2, Q2PRO, Yamagi Quake IIQuake III ioquake3, Quake3e, OpenMoHAA, Q3Base, Quake III: Arena for FreeBSD, SpearmintQuake 4 Quake4Doom, gbQuake4Redneck Rampage  RedneckGDX, Rednukem, RazeReturn to Castle Wolfenstein  iortcwRise of the Triad  WinROTT, GLROTT, icculus, rottexpr, NakedTriadSavage: The Battle for Newerth  Savage: RebirthSerious Sam: The First Encounter /Serious Sam: The Second Encounter  icculus, Ray-Traced, Serious Sam Classic, Serious Sam EvolutionShadow Warrior  JFShadowWarrior, SWP, VoidSW, Raze, WangGDXSimCity  MicropolisSpelunky  Spelunky ClassicHDSpelunkyClassicHD on github.comStar Control II  The Ur-Quan MastersStar Trek: Voyager – Elite Force (Holomatch)  iostvoyHM, cMod, Lilium VoyagerStar Wars: Dark Forces  The Force EngineStar Wars Jedi Knight: Dark Forces II /Star Wars Jedi Knight: Mysteries of the Sith  OpenJKDF2Star Wars Jedi Knight II: Jedi Outcast /Star Wars Jedi Knight: Jedi Academy  OpenJKStrife  Chocolate Strife, VavoomSuper 3D Noah's Ark  ECWolfSuper Mario 64  Super Mario 64 PC PortSystem Shock  ShockolateSystem Shock 2 /NewDark /Thief: The Dark Project /Thief II: The Metal Age  NewDarkTomb Raider  OpenTomb, OpenCroft, OpenLara, CroftEngine, TR1X'Tyrian || OpenTyrian
|-
|Warzone 2100 || Warzone Resurrection
|-
|William Shatner's TekWar || BuildGDX, JFTekWar
|-
|Witchaven || BuildGDX, JFWitchaven
|-
|Wolfenstein 3D || ECWolf, NewWolf, Wolf4SDL, Wolfenstein 3-D Redux, WolfGL, WolfGL-3D
|-
|Wolfenstein: Enemy Territory''  ioWolfET, ET: Legacy

See also
Fork (software development)

References

Category:Game engines