Исходный порт — это программный проект, основанный на исходном коде игрового движка , который позволяет запускать игру на операционных системах или вычислительных платформах , с которыми игра изначально не была совместима.
Исходные порты часто создаются фанатами после того, как оригинальный разработчик передает поддержку обслуживания игры, выкладывая ее исходный код в открытый доступ (см. Список коммерческих видеоигр с более поздним выпуском исходного кода ). В некоторых случаях исходный код, используемый для создания исходного порта, должен быть получен с помощью обратного проектирования , в ситуациях, когда исходный код никогда официально не был выпущен разработчиками игры. Термин был придуман после выпуска исходного кода Doom . Из-за проблем с авторскими правами, касающихся звуковой библиотеки, используемой оригинальной версией DOS, id Software выпустила только исходный код для версии игры для Linux. [1] [2] Поскольку большинство игроков в Doom были пользователями DOS, первым шагом для фанатского проекта было портирование исходного кода Linux в DOS. [3] Исходный порт обычно включает только часть движка игры и требует, чтобы файлы данных рассматриваемой игры уже присутствовали в системах пользователей.
Исходные порты имеют сходство с неофициальными патчами , которые оба не изменяют оригинальный игровой процесс, поскольку такие проекты по определению являются модами . Однако многие исходные порты добавляют поддержку игровых модов, что обычно необязательно (например, DarkPlaces состоит из движка исходного порта и игрового мода, которые даже распространяются отдельно [4] ). Хотя основной целью любого исходного порта является совместимость с новым оборудованием, многие проекты поддерживают другие улучшения. Распространенные примеры дополнений включают поддержку более высоких разрешений видео и различных соотношений сторон , аппаратно ускоренные рендереры ( OpenGL и/или Direct3D ), улучшенную поддержку ввода (включая возможность сопоставления элементов управления с дополнительными устройствами ввода), 3D-модели персонажей (в случае 2.5D- игр), текстуры более высокого разрешения, поддержку замены MIDI на цифровой звук ( MP3 , Ogg Vorbis и т. д.) и улучшенную многопользовательскую поддержку с использованием Интернета .
Несколько исходных портов были созданы для различных игр специально для поддержки многопользовательской игры в режиме онлайн. Большинство старых игр не были созданы для использования преимуществ Интернета и малой задержки, высокой пропускной способности интернет-подключений, доступных сегодня компьютерным геймерам. Кроме того, старые игры могут использовать устаревшие сетевые протоколы для создания многопользовательских подключений, такие как протокол IPX , вместо протокола Интернета . Другой проблемой были игры, которым требовался определенный IP-адрес для подключения к другому игроку. Это требование затрудняло быстрый поиск группы незнакомцев для игры — способ, которым сегодня чаще всего играют в онлайн-игры. Чтобы устранить этот недостаток, определенные исходные порты, такие как Skulltag, добавили «лобби», которые по сути являются интегрированными чат-комнатами , в которых игроки могут встречаться и публиковать местоположение игр, которые они размещают или к которым хотят присоединиться. Аналогичные возможности можно найти в новых играх и сервисах онлайн-игр, таких как Steam от Valve, battle.net от Blizzard и GameSpy Arcade .
Если исходный код программного обеспечения недоступен, альтернативными подходами к достижению переносимости являются эмуляция , переделка движка и статическая перекомпиляция .