Source port

Last updated

A source port is a software project based on the source code of a game engine that allows the game to be played on operating systems or computing platforms with which the game was not originally compatible.

Contents

Description

Source ports are often created by fans after the original developer hands over the maintenance support for a game by releasing its source code to the public (see List of commercial video games with later released source code). In some cases, the source code used to create a source port must be obtained through reverse engineering, in situations where the original source was never formally released by the game's developers. The term was coined after the release of the source code to Doom. Due to copyright issues concerning the sound library used by the original DOS version, id Software released only the source code to the Linux version of the game. [1] [2] Since the majority of Doom players were DOS users the first step for a fan project was to port the Linux source code to DOS. [3] A source port typically only includes the engine portion of the game and requires that the data files of the game in question already be present on users' systems.

Source ports share the similarity with unofficial patches that both don't change the original gameplay as such projects are by definition mods. However many source ports add support for gameplay mods, which is usually optional (e.g. DarkPlaces consists of a source port engine and a gameplay mod that are even distributed separately [4] ). While the primary goal of any source port is compatibility with newer hardware, many projects support other enhancements. Common examples of additions include support for higher video resolutions and different aspect ratios, hardware accelerated renderers (OpenGL and/or Direct3D), enhanced input support (including the ability to map controls onto additional input devices), 3D character models (in case of 2.5D games), higher resolution textures, support to replace MIDI with digital audio (MP3, Ogg Vorbis, etc.), and enhanced multiplayer support using the Internet.

Several source ports have been created for various games specifically to address online multiplayer support. Most older games were not created to take advantage of the Internet and the low latency, high bandwidth Internet connections available to computer gamers today. Furthermore, old games may use outdated network protocols to create multiplayer connections, such as IPX protocol, instead of Internet Protocol. Another problem was games that required a specific IP address for connecting with another player. This requirement made it difficult to quickly find a group of strangers to play with — the way that online games are most commonly played today. To address this shortcoming, specific source ports such as Skulltag added "lobbies", which are basically integrated chat rooms in which players can meet and post the location of games they are hosting or may wish to join. Similar facilities may be found in newer games and online game services such as Valve's Steam, Blizzard's battle.net, and GameSpy Arcade.

Alternatives

If the source code of a software is not available, alternative approaches to achieve portability are Emulation, Engine remakes, and Static recompilation.

Notable source ports

Original namePort
Aliens versus Predator icculus.org/avp
Arx Fatalis Arx Libertatis
Blake Stone: Aliens Of Gold BStone, Blake4SDL
Blake Stone: Planet Strike BStone, Blake4SDL
Blood BloodGDX, NBlood, Raze
Carmageddon Dethrace
Catacomb CatacombSDL
Catacomb 3D Reflection Keen, CatacombGL
Call to Power II Apolyton Civilization Site: Call to Power II: Source Code Project
Commander Keen Commander Genius
Descent/Descent II DXX-Rebirth, D2X-XL, DXX-Retro
Diablo/Hellfire Expansion DevilutionX, Diablo 1 Mod (Belzebub)
Doom/Doom II See List of Doom source ports for a detailed list.
Doom 64 Doom64EX, Doom64Ex+
Doom 3 dhewm3, RBDOOM-3-BFG
Duke Nukem II Rigel Engine [5]
Duke Nukem 3D EDuke32, DukeGDX, JFDuke3D, Rancidmeat Port, xDuke Port, nDuke Port, hDuke Port, Rednukem, Raze
FreeSpace 2 FreeSpace 2 Source Code Project
Gloom ZGloom
Heretic Chocolate Heretic, ZDoom, Doomsday, GLHeretic for Linux, Heretic for Linux, HHeretic
Hexen Chocolate Hexen, ZDoom, Doomsday, GLHexen, HHexen, WinHexen
Hexen II jsHexen 2, UQE Hexen 2, Hammer of Thyrion
Homeworld Homeworld SDL
Ken's Labyrinth LAB3D/SDL
Jagged Alliance 2 WildfireStracciatella/SDL
The Legend of Zelda: Ocarina of Time Ship of Harkinian
Marathon 2 Aleph One, Aleph One/SDL
Myth II Project Magma
PowerSlave PowerSlaveGDX, PCExhumed, PowerSlaveEX, ExhumedEX-Plus
Quake QuakeSpasm, QuakeDS, DarkPlaces, FitzQuake, GLQuake, Project: Twilight, Telejano, Tenebrae, WinQuake, QuakeWorld, ezQuake, fodQuake, FreeQuake, vkQuake
Quake II vkQuake2, KMQuake II, q^2, Q2PRO, Yamagi Quake II
Quake III ioquake3, Quake3e, OpenMoHAA, Q3Base, Quake III: Arena for FreeBSD, Spearmint
Quake 4 Quake4Doom, gbQuake4
Redneck Rampage RedneckGDX, Rednukem, Raze
Return to Castle Wolfenstein iortcw
Rise of the Triad WinROTT, GLROTT, icculus, rottexpr, NakedTriad
Savage: The Battle for Newerth Savage: Rebirth
Serious Sam: The First Encounter /
Serious Sam: The Second Encounter
icculus, [6] Ray-Traced, [7] Serious Sam Classic, Serious Sam Evolution
Shadow Warrior JFShadowWarrior, SWP, VoidSW, Raze, WangGDX
SimCity Micropolis
Spelunky Spelunky ClassicHD [8]
Star Control II The Ur-Quan Masters
Star Trek: Voyager – Elite Force (holomatch)iostvoyHM, [9] cMod, [10] Lilium Voyager [11]
Star Wars: Dark Forces The Force Engine [12]
Star Wars Jedi Knight: Dark Forces II /
Star Wars Jedi Knight: Mysteries of the Sith
OpenJKDF2 [13]
Star Wars Jedi Knight II: Jedi Outcast /
Star Wars Jedi Knight: Jedi Academy
OpenJK
Strife Chocolate Strife, Vavoom
Super 3D Noah's Ark ECWolf
Super Mario 64 Super Mario 64 PC Port
System Shock Shockolate [14] [15]
System Shock 2 NewDark
Thief: The Dark Project NewDark
Thief II: The Metal Age NewDark
Tomb Raider OpenTomb, [16] OpenCroft, OpenLara, [17] CroftEngine, TR1X [18]
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

