Простите, пользователи macOS, но Apple зашла слишком далеко
Несколько лет назад, когда был выпущен первый релиз Cogmind, я без предрассудков относился к выпуску официальной версии под Mac. В конце концов, Cogmind — моя первая коммерческая игра, раньше я выпускал только хобби-проекты в статусе freeware и только под Windows, поэтому не был уверен, какие результаты даст поддержка дополнительных платформ. Поэтому я решил подождать и посмотреть стоит ли в каком-то виде реализовывать официальную поддержку на Mac.
Тем временем я убедился, что Cogmind (и другое моё ПО) идеально работает через Wine и подобные ему пакеты. Разумеется, в Steam я никогда не говорил о поддержке Mac, потому что это не был отдельный скачиваемый файл, работающий сам по себе. Я готовился к выпуску версии 1.0, и откладывал решение о том, стоит ли принимать меры для реализации полной поддержки платформы, на будущее.
На текущий момент я уже достаточно прождал и увидел, чтобы прийти к осмысленному решению: официальная поддержка macOS просто недостижима для меня.
Почему такое решение было принято именно сейчас: если вы следите за разработчиками инди-игр, сообществами или новостями, то должны были слышать о шумихе, связанной с Apple. К сожалению, мой голос тоже присоединится к этому хору.
Twitter разработчика с обсуждением недавних решений Apple
- ого, каждый десятый твит посвящён тому, что какой-нибудь разработчик отказывается от работы с ios/mac. что случилось?
- отказ от 32 бит, но в первую очередь это из-за требований курирования: теперь нельзя выпускать приложения для Mac, не отправив их предварительно Apple
- Несколько факторов:
— снижение продаж
— отказ от 32 бит
— требование подписания приложений
— постоянное требование $$- Плюс реально ужасный тулчейн и дорогое железо; если не пользоваться им ежедневно, то кажется, что его цена завышена в 3 раза
- Плюс общее ощущение того, что Apple просто перестала заботиться о своих профессиональных пользователях
- Если ты не являешься заметным продвигателем бренда, ежедневно сидящим в дорогом кафе, то зачем ты нужен?
- У меня есть отлично работающий Mac 2011 года с последней версией macOS, но Apple говорит, что мне нужно новое оборудование ТОЛЬКО для того, чтобы подписать чёртово приложение для iOS. Ну его нафиг!
- Даже знать не хочу. Стратегия ведения бизнеса Apple всегда меня пугала.
- Отказ от поддержки 32 бит, для продажи приложений в новой ОС нужен ещё один этап, зависящий от Apple, ежегодная подписка для разработчиков, дорогое оборудование со сниженной производительностью и меньшей функциональностью… гайки продолжают затягивать.
- Я устал от жадности Apple, «законов» Apple, от того, что Apple контролирует решения разработчиков. Я хочу быть полезным своим пользователям, а не отчётам о прибыли Apple. По моим ощущениям Apple превратилась в тот Microsoft, каким он был в 90-х и начале 2000-х. Именно тогда я оказался от Windows.
- И Microsoft превратился в крутого лидера технологий, авторских прав, портируемости данных и пользователей. Пугающего, но всё-таки крутого, правда?
Очевидно, что я и раньше был в сомнениях относительно Mac, в противном случае это бы могло случиться быстрее (я уделил какое-то время исследованиям и тестированию потенциала игры на Маках, готовясь к возможному будущему релизу в широкий доступ), но за это время Apple снова предприняла действия, безусловно враждебные по отношению к разработчикам, и продолжила тенденцию построения и укрепления своего огороженного мира.
Одним из последних шагов компании стал отказ от поддержки в новой версии ОС 32-битных приложений. Из-за этого необязательного хода огромная библиотека ПО и игр утеряет совместимость с Mac. Сравните это с подходом Microsoft, который замечательно справляется с сохранением обратной совместимости Windows, несмотря на то, что большинство современного ПО обычно является 64-битным. Благодаря этому легче поддерживать уже готовый движок Cogmind и сосредоточиться на том, что действительно важно игрокам, например, на новых функциях.
Ещё важнее то, что Apple будет требовать от разработчиков регистрироваться, платить ежегодные взносы курировать каждую сборку, которую они хотят распространять, таким образом ещё сильнее привязывая разработчиков к жёстко контролируемому «чёрному ящику» мира Apple.
То есть мне не только придётся купить, изучить и обновлять её смехотворно дорогое «железо», но и постоянно платить компании деньги, в то же время заставляя и себя, и пользователей страдать от более медленного цикла публикации сборок и других проблем для того, чтобы Apple могла ещё больше укрепить контроль над пользователями и разработчиками. Ну уж нет.
Непомерная обуза
Создание игр — сама по себе трудная работа, даже без владельцев платформ, налагающих дополнительную обузу и ничего не дающих за неё взамен.
Особенно ужасно для игр с частыми обновлениями (roguelike! Early Access!) требование курирования — иногда за один день я выкладываю несколько сборок. Как выглядит мой обычный процесс выпуска? Я просто компилирую сборку, копирую файлы в бэкенд Steam и бам! — все сразу же получают к ним доступ — мне не нужно вставлять в эту схему чужой «чёрный ящик».
Бэкенд Steam, в котором показаны часто загружаемые сборки Cogmind с обновлениями и исправлениями одного из релизов этого года. И такое случается довольно часто!
(Примечание: мой процесс релизов без DRM более-менее аналогичен: я просто запаковываю в zip новую сборку и загружаю на сайт.)
То есть передо мной ставятся дополнительные преграды, но кроме этой обузы меня беспокоит нечто большее: по сути, я не доверяю Apple в том, что она заботится о моих интересах как разработчика.
Компания имеет длительную историю враждебных к разработчикам действий, отталкивавших профессионалов от её экосистемы; мне кажется, что это неизбежный побочный эффект построения успешного бизнеса на фундаменте огороженного сада и стремления запереть всех внутри него — кто-то останется, другие, увидевшие варианты получше, уйдут.
Неопределённость — огромный фактор риска в разработке игр, от проблем дизайна и технических затруднений до влияния маркетинга и жизни в целом. Поэтому мы не хотим, чтобы дополнительное давление неопределённости возникало «сверху», с тех уровней, на которые мы никак не сможем повлиять, не говоря уже о том, что «сверху» находится компания с плохой в этом отношении репутацией.
Другие препоны, не связанные с Apple
Кроме аспекта Apple мне также следует раскрыть причины, по которым я в первую очередь испытывал сомнения. С одной из них должен быть хорошо знаком среднестатистический пользователь Mac: это экономика.
Естественно, что существуют неснижаемые дополнительные затраты на разработку и поддержку дополнительной платформы, которые зависят от технологий и опыта работы с ней. Если не брать в расчёт время, достаточные объёмы продаж могут стоить того, чтобы вложить дополнительные инвестиции в поддержку других платформ, но это сложнее реализовать без мейнстримной игры (которая хорошо продаётся!), в случае которой неизбежно низкая доля * игроков на Mac всё равно остаётся приличным количеством. С нишевыми играми, которые делаю я, такое сделать не получится.
(*По моим данным, для среднестатистической roguelike это примерно 5%.)
Но ещё важнее для меня не финансовые расчёты, а то, что игроки на Mac склонны требовать больший объём пострелизной поддержки, а я выпускаю игру в одиночку.
Игроки на Mac составляют 4% от продаж, но 50% от запросов поддержки — это только один из множества таких примеров, взятых из данных разработчиков за несколько лет, в том числе из данных разработчиков roguelike.
Разумеется, запросы поддержки на Mac сильно варьируются и зависят от архитектуры игры и базы игроков. Но в целом их всё равно будет больше, а это представляет для меня проблему, ведь по-настоящему хорошо знаю я только Windows. Удалённо устранять проблемы трудно даже в системе, с которой я знаком, но в ней у меня хотя бы есть годы опыта и я могу справиться с разумным количеством запросов. Я бы не смог обеспечить тот же уровень поддержки пользователям других систем, поэтому мне вообще не стоит создавать для себя такую ситуацию.
Обеспечивать многоплатформенную поддержку будет проще команде, а я по большей мере сам занимаюсь всем дизайном и программированием (и на своём собственном движке — на нём нельзя «нажать кнопку, чтобы создать сборку для платформы Б»), а также маркетингом и всем остальным.
Что дальше?
Как это повлияет на будущее? К сожалению, учитывая траекторию движения Apple, я не вижу в будущем возможности выпустить для macOS что-то официальное. Я обеими руками за доступность игр и по возможности стараюсь, чтобы как можно больше людей могли насладиться результатами моей работы, но это просто не в моих силах. Важно сохранять ментальное здоровье, а с Apple это делать будет не так просто!
Я буду продолжать обеспечивать совместимость Cogmind (и других проектов) с самим Wine, в особенности потому, что он хорошо работает под Linux (как и Proton клиента Steam), поэтому если игру можно будет запустить в Wine, то играть в неё на Mac всё равно сможете.
Разумеется, вы также можете оставаться на устаревших macOS, хоть и не думаю, что это надолго. Тем не менее, благодаря этому вы сможете пользоваться и другим ПО, которое скоро «устареет».
Как бы то ни было, я надеюсь, что все поймут мою точку зрения. Это был непростой выбор, но важно смотреть на вещи трезво…
Дополнение: изначально я писал этот пост как сборник мыслей и данных, на которые можно было бы сослаться, когда меня спросят о поддержке Mac, но после публикации в Twitter, он вызвал довольно обширную дискуссию!
Источник
Сегодня большинство Windows-игр отлично запускаются под Linux. Спасибо, Proton
Некоторые популярные игры, которые пока не внесены официально в белый список Steam для Linux, но получили много положительных отзывов в ProtonDB, то есть реально запускаются и хорошо работают
10 декабря 2020 года состоялся релиз долгожданной игры Cyberpunk 2077, а за день до этого вышла новая версия Proton 5.13-4 с поддержкой Cyberpunk 2077. То есть пользователи Linux смогли играть в Cyberpunk 2077 с первого же дня. Это наглядный пример, насколько великолепная ситуация сейчас с поддержкой игр на Linux-десктопах.
Если вам говорят, что Linux — отличная платформа для игр, то это уже не преувеличение! За такое положение вещей мы должны благодарить Proton.
Что такое Proton?
Proton — это относительно новый инструмент, который выпустила компания Valve Software (официальный анонс от 22.08.2018 года). Он интегрирован со Steam Play, а его задача — максимально упростить запуск Windows-игр под Linux.
Хотя Proton интегрирован со Steam Play, но его можно собрать из исходников и использовать отдельно.
Под капотом Proton работают другие популярные инструменты, такие как кастомная версия Wine (бóльшую часть сделанных Valve модификаций приняли в основную ветку) и DXVK, которые в противном случае пришлось бы устанавливать и поддерживать самостоятельно. Наличие такого интегрированного решения значительно облегчает пользователям переход на Linux без необходимости изучать базовые системы и не теряя доступ к своей библиотеке игр.
Proton пока что находится на ранней стадии развития, поэтому поддержка неидеальна, но постепенно улучшается. Прогресс реально идёт. Например, Fallout 4 раньше работал с огромным количеством глюков, куча графики просто не подгружалась, а теперь уже можно играть более-менее нормально.
Опубликованный исходный код позволяет опытным пользователям изменять и настраивать Proton, например, использовать с конкретной игрой другую версию Wine. В реальности даже Steam поставляется с несколькими версиями Proton, которые запускаются с разными играми.
Steam также поддерживает работу с локальными установками Proton, поэтому никто не мешает вручную инсталлировать его на своей машине. Для этого нужно создать новую директорию в
/.steam/root/compatibilitytools.d/ и поместить туда содержимое dist , полученное после сборки из исходников. Затем команда make install установит Proton внутри директории Steam для текущего пользователя. Корректная установка выглядит так:
Остаётся перезагрузить Steam — и можно пользоваться! Если пройти в настройки Steam Play, то там в выпадающем списке инструментов для совместимости появится proton-localbuild .
Что такое ProtonDB?
В базе данных ProtonDB накапливаются отчёты от геймеров, которые тестируют игры с Proton на Linux. В итоге выводится общая оценка, насколько хорошо работают игры.
Оценка игре выставляется по пятибалльной шкале:
- Платина: отлично работает из коробки
- Золото: отлично работает после твиков
- Серебро: работает с незначительными проблемами, но в целом запускается
- Бронза: работает, но часто вылетает или имеет проблемы, мешающие играть комфортно
- Неисправна: либо не запускается, либо принципиально неиграбельна
На данный момент в базу включено 109 984 отчёта о 16 754 играх. Вот как выглядит рейтинг 10 самых популярных:
- Counter-Strike: Global Offensive — золото
- Dota 2 — серебро
- PLAYERUNKNOWN’S BATTLEGROUNDS — неисправна
- Grand Theft Auto V — золото
- Team Fortress 2 — бронза
- Tom Clancy’s Rainbow Six Siege — неисправна
- Rust — бронза
- Rocket League — золото
- Apex Legends — бронза
- Football Manager 2021 — серебро
Из этой десятки самых популярных игр у трёх рейтинг «золото», у двух — серебро, у трёх — бронза, а две игры не запускаются или неиграбельны. То есть 50% из десятки топовых игр нормально запускаются под Linux. Если взять сотню самых популярных игр, то этот показатель составляет 80%. Таким образом, большинство игр действительно работают в линуксовой среде.
В базе ProtonDB для каждой игры опубликованы отзывы реальных тестеров. Указана подробная конфигурация его оборудования, версия Proton и детальный отзыв по пунктам, с указанием стабильности и производительности, звука, графики и других параметров. Здесь же геймеры могут найти советы и твики, как заставить игру нормально работать в той или иной конфигурации.
Steam Play официально поддерживает ограниченный список игр, которые официально совместимы с Linux через систему Proton — так называемый «белый список». Список не такой большой, но постоянно растёт. Судя по отчётам ProtonDB, значительное количество игр, не включённых в белый список, включая многие популярные тайтлы, тоже отлично работают под Linux.
Под Linux сегодня доступны Cyberpunk 2077, Red Dead Redemption 2, Death Stranding и многие другие игры. Вообще, сложно найти игру класса AAA, которая не запускается под Linux.
Состояние VR на Linux
Под Linux есть даже шлемы виртуальной реальности. По крайней мере, Valve Index протестирован и гарантированно работает. Хотя говорят, что это единственный шлем с официальной поддержкой Linux. Однако другие шлемы типа HTC Vive или Vive Pro могут запускать игры под Linux через кроссплатформенный движок SteamVR.
Valve Index с полной поддержкой Linux
Нативно под Linux работает лишь несколько VR-игр, хотя в последнее время появляется всё больше. Но это вовсе не мешает. Дело в том, что среди Proton-совместимых тайтлов VR-игра скорее запустится под Linux, чем не-VR игра. И этих VR-игр десятки, а может и сотни.
Skyrim VR с модами. Источник: Patola
Вот Linux-совместимость самых популярных VR-игр, по рейтингам пользователей ProtonDB:
- Phasmophobia — золото
- VRChat — золото
- Elite Dangerous — золото
- Microsoft Flight Simulator — серебро
- Assetto Corsa — золото
- Beat Saber — платина
- 8-Bit Arena VR — нет отзывов
- Assetto Corsa Competizione — золото
- Tabletop Simulator — платина
- DiRT Rally 2.0 — платина
Не совсем понятно, по каким признакам ProtonDB составляет рейтинг популярности игр. Например, в нём отсутствует Half-Life: Alyx (релиз состоялся в марте 2020 года), которую называют самой революционной игрой в мире VR. Это первая адаптация культовой Half-Life для виртуальной реальности, которая при этом действительно устанавливает новые стандарты игровой разработки (см. видео ниже). В самом Steam она получила награду «VR-игра 2020 года». Багов под Linux не очень много, но достаточно для того, чтобы Valve пока не указывала факт поддержки Linux на официальной странице игры в Steam. Но она играбельна.
После Half-Life: Alyx начали появляться и другие сложные игры с глубокой физикой и мощной интерактивностью, такие как Karnage Chronicles (июль 2020) и The Wizard – Dark Times (июнь 2020).
«Физический рюкзак»: новая фишка, которую поддерживает всё больше VR-игр. Вы заводите руку за спину и «достаёте» рюкзак, в котором хранится инвентарь. Источник: Metro: Exodus
Так или иначе, но из десятки ProtonDB практически идеально запускаются почти все игры. Только по 8-Bit Arena VR нет отзывов, а у остальных рейтинги «платина» и «золото». Это удивительный результат, который является заслугой кроссплатформенного программного обеспечения SteamVR, с которым интегрирован Proton.
Дом SteamVR в виртуальной реальности
Справедливости ради, у SteamVR есть ряд известных багов под Linux. Например, не работает наголовная камера шлема Index и не срабатывает комбинация клавиш для скриншотов. Если бы SteamVR выпускался полностью с открытым исходным кодом, такие баги исправили моментально. К сожалению, остаётся только терпеливо ждать, когда их исправит Valve.
Для решения некоторых проблем разработаны утилиты SteamVR Utils — набор скриптов, улучшающий функциональность SteamVR на Linux, то есть исправляющий некорректное поведение в ряде ситуаций. Вот что приходится делать сообществу, когда разработчик долгое время не может запатчить баги.
Final Soccer VR
Проект SteamVR официально стартовал в 2015 году, когда Valve создала программные интерфейсы OpenVR API для поддержки разнообразного VR-оборудования. Хотя основная часть SDK открыта, но сами драйверы остаются проприетарными. Это даже вынудило сообщество запустить альтернативный открытый проект Open Source Virtual Reality (OSVR). К сожалению, на данный момент его разработка приостановлена и даже сайт ушёл в офлайн. Зато вполне здравствует OpenXR (с реализацией Monado) — полностью открытая и свободная альтернатива проприетарным API от Valve. Последняя бета-версия SteamVR даже поддерживает OpenXR, наряду с нативными интерфейсами OpenVR. На самом деле опенсорсные разработки в мире VR/AR идут полным ходом. Например, можно упомянуть библиотеку XRDesktop, которая реализует в виртуальной реальности традиционные десктопные интерфейсы Linux. Поддерживается интеграция с существующими оконными менеджерами.
XRDesktop: десктопный интерфейс Linux в виртуальной реальности. Источник: Collabora
А также мультиплатформенную опенсорсную утилиту OVR Advanced Settings, которая бесплатно доступна в Steam. Очень полезный инструмент для детальной настройки VR-конфигурации.
Подводя итог. На практике под Linux можно использовать практически любое VR-устройство. Для этого нужно пойти в Steam и установить программу SteamVR.
Важность игр
Казалось бы, игры — что-то несерьёзное, не имеющее большого значения. Но это не так. На самом деле удобство и комфорт работы на настольном компьютере под Linux во многом зависит от того, какие игры здесь доступны и насколько комфортно в них играть. Поэтому так важно, чтобы под Linux выходили драйверы для последних видеокарт и они хорошо работали. То же самое касается самих игр, особенно популярных.
Игры имеют огромное, если не определяющее значение для популярности настольных дистрибутивов Linux. Игры вообще имеют кардинальное значение, в принципе. Давайте немножко пофантазируем. Представьте, что какая-то мегапопулярная игра выйдет эксклюзивно под Linux. Как думаете, что произойдёт на мировом рынке операционных систем? Насколько изменится соотношение Windows и Linux? Да многие подростки просто ради этой игры снесут Windows к чертям и поставят Linux, почему нет, если в свободной ОС поддерживаются все те же возможности, что и в Windows. Этот мысленный эксперимент демонстрирует, насколько важны игры для принятия новой операционной системы.
Вот почему система Proton для запуска игр под Linux — настолько важный проект. Будем надеяться, что Valve не забросит его.
Если сравнить количество доступных игр под Linux хотя бы десятилетие назад и сегодня, то это просто небо и земля, абсолютно иной мир. Не говоря уже о виртуальной реальности, которая отлично поддерживается в Proton. Никто даже мечтать не мог о таком невероятном будущем.
На правах рекламы
Серверы для игровых серверов и любых других задач — это про наши эпичные! Все серверы защищены от DDoS-атак. Лучше один раз попробовать.
Источник