Введение

Изменение исходного кода игрового движка для обеспечения его работы на несовместимых системах.

Исходный порт — это программный проект, созданный на основе исходного кода игрового движка, позволяющий запускать игру на операционных системах или вычислительных платформах, для которых она изначально не предназначалась.

Описание

Источниковые порты часто создаются фанатами после того, как оригинальный разработчик прекращает поддержку игры, публикуя её исходный код (см. Список коммерческих видеоигр с последующим выпуском исходного кода). В некоторых случаях исходный код, используемый для создания источникового порта, приходится получать с помощью обратной инженерии, если оригинальный исходный код никогда не был официально опубликован разработчиками игры. Термин появился после публикации исходного кода 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.

Альтернативы

Если исходный код программного обеспечения недоступен, альтернативными способами обеспечения переносимости являются эмуляция, переработка движка и статическая перекомпиляция.