Related Research Articles

<i>Quake II</i> 1997 video game

Quake II is a 1997 first-person shooter video game developed by id Software and published by Activision. It is the second installment of the Quake series, following Quake.

<i>Doom 3</i> 2004 video game

Doom 3 is a 2004 survival horror first-person shooter video game developed by id Software and published by Activision. Doom 3 was originally released for Microsoft Windows on August 3, 2004, adapted for Linux later that year, and ported by Aspyr Media for Mac OS X in 2005. Developer Vicarious Visions ported the game to the Xbox, releasing it worldwide on April 4, 2005.

Video game modding is the process of alteration by players or fans of one or more aspects of a video game, such as how it looks or behaves, and is a sub-discipline of general modding. Mods may range from small changes and tweaks to complete overhauls, and can extend the replay value and interest of the game.

<span class="mw-page-title-main">Build (game engine)</span> First-person shooter engine

The Build Engine is a first-person shooter engine created by Ken Silverman, author of Ken's Labyrinth, for 3D Realms. Like the Doom engine, the Build Engine represents its world on a two-dimensional grid using closed 2D shapes called sectors, and uses simple flat objects called sprites to populate the world geometry with objects.

<i>Quake</i> engine Video game engine developed by id Software

The Quake engine is the game engine developed by id Software to power their 1996 video game Quake. It featured true 3D real-time rendering. Since 1999, it has been licensed under the terms of GNU General Public License v2.0 or later.

id Tech 3 Video game engine

id Tech 3, popularly known as the Quake III Arena engine, is a game engine developed by id Software for its Quake III Arena. It has been adopted by numerous games. It competed with the Unreal Engine; both engines were widely licensed.

<i>Quake II</i> engine Video game engine

The Quake II engine is a game engine developed by id Software for use in their 1997 first-person shooter Quake II. It is the successor to the Quake engine. Since its release, the Quake II engine has been licensed for use in several other games.

Cube 2: Sauerbraten is a first-person shooter released for Microsoft Windows, Linux, FreeBSD, OpenBSD, and Mac OS X using OpenGL and SDL.

id Tech 4 Video game engine

id Tech 4, popularly known as the Doom 3 engine, is a game engine developed by id Software and first used in the video game Doom 3. The engine was designed by John Carmack, who also created previous game engines, such as those for Doom and Quake, which are widely recognized as significant advances in the field. This OpenGL-based game engine has also been used in Quake 4, Prey, Enemy Territory: Quake Wars, Wolfenstein, and Brink. id Tech 4 is licensed under the terms of the GNU General Public License v3.0 or later.

<i>Alien Arena</i> 2004 video game

Alien Arena is an open-source, stand-alone first-person shooter video game. Begun by COR Entertainment in 2004, the game combines a 1950s-era sci-fi atmosphere with gameplay similar to the Quake, Doom, and Unreal Tournament series. Alien Arena focuses mainly on online multiplayer action, although it does contain single-player matches against bots.

Linux Game Publishing was a software company based in Nottingham in England. It ported, published and sold video games running on Linux operating systems. As well as porting games, LGP also sponsored the development of Grapple, a free software network library for games. As well as acting as a Linux game porter in of themselves, they also functioned as a publisher for other Linux game developers and porters. The company was dissolved on 3 May 2011.

<span class="mw-page-title-main">Open-source video game</span> Video game whose source code is open-source software

An open-source video game, or simply an open-source game, is a video game whose source code is open-source. They are often freely distributable and sometimes cross-platform compatible.

Linux-based operating systems can be used for playing video games. Because many games are not natively supported for the Linux kernel, various software has been made to run Windows games, software, and programs, such as Wine, Cedega, DXVK, and Proton, and managers such as Lutris and PlayOnLinux. The Linux gaming community has a presence on the internet with users who attempt to run games that are not officially supported on Linux.

