Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Изменение исходного кода игрового движка для обеспечения его работы на несовместимых системах.
Altering a game engine's source code to allow it to run on incompatible systems
Исходный порт — это программный проект, созданный на основе исходного кода игрового движка, позволяющий запускать игру на операционных системах или вычислительных платформах, для которых она изначально не предназначалась.
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.
Описание
Источниковые порты часто создаются фанатами после того, как оригинальный разработчик прекращает поддержку игры, публикуя её исходный код (см. Список коммерческих видеоигр с последующим выпуском исходного кода). В некоторых случаях исходный код, используемый для создания источникового порта, приходится получать с помощью обратной инженерии, если оригинальный исходный код никогда не был официально опубликован разработчиками игры. Термин появился после публикации исходного кода Doom. Из-за проблем с авторским правом, касающихся звуковой библиотеки, использовавшейся в оригинальной DOS-версии, id Software выпустила только исходный код версии для Linux. Поскольку большинство игроков в Doom использовали DOS, первым шагом для фанатского проекта стал перенос исходного кода Linux в DOS. Источниковый порт обычно включает только движок игры и требует, чтобы файлы данных игры уже присутствовали на компьютерах пользователей. Источниковые порты схожи с неофициальными патчами тем, что не изменяют оригинальный геймплей, поскольку такие проекты по определению являются модификациями. Однако многие источниковые порты добавляют поддержку игровых модов, которая обычно является необязательной (например, DarkPlaces состоит из движка источникового порта и игрового мода, которые даже распространяются отдельно). Хотя основная цель любого источникового порта — совместимость с новым оборудованием, многие проекты поддерживают и другие улучшения. Типичные примеры дополнений включают поддержку более высоких разрешений экрана и различных соотношений сторон, аппаратное ускорение рендеринга (OpenGL и/или Direct3D), расширенную поддержку ввода (включая возможность назначения элементов управления дополнительным устройствам ввода), 3D-модели персонажей (в случае 2.5D-игр), текстуры более высокого разрешения, поддержку замены MIDI цифровым аудио (MP3, Ogg Vorbis и т. д.) и расширенную многопользовательскую игру через Интернет. Для различных игр было создано несколько источниковых портов специально для поддержки онлайн-мультиплеера. Большинство старых игр не были разработаны с учётом использования Интернета и низких задержек, высокой пропускной способности интернет-соединений, доступных современным компьютерным игрокам. Кроме того, старые игры могли использовать устаревшие сетевые протоколы для создания многопользовательских соединений, такие как протокол IPX, вместо протокола Internet. Ещё одной проблемой были игры, требовавшие определённый IP-адрес для подключения к другому игроку. Это затрудняло быстрый поиск группы незнакомцев для игры — то, как онлайн-игры обычно играются сегодня. Чтобы решить эту проблему, специальные источниковые порты, такие как Skulltag, добавили «лобби», которые по сути являются встроенными чатами, где игроки могут встречаться и сообщать о местоположении игр, в которые они играют или к которым хотят присоединиться. Аналогичные возможности можно найти в новых играх и онлайн-сервисах, таких как Steam от Valve, Battle.net от Blizzard и GameSpy Arcade.
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. 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. 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). 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.
Альтернативы
Если исходный код программного обеспечения недоступен, альтернативными способами обеспечения переносимости являются эмуляция, переработка движка и статическая перекомпиляция.
If the source code of a software is not available, alternative approaches to achieve portability are Emulation, Engine remakes, and Static recompilation.