Отдых на игровом движке - Game engine recreation

Воссоздание игрового движка - это тип процесса ремастеринга движка видеоигры, при котором новый игровой движок пишется с нуля как клон оригинала с возможностью загрузки файлов данных исходной игры, таких как музыка , текстуры , скрипты , шейдеры , уровни и т. Д. более. Новый движок должен читать эти файлы данных и, теоретически, загружать и понимать их таким образом, чтобы их нельзя было отличить от оригинала. Результатом правильного клона движка часто является возможность играть в игру на современных системах, на которой старая игра больше не могла работать. Это также открывает возможность сотрудничества с сообществом, так как многие проекты переделки движка, как правило, имеют открытый исходный код. Воссоздание игрового движка может быть полезным для издателей игр, потому что для законного использования воссоздания по-прежнему требуются исходные файлы данных, поскольку игрок все равно должен приобрести оригинальную игру, чтобы законно играть в воссозданную игру (как подробно описано в этом списке воссозданий игрового движка ).

Мотивация

Воссоздания игрового движка позволяют использовать классические игры с более новыми версиями операционных систем , новейшим оборудованием или даже с совершенно другими операционными системами, чем предполагалось изначально. Еще одна мотивация - возможность исправлять ошибки движка, что часто бывает сложно или невозможно с исходными движками (за заметными исключениями, см. Патч сообщества ), когда программное обеспечение перестало поддерживаться , а исходный код недоступен.

Методы

Сверху вниз

Когда воссоздание игрового движка выполняется по методологии разработки «сверху вниз» , на первом этапе программируется общая функциональность игры и определяется структура. Затем, на более поздних этапах, результирующий движок адаптируется к конкретным деталям поведения исходной игры, часто путем обратного проектирования, отладки и профилирования оригинала. Примером может служить OpenRA, основанный на спецификациях, внесенных сообществом в результате повторных реализаций «чистой комнаты» без разборки исходного исполняемого файла, что приводит к созданию игровых движков, поведение которых отличается от оригинала. Другим примером является ремейк Spring Engine движка Total Annihilation , который стал использоваться во многих других играх. Как правило, этот подход приводит только к приближению исходного поведения, а не к идентичному поведению "по тактовому циклу ". С положительной стороны, исполняемый код существует быстрее, а итоговый исходный код менее привязан к конкретной отдельной игре и может быть повторно использован в качестве общего игрового движка для других игр.

Вверх дном

В отличие от воссоздания игрового движка « сверху вниз» , разобранные / декомпилированные версии снизу вверх для конкретной игры часто способны точно воспроизвести поведение оригинала. В этих случаях ядро ​​игры воссоздается снизу вверх с обратным проектированием исходного дизассемблированного двоичного исполняемого файла, инструкции ЦП за инструкцией. На этапе разработки это имеет тот недостаток, что в течение долгого времени не существует работающего прототипа. Также с отрицательной стороны, полученный код очень специфично привязан к этой единственной игре, часто уродлив («псевдосборочный код »), и вряд ли может быть повторно использован в качестве общего игрового движка. Примеры - CSBWin или OpenTTD . Чаще всего результат также называется не «игровой движок», а «игровой отдых» или «игровой клон». MAME - это пример проекта эмуляции движка видеоигры, который также следует этой философии для точного представления игр.

Исходный код порты

Иногда, как это было в случае с некоторыми движками / игровыми ядрами в ScummVM , оригинальные разработчики помогали проектам, предоставляя исходный исходный код (их затем можно назвать исходными портами ). Это лучший вариант, оптимальный по точности и минимизации усилий. Пример - Под стальным небом .

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

Эмуляция классических систем или операционных систем - альтернатива воссозданию движка; например, DOSBox - известный эмулятор среды PC / MS-DOS . Статическая перекомпиляция - это еще один подход, основанный на исходном двоичном исполняемом файле , потенциально приводящий к лучшей производительности, чем при эмуляции; Примером является версия StarCraft для Pandora с архитектурой ARM 2014 года . Другой альтернативой являются исходные порты для тех редких случаев, когда исходный код доступен; примерами являются Jagged Alliance 2 или Homeworld (больше примеров в Списке коммерческих видеоигр с доступным исходным кодом ).

Смотрите также

использованная литература