A source port is a software project based on the
source code
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
of a
game engine
A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs. The "engine" terminology is similar to the term " software engine" used in the softwar ...
that allows the game to be played on
operating systems
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
or
computing platforms
A computing platform or digital platform is an environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying s ...
with which the game was not originally compatible.
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
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
to the public (see
List of commercial video games with later released source code). 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. Since the majority of Doom players were DOS users the first step for a fan project was to ''
port
A port is a maritime facility comprising one or more wharves or loading areas, where ships load and discharge cargo and passengers. Although usually situated on a sea coast or estuary, ports can also be found far inland, such as ...
'' the Linux ''source'' code to DOS. A legitimate source port includes only 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 are in no way meant to encourage
copyright infringement of software.
Source ports share the similarity with
unofficial patch
An unofficial patch is a patch for a piece of software, created by a third party such as a user community without the involvement of the original developer. Similar to an ordinary patch, it alleviates bugs or shortcomings. Unofficial patches do ...
es 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
). 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
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve ha ...
and/or
Direct3D
Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
), enhanced input support (including the ability to map controls onto additional input devices), 3D character models (in case of
2.5D
2.5D (two-and-a-half dimensional) perspective refers to gameplay or movement in a video game or virtual reality environment that is restricted to a two-dimensional (2D) plane with little to no access to a third dimension in a space that otherwis ...
games), higher resolution textures, support to replace
MIDI
MIDI (; Musical Instrument Digital Interface) is a technical standard that describes a communications protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, an ...
with
digital audio (
MP3
MP3 (formally MPEG-1 Audio Layer III or MPEG-2 Audio Layer III) is a coding format for digital audio developed largely by the Fraunhofer Society in Germany, with support from other digital scientists in the United States and elsewhere. Orig ...
,
Ogg Vorbis
Vorbis is a free and open-source software project headed by the Xiph.Org Foundation. The project produces an audio coding format and software reference encoder/decoder (codec) for lossy audio compression. Vorbis is most commonly used in conjun ...
, etc.), and enhanced
multiplayer
A multiplayer video game is a video game in which more than one person can play in the same game environment at the same time, either locally on the same computing system ( couch co-op), on different computing systems via a local area network, or ...
support using the
Internet
The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a ''internetworking, network of networks'' that consists ...
.
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
Internetwork Packet Exchange (IPX) is the network layer protocol in the IPX/SPX protocol suite. IPX is derived from Xerox Network Systems' IDP. It also has the ability to act as a transport layer protocol.
The IPX/SPX protocol suite was very po ...
protocol, instead of
Internet Protocol
The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.
...
. Another problem was games that required a specific
IP address
An Internet Protocol address (IP address) is a numerical label such as that is connected to a computer network that uses the Internet Protocol for communication.. Updated by . An IP address serves two main functions: network interface ident ...
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
The present article is a list of known platforms to which '' Doom'' has been confirmed to be ported.
'' Doom'' is one of the most widely ported video games. Since the original MS-DOS version, it has been released officially for a number of operat ...
added "lobbies", which are basically integrated
chat room
The term chat room, or chatroom (and sometimes group chat; abbreviated as GC), is primarily used to describe any form of synchronous conferencing, occasionally even asynchronous conferencing. The term can thus mean any technology, ranging from ...
s 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
Steam is a substance containing water in the gas phase, and sometimes also an aerosol of liquid water droplets, or air. This may occur due to evaporation or due to boiling, where heat is applied until water reaches the enthalpy of vaporizat ...
, Blizzard's
battle.net
Battle.net is an Internet-based online game, social networking service, digital distribution, and digital rights management platform developed by Blizzard Entertainment. The service was launched on December 31, 1996, followed a few days later ...
, and
GameSpy Arcade
GameSpy Arcade was a shareware multiplayer game server browsing utility. GameSpy Arcade allowed players to view and connect to available multiplayer games, and chat with other users of the service. It was initially released by GameSpy Industries, ...
.
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
See also
*
Enhanced remake
A video game remake is a video game closely adapted from an earlier title, usually for the purpose of modernizing a game with updated graphics for newer hardware and gameplay for contemporary audiences. Typically, a remake of such game software sh ...
*
Game engine recreation
Game engine recreation is a type of video game engine remastering process whereby a new game engine is written from scratch as a clone of the original with the ability to load the original game's data files such as music, textures, scripts, shade ...
*
Static recompilation
*
Unofficial patch
An unofficial patch is a patch for a piece of software, created by a third party such as a user community without the involvement of the original developer. Similar to an ordinary patch, it alleviates bugs or shortcomings. Unofficial patches do ...
*
List of commercial video games with later released source code
*
Fork (software development)
In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software. The term often implies not merely a ...
References
External links
{{Video game engines
Software maintenance
Software release
Unofficial adaptations