Почему игры, построенные на кроссплатформенных движках, иногда эксклюзивны для Windows?

99

Если движок поддерживает Windows, OS X и Linux, почему мы иногда видим игры, использующие эти движки, такие как Space Hulk: Deathwing , только для Windows?

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

Ответы:

150

Технические причины:

  • Специально для игровых платформ : когда некоторые разработчики делают свои игры, они иногда могут полагаться на специфические функции платформы. Хотя игровой движок может создавать игру для нескольких платформ, неигровой код может вызывать специфический для Windows вызов, который либо не существует на других платформах, либо потребует переделки сложной части игры (службы лицензирования, Системы сохранения файлов и т. Д.).
  • Нехватка способных машин . В течение долгого времени большинство компьютеров Apple не имели достаточной графической мощности для запуска большинства игр. Так зачем выпускать где-нибудь, где пользователи, скорее всего, будут иметь только плохой опыт? Это постепенно меняется, благодаря улучшенной интегрированной графике, но все еще может быть причиной, почему некоторые используют только Windows.
  • Совместимость плагинов / библиотек : разработчики игр могут использовать сторонние библиотеки для ускорения разработки или использовать отраслевой стандарт / проверенный код (SSL, библиотеки сериализации и т. Д.). Если они не поддерживают платформу X, игра, скорее всего, не будет надежно работать на ней, поэтому они исключаются.
  • Повышение качества : во время разработки игры есть небольшой подраздел команды, который гарантирует, что ошибок нет и что игра соответствует стандартам производительности. Как только вы добавите платформу, игра должна быть протестирована дважды! Общие части игры можно было бы оставить в покое, но еще предстоит еще многое сделать до выпуска. Это также может привести к увеличению стоимости, причем не только с учетом необходимого дополнительного времени, но и специального оборудования, в зависимости от платформы (Apple, Xbox, PlayStation, телефоны и т. Д.).
  • Расширенная поддержка : по мере выпуска игр у них будут ошибки (в некоторых играх больше, чем в других). По мере добавления новых платформ объем поддержки, предоставляемой разработчиком после выпуска, увеличивается. Ошибки, связанные с платформой, должны быть исправлены таким образом, чтобы это исправляло неисправную платформу и не затрагивало платформы, на которые это не влияет. Если платформа изменится, скажем, Windows 7 на 8 или итерацию OSX, необходимо будет обеспечить некоторый уровень QA, чтобы гарантировать отсутствие ошибок в более новой версии. И, если таковые имеются, это еще одна платформа, которая должна поддерживаться вместе со старой версией. Это может оказать огромное влияние на стоимость, особенно после запуска игры (если игра не принесет много денег), через 3-6 месяцев после выпуска.

Нетехнические причины:

  • Соглашение с издателем . Некоторые разработчики заключают соглашения с держателем платформы о выпуске специально для своей платформы. Хотя это чаще случается с консолями, это может также относиться к платформам ПК (например, Windows).
  • Сторонний разработчик : некоторые разработчики принадлежат владельцу платформы и не имеют права выпускать свои игры на определенных платформах. Скорее всего, вы не увидите Halo на PS4 или Forza на Mac.
  • Недостаток аудитории : разработчики имеют много статистики о потребительских тенденциях на конкретных платформах, особенно если у них есть крупные издатели с большим количеством доступных данных. Если у них есть информация о том, что 90% их целевой аудитории находится на Windows, они могут не потрудиться выпустить на других платформах, чтобы попытаться уменьшить потенциальные ошибки или / и сфокусировать маркетинговые материалы.
  • Не соответствует требованиям платформы. Некоторые платформы, такие как Apple App Store, предъявляют строгие требования к макету и дизайну, которые необходимо соблюдать для публикации. Если игра не удовлетворяет этим требованиям для конкретной платформы распространения, может быть, стоит потратить инженерное время на адаптацию игры и ее выпуск, если прогнозируемых продаж недостаточно.
  • Отсутствие опыта работы с платформой : если разработчик работал исключительно с Windows (и нет людей, имеющих опыт работы с другими системами), может потребоваться много работы для изучения небольших различий, которые могут вызвать проблемы на поздних стадиях разработки или может не хватить бюджета, чтобы нанять новых сотрудников, отвечающих за сборку Linux / OSX.
  • Маркетинговые затраты : если две платформы имеют существенно различающиеся аудитории или возрастные группы, маркетинговые материалы для одной могут не достигать другой, что означает, что на маркетинг необходимо потратить больше денег. Если двум группам требуется разный маркетинг, все они должны быть заново созданы с учетом новой целевой аудитории. Маркетинг может стать чрезвычайно дорогим, особенно с большими выпусками, чем больше платформ нужно продавать, тем быстрее увеличивается стоимость.

