Портирование игр — это действительно нелегкая задача для разработчиков, даже если речь идет о выпуске игры на ПК, где она, собственно, и разрабатывалась. И в этой статье один из основателей студии Disparity Games Джейсон Старк (Jason Stark) расскажет, с какими трудностями сталкиваются его коллеги по цеху.
Вопросы сооснователю Disparity Games задавали журналисты сайта PC Gamer. Материал подготовлен на основе англоязычной статьи.
Чтобы понять всю сложность процесса, достаточно просто представить, как много компонентов имеет любой современный компьютер. Различное «железо», тысячи версий драйверов, и иногда очень трудно предугадать, как их связка поведет себя в тех или иных условиях.
Даже хорошо оптимизированные и отлаженные игры часто работают не так, как нужно, если компьютер имеет специфический набор ПО и комплектующих. В этом смысле вопрос «хорошего» или «плохого» порта — это скорее вопрос вложения денег и времени: сколько ресурсов готов потратить разработчик, чтобы обеспечить наибольшую совместимость? Впрочем, абсолютный идеал все равно недостижим.
При портировании игры разработчик фактически создает ее уникальную версию. Это означает, что выбор каждой дополнительной платформы для выпуска игры увеличивает сложность релиза на порядок. Это умножение, а не сложение. В случае нескольких платформ нужно не только выпускать, но еще и быстро реагировать на всевозможные проблемы, оперативно решать их.
Каждый патч или обновление нужно тестировать на каждой платформе отдельно. И только если ни на одной не возникло проблем, выпускать это в «паблик». Ведь безобидный «фикс» на одной платформе может вызывать критический сбой на другой. Нужно учитывать кучу факторов и особенности архитектуры каждой среды.
Создание ПК-порта игры с прошлого поколения консолей тоже довольно проблемное дело. Проект, который ранее запускался в 30 fps, далеко не всегда можно быстро «завести» в 60. А игры из прошлого десятилетия нельзя по мановению руки адаптировать к 4K-разрешению, как бы просто это не казалось.
По факту многие игры создавались именно под 30 кадров в секунду, на основе этого фреймрейта писалась их логика. Например, в Vanquish смена частоты на 60 fps привела к удвоению урона, так как боевая часть учитывала смену кадров.
Также многие помнят баг, из-за которого в PC-версии Dark Souls 2 оружие портилось в 2 раза быстрее. Чтобы исправить эту простую, казалось бы, проблему, разработчикам из From Software потребовался год!
Чтобы перенести некоторые игры, приходится их переписывать буквально с нуля: изменять программный код, переделывать графические элементы. Такое произошло, например, с PC-версией Ty the Tasmanian Tiger. А переиздание Icewind Dale вообще пришлось делать с заново, так как большая часть исходного кода была утеряна.
Короче говоря, портирование — это довольно непредсказуемый процесс. Но вместе с этим разработчик должен стремиться к тому, чтобы все версии одной и той же игры были похожи по своему функционалу и внешнему виду. При этом зачастую это невозможно на практике из-за кардинальных различий между платформами. А также из-за необходимости соблюдать лицензионные соглашения.
Если на минутку забыть о технических вопросах, то выпуск игр на разных платформах все равно является очень трудным делом. Ведь если игра выходит на системе, ее нужно продавать тем, кто этой системой пользуется. Нужно искать популярных «ютуберов», налаживать связь с сообществом игроков, делать промо-материалы для каждой платформы в отдельности.
Например, в коллективе из 20 человек вопросами продвижения могут заниматься трое. Они не участвуют в разработке как таковой, только занимаются изданием, маркетингом и продажами. Для маленьких студий вопрос выхода на нескольких платформах — это серьезная головная боль: рук не хватает.
К тому же никто не отменял непреднамеренных вещей вроде выпуска портов разного уровня качества. Это иногда выходит само собой, но игроки почти всегда начинают обвинять разработчиков в том, что они «продались» и перетянуть игроков на другую платформу. Хотя на самом деле большинство разработчиков хотят выпустить хороший порт для любой системы, просто не всегда это получается.
Впрочем, бывает и обратное, когда выходит переиздание какой-то древней игры и она пробивает чарты продаж. В таких случаях игроки готовы платить хорошие деньги, чтобы получить улучшенную версию любимой игры, так как это отличный способ отблагодарить девелопера за хорошую работу.
Ну в вторых, я думал тут про сложность работы с Графическими API на компьютере, про графические настройки, про оптимизации под актуальное железо(GTX660-GTX1080, я только видеокарты помню), про устранение платформо-зависимого кода.