Jump to content

Обновление игрового движка

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

Мотивация

[ редактировать ]

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

Сверху вниз

[ редактировать ]

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

Вверх дном

[ редактировать ]

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

Порты исходного кода

[ редактировать ]

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

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

[ редактировать ]

Эмуляция классических систем или операционных систем — альтернатива воссозданию движка; например, DOSBox — известный эмулятор среды ПК / MS-DOS . Статическая перекомпиляция — это еще один подход, основанный на исходном двоичном исполняемом файле , потенциально приводящий к повышению производительности по сравнению с эмуляцией; Примером может служить на архитектуре ARM версия StarCraft для Pandora 2014 года . [7] [8] [9] Другой альтернативой являются порты исходного кода для тех редких случаев, когда исходный код доступен; примеры: Jagged Alliance 2 [10] или Родной мир [11] [12] [13] (больше примеров в Списке коммерческих видеоигр с доступным исходным кодом ).

См. также

[ редактировать ]
  1. ^ «ОпенРА/ОпенРА» . Гитхаб . Проверено 30 августа 2018 г.
  2. ^ Цели развития openra на github.com
  3. ^ Релиз: Starcraft на Pyra-handheld.com «Как видите, он не сильно отличается от дизассемблирования x86, единственная разница в том, что вы можете скомпилировать его для других 32-битных арок (на 64-битной это не работает). ."
  4. Chaos Strikes Back для Windows (а также Linux, MacOS X, Pocket PC) в энциклопедии Dungeon Master «Около 120 000 строк псевдоассемблерного языка. Безумная вещь. Но это работает».
  5. ^ «Последние события» . ScummVM.org . 2 августа 2012 года . Проверено 14 июля 2013 г. Поддержка Beneath a Steel Sky стала возможной благодаря Revolution Software, предоставившей нам исходный исходный код сборки!
  6. ^ Исходный код «Исходный код игры Beneath a Steel Sky на языке ассемблера (415 225 байт) xxxx» (2005 г.)
  7. ^ Штайнлехнер, Питер (10 марта 2014 г.). «Starcraft, скомпилированный для портативных компьютеров ARM» (на немецком языке). golem.de . Проверено 25 марта 2014 г.
  8. ^ нотаз (04.03.2014). «Старкрафт» . repo.openpandora.org . Проверено 26 марта 2014 г.
  9. ^ нотаз (04.03.2014). «Старкрафт» . openpandora.org. Архивировано из оригинала 10 декабря 2015 г. Проверено 29 марта 2014 г. Правило «нет источника — нет порта» не совсем верно, можно получить что-то похожее (но не то же самое) на порт посредством статической перекомпиляции. Подобные вещи несколько раз делались M-HT для некоторых DOS-игр. Игра также была конвертирована для Android с использованием схожего подхода.
  10. ^ Бернс, Эндрю (25 февраля 2004 г.). «Исходный код Jagged Alliance 2 будет в комплекте с Wildfire» . ign.com. Архивировано из оригинала 8 января 2013 года . Проверено 23 декабря 2012 г.
  11. ^ Ларджент, Энди (08 октября 2003 г.). «Выпущен исходный код Homeworld» . Внутри Mac-игр . Архивировано из оригинала 12 октября 2013 г. Проверено 10 января 2011 г.
  12. ^ «Архивная копия» . Архивировано из оригинала 4 августа 2012 г. Проверено 30 марта 2014 г. {{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка )
  13. ^ Сотрудники пандорапресса (23 июня 2011 г.). «Игра недели №3 — Homeworld SDL» . pandorapress.net . Проверено 24 апреля 2013 г. [...] выпущен порт HomeworldSDL. [...] позволит вашей Pandora испытать превосходную работу, проделанную ребятами из HomeworldSDL.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b8b521034a3714866cd350de0f7fb0ae__1716078420
URL1:https://arc.ask3.ru/arc/aa/b8/ae/b8b521034a3714866cd350de0f7fb0ae.html
Заголовок, (Title) документа по адресу, URL1:
Game engine recreation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)