<span class="mw-page-title-main">Ryan C. Gordon</span> Computer programmer

Ryan C. Gordon is a computer programmer and former Loki Software employee responsible for icculus.org, which hosts many Loki Software projects as well as others. Gordon's site hosts projects with the code from such commercial games as Duke Nukem 3D, Shadow Warrior, Quake III Arena and other free and open source projects for multiple platforms.

<span class="mw-page-title-main">Timothee Besset</span> French software programmer

Timothée Besset is a French software programmer, best known for supporting Linux, as well as some Macintosh, ports of id Software's products. He was involved with the game ports of various id properties through the 2000s, starting with Quake III Arena. Since the development of Doom 3 he was also in charge of the multiplayer network code and various aspects of game coding for id, a role which had him heavily involved in the development of their online game QuakeLive. Since departing id in January 2012 he has worked as a software contractor, including for Valve Software.

<i>Xonotic</i> 2011 video game

Xonotic is a free and open-source first-person shooter video game. It was developed as a fork of Nexuiz, following controversy surrounding the game's development. The game runs on a heavily modified version of the Quake engine known as the DarkPlaces engine. Its gameplay is inspired by Unreal Tournament and Quake, but with various unique elements.

<i>Oil Rush</i> 2012 video game

Oil Rush is a tower defense real-time strategy game developed by UNIGINE Holding S.à r.l. using their Unigine engine technology. Set in a flooded, post-apocalyptic world, the game consists of players fighting over control of the world's last remaining oil reserves. The game was released as a digital download for Microsoft Windows, Linux, and OS X.

<span class="mw-page-title-main">Unvanquished (video game)</span> 2012 video game

Unvanquished is a free and open-source video game. It is a multiplayer first-person shooter and real-time strategy game where Humans and Aliens fight for domination.

<i>Red Eclipse</i> 2011 video game

Red Eclipse is an open-source first-person shooter that is forked from Cube 2: Sauerbraten. Like the original Cube 2, it features multiplayer gameplay as well as in-game level editing, but with improved graphics and a focus on parkour movement. The game is free and open-source software, released under the zlib license, and developed by an open community of contributors. Its content is free, and released under a CC BY-SA license.

References

  1. Carmack, John (1997-12-23). "doomsrc.txt". Doom source code release notes. id Software. Archived from the original on 2015-12-02. Retrieved 2008-10-23.
  2. Wilson, Hamish (2022-03-14). "Building a Retro Linux Gaming Computer - Part 16: We Are All Doomed". GamingOnLinux. Retrieved 2023-02-02.
  3. "Source Ports". Doom Wiki. Retrieved 2008-10-23.
  4. "LordHavoc's DarkPlaces Quake Modification: Downloads" . Retrieved 2008-10-23.
  5. "LGR plays Duke Nukem II in widescreen". Retro Refurbs. 2021-08-04. Retrieved 2023-12-18.
  6. Larabel, Michael (2016-04-04). "Open-Source Serious Engine 1 Now Running On Linux". Phoronix . Retrieved 2023-12-18.
  7. Battaglia, Alex (2021-09-09). "Serious Sam gets a fully path-traced RT upgrade - and it's beautiful". Eurogamer . Retrieved 2023-12-18.
  8. SpelunkyClassicHD on github.com
  9. Middleton, Zack (2019-11-02). "ioEF preservation". ZTM's World of Wonder. Retrieved 2023-04-04.
  10. Procter, Lewie (2020-08-13). "Star Trek: Voyager Elite Force Holomatch Gets Free 20th Anniversary Re-Release". wePC. Retrieved 2023-03-25.
  11. Middleton, Zack (2019-11-02). "Lilium Voyager 1.40 released". ZTM's World of Wonder. Retrieved 2023-04-04.
  12. Bailey, Kat (2022-12-19). "Dark Forces: Classic Star Wars Shooter Gets 4K Overhaul Thanks to Fan Remaster". IGN . Retrieved 2023-12-18.
  13. Litchfield, Ted (2024-05-19). "Nothing is too niche for modders to remaster, not even a '90s Star Wars FPS expansion pack where you play as Luke Skywalker's weird non-canon wife rescuing my favorite Expanded Universe dork". PC Gamer . Retrieved 2024-05-19.
  14. Wawro, Alex (April 6, 2018). "Nightdive shares source code for System Shock on Mac". Gamasutra . Retrieved April 6, 2018.
  15. Logan Booker (2018-06-16). "'Shockolate' Is A Cross-Platform System Shock Built On The Original, Open-Sourced Code". Kotaku.
  16. Alexander, Julia (2017-04-24). "Modders bring original Tomb Raider to browsers with new open-source project". Polygon . Retrieved 2023-12-18.
  17. Larabel, Michael (2017-04-24). "OpenLara: Open-Source Engine Remake For Tomb Raider, Including WebGL Version". Phoronix . Retrieved 2023-12-18.
  18. Dawe, Liam (2023-11-21). "Open source re-implementation of Tomb Raider 1 'TR1X' gets Linux builds". GamingOnLinux. Retrieved 2023-12-18.