Я уверен, что есть еще. Это лишь часть моей головы. Надеюсь это поможет.

user3797758
источник
26
Это хороший ответ, но я думаю, что вы упускаете еще один важный элемент: стоимость тестирования / QA. Кроссплатформенные движки никогда не справляются с задачей по сокрытию различий между платформами, поэтому необходимо тестировать на всех целевых платформах. Могут быть ошибки, которые появляются только на одной платформе, или существенные различия в производительности, связанные с различными реализациями на разных платформах. Также могут быть различия в поведении в функциональности, которая должна быть кроссплатформенной. Вам нужно увеличить время контроля качества и предоставить тестерам дополнительное оборудование. Некоторым разработчикам понадобится дополнительное оборудование и программное обеспечение.
mattnewport
2
Я думал, что покрыл это в разделе нехватки опыта .... но я могу добавить это :) всегда лучше, хотя
user3797758
5
Я согласен с @mattnewport, что стоимость здесь занижена - ее разработка, сборка, тестирование, отладка, промывка, повторение для нескольких платформ могут быть довольно трудоемкими. Достаточно сложно правильно протестировать различные аппаратные конфигурации для одной платформы!
AC
3
Также «поддержка» иногда сильно преувеличивается. Многие движки «поддерживают» Windows, но на самом деле вам придется установить Visual Studio и Python, а также Perl, Cygwin и Msys, а также 5 разновидностей MinGW и гигабайты библиотек, чтобы фактически использовать его.
AndreKR
2
«Разработчики имеют много статистики о потребительских тенденциях на конкретных платформах», - конечно, использование этой информации для определения того, какие платформы технически поддерживать, является чем-то вроде нескончаемого пророчества.
ИЛИ Mapper
30

Потому что быть доступным не значит быть бесплатным и мгновенным.

Поддержка еще одной операционной системы в ее наиболее упрощенной форме означает еще одну платформу для технической поддержки.

Чем больше платформ вы поддерживаете = Чем больше платформ вам нужно для поддержки = Тратите больше времени на поддержку = Потеря рабочего времени, которое могло бы потратить на улучшение вашей игры.

Поддержка платформы сводится к уверенности в том, что если ваша игра сможет привлечь достаточное количество игроков на этой целевой платформе, то это компенсирует время, потраченное на поддержку платформы.

С. Тарык Четин
источник
2
Кроме того, больше работы теряется на развитие рынка (App Store, Steam, Google Play) и специфические для платформы интеграции, особенно в социальном отделе. (друзья, обмен, аутентификация)
CostelloNicho
18

Пока есть хорошие ответы, но давайте перейдем к сути.

Согласно опросу Steam, проведенному в июне 2017 года, 96,24% пользователей использовали Windows. Из пользователей Windows, 87,37% являются Windows 10 или 7, 64 или 32-разрядными. Варианты OSX представляют 2,95% пользователей, а варианты Linux - 0,72%.

Время - деньги. Если ваш рынок не является нишевым и не ориентирован конкретно на OSX или Linux, вам придется продавать много игр, прежде чем <4% рынка будет стоить вашего времени, тем более, что разработчики игр обычно тратят время на то, чтобы завершить функциональность своего продукта.

inappropriateCode
источник
3
... и это также предполагает, что все эти пользователи в среднем платят сопоставимые деньги за игры. Я помню статистику по Android против Windows Phone, где Android имел гораздо большую долю устройств, но прямой (не рекламный) доход был почти одинаковым - и оба были крошечными по сравнению с iOS. Если вы продаете игру, вам нужно знать, сколько люди готовы платить. Создание игры для сегмента рынка 0,7%, который редко покупает игры, - это просто помешательство: D Вероятно, это не стоило бы того, даже если бы двигатель был совершенно мультиплатформенным (никаких странных ошибок на разных платформах).
Луаан
1
@Luaan Согласно Humble Bundle, выручка для Linux чуть меньше, чем для Mac, хотя Mac в три раза более популярен. Возможно, это объясняется тем фактом, что на компьютерах класса «люкс» с Linux, как правило, графические карты намного лучше, чем на компьютерах той же цены, поскольку компромиссы этих машин лежат в другом месте.
Stommestack
1
@JopV. Скромный пакет немного сложен из-за фактора пакета. Если я забочусь только об одной игре в комплекте, я не склонен платить больше только потому, что я получаю дополнительные игры, в которые я не буду играть (или игры, за которые я уже заплатил раньше, иногда несколько раз; да, я немного сумасшедший: P). Это также может быть следствием того факта, что Linux до недавнего времени в значительной степени игнорировался в играх, поэтому кто-то с компьютером Mac или Win может уже иметь некоторые игры, хотя это может быть первый выпуск для Linux. Может быть. У них также есть статистика из скромного магазина?
Луаан
2
@Luaan Каждый раз, когда появляется Humble Indie Bundle, в нижней части страницы публикуется некоторая статистика, включая общую и среднюю сумму, внесенную по каждой ОС. Они остаются достаточно последовательными в каждой связке.
Stommestack
14

Другие ответы здесь хороши, но вот тот, который не был упомянут.

У меня сейчас такая проблема - моя команда собирается выпустить игру, созданную в Unity для Windows / Mac. Мы получили много вопросов о том, почему наша игра не для мобильных устройств. Есть 2 основных ответа:

1) Телефоны просто недостаточно мощны, чтобы не отставать от игры. Может быть, мы сможем снизить точность изображения (меньше полигонов в моделях, меньше пикселей в текстурах и т. Д.), Но это еще далеко. Большую часть игры необходимо будет переписать, чтобы она была достаточно оптимизирована для запуска телефона. Мы попробовали, но мы получили только около 0,5 кадра в секунду. Очевидно, не играбельно.

2) Ввод. Весь пользовательский интерфейс был разработан с использованием мыши, и часть игры зависит от знания, где находится мышь в любой момент времени. Весь наш механизм ввода должен был бы быть переписан, чтобы игра все еще работала, не зная, где находится мышь, и переводя различные «сенсорные» действия на экране в «мышиные» действия, чтобы получить ту же функциональность. Как и в случае с user3797758, упомянутым в ответе, для этого потребуется переписать материал, чтобы ввод «мыши» и «касания» мог передаваться в одну и ту же систему, и ошибка в одной не повлияет на другую, и исправление этой ошибки также не повлияет на других. Для этого требуется больше ресурсов, чем доступно моей команде на данный момент.

Также упомянуто в ответе пользователя 3797758, у нас даже нет поддержки Linux, потому что один из наших пакетов падает на компьютерах с Linux, но работает на Windows / Mac. Тот факт, что двигатель кросс-платформенный, не означает, что все, что его использует

Cody
источник
1
Мой телефон может без проблем играть в GTA Vice City. Похоже, ваш движок рендеринга неэффективен! :)
Гонки
2
В любом случае, этот ответ больше о портировании игр на разные аппаратные платформы / парадигмы, а не об ОС на ПК
Lightness Races на орбите
2
@LightnessRacesinOrbit хорошо, это Unity ... Действительно, у нас есть один конкретный эффект, который является центральным в игре, и действительно неэффективным. Парень, который написал это, ушел, и мы не смогли найти способ сделать это лучше. Такова жизнь ...
Коди
3
@JopV. Ммм нет История это крошечное немного более сложным , чем это. Но на самом деле нет смысла обсуждать это здесь. Я просто отмечу, что OpenGL - это API для 3D-рендеринга; DirectX намного шире. Если вам нужно участвовать в бессмысленных дебатах, хотя бы сравните OpenGL с Direct3D :) OpenGL был разработан для профессиональной работы в 3D («открытие» проприетарного IrisGL). Какая еще платформа поддерживала OpenGL в то время? Не было «препятствующих кроссплатформенной разработке» - в Windows была встроенная поддержка OpenGL. OpenGL просто никогда не предназначался для чего-то кроме профессиональной работы высокого уровня.
Луаан
2
телефонные графические процессоры гораздо менее мощные, чем даже графика Intel, так как они имеют ограничения по температуре и размеру. также многие люди имеют телефоны, которые не поддерживают OpenGLES 3.0, поэтому лишь немногие смогут использовать ваше приложение, если вы не переписываете свою игру для примитивных OpenGLES 2.0.
Suici Doga