Source port

From Wikipedia, the free encyclopedia

This article is about software ported by the associated fan community. For software ported by the original developer, see porting. The term "source port" can also refer to the port from which a packet is sent, e.g. a TCP port.

A source port is a source code modification to a computer game's engine that allows it to be played on operating systems or computing platforms for which it was not originally created or compatible with. Source ports are generally created and released under a free software license like the GNU General Public License and are created not by a game's original developer, but by the associated fan community. As such, the creation of source ports does not usually begin until several years after a game's initial release if, and when, the source code is released to the public.

Source ports are created for older games, with enduring popularity, which were originally written for platforms and operating systems which are now obsolete. Most commonly, source ports are created to make games originally written for personal computers running DOS compatible with their modern equivalents running Linux, Mac OS X, or Windows. Secondarily, source ports may be written to make a game compatible with types of computer hardware for which it was not originally intended, such as game consoles or mobile computing devices. Legitimate source ports include only the engine portion of the game and require that the original versions of the games in question already be present on users' computers. Source ports are not meant to encourage software piracy or the illegal distribution of older games as "abandonware".

While the primary goal of any source port is cross-platform compatibility, many modern ports go beyond this. As a computer game ages it undergoes a process of obsolescence that can result in making it less enjoyable than newer games. An old game cannot ordinarily benefit from the ongoing innovations in gaming. Source ports allow many new features and enhancements to be added to an old game. Common examples of additions include higher video resolutions, improvements to game logic or artificial intelligence, new 3D renderers utilizing OpenGL or Direct3D, enhanced mouse support (including the ability to map controls onto additional mouse buttons such as the mouse wheel), 3D character models, higher resolution textures, support for MP3 and Ogg Vorbis audio, or enhanced multiplayer support using the Internet. Other source ports may add entirely new dynamics to older games, such as addition of scripting or artificial intelligence to produce elaborate game interactions not found in the original game.

Returning to the issue of online multiplayer support, several source ports have been created for various games specifically to address this issue. 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 and QuakeWorld 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.

The addition of new features to an older game by a source port is sometimes controversial, as many fans of the original version of the game may find that the changes made by a source port differ from the "spirit" of the original or have unwelcome alterations to gameplay. Certain minimalistic source ports address this concern by striving to create new platform compatibility while strictly avoiding changing the game in any other way.

[edit] List of source ports

  • Battle of Britain:

See Doom source port for a detailed list.

  • Eat The Whistle:
    • Eat The Whistle SDL [13]
  • Enemy Engaged: RAH-66 Comanche versus Ka-52 Hokum:
  • Jagged Alliance 2: Wildfire:
  • netPanzer:
    • netPanzer SDL [34]
  • WaterRace:

[edit] See also