LINUX.ORG.RU

Интервью с Райаном Гордоном

 , ,


1

2

На игровом сайте cheerfulghost.com опубликовано интервью с известным в сообществе GNU/Linux программистом, прежде работавшим в Loki Software и портировавшим множество игр и некоторые приложения на GNU/Linux, Райаном Гордоном, известного также как Icculus.
В последнее время Райан также работает с командой Humble Bundle.

Выдержки из интервью:

О нынешнем состоянии игр под Linux:
Есть прогресс. Это значимый год. Unity3D, Valve готовит релиз Steam, всё это хороший фундамент на будущий 2013 год.

Кто в итоге возглавит производство игр под Linux:
Спросите меня опять через три месяца. :) Вопрос будет состоять в том — заразит ли распространяющийся энтузиазм такие компании как Electronic Arts, Activision, Ubisoft? Вернётся ли Epic и Id? Время покажет.

Об Windows 8:
Я много не знаю, хотя видел больше рекламы о ней за этот месяц чем рекламы прошедших выборов президента США.
Думаю Valve обратила внимание на Linux именно из-за открытия Windows Store. Если у вас есть магазин торгующий ПО, сможете ли вы остаться на плаву с приложениями для ОС в контроле закупок которых заинтересован сам производитель этой ОС? Между Apple и Microsoft Valve борется за менее сдерживающую её платформу.
Если будет какой-то успех, то это уже здорово для linux-геймеров, а если выйдет намного лучше, то это огромный выигрыш для всех. Кто-то же должен дать пинка этим огороженным магазинам, которые растут как грибы после дождя на каждой платформе.

Интерес к Linux в качестве игровой платформы растет потому что:
Steam готовит релиз для Linux, серии Humble Bundle стали толчком для портирования игр, Unity сделала порт своего движка, Kickstarter завален заказами от линуксоидов.
Просто много всего (в частности, что касается денег) произошло в этом году и это мотивирует многих разработчиков попробовать что-то новое.

Про Humble Bundle:
С командой Humble Bundle действительно приятно работать. Никто из них не выгораживает Linux как какую-то особенную платформу, ну и около 25% их дохода поступает от linux-геймеров, так что это им выгодно.

Любимый проект:
Google Earth. Это была не игра, а месяц жизни под столом в Googleplex (штаб-квартира компании Google) — удивительное впечатление. Скучаю иногда.
На втором месте Unreal Tournament 2003. Я работал в офисах Epic в течение нескольких недель пытаясь сделать версию игры под Linux на Retail CD, что мы и сделали! Это был первый раз, когда я почувствовал себя настоящим разработчиком игры.

В настоящее время работает над:
Запуском Steam, я уже запутался. Killing Floor и Red Orchestra были анонсированы на днях. В процессе разработки есть и другие, но меня уже постигла неудача за преждевременные заявления. :)

Предпочитаемый дистрибутив:
Сейчас Ubuntu. Он просто работает, да и я про это много не думаю. Раньше, в начале 90-х, я был фанатом Slackware, хотя какая сейчас разница?

Про попытку включения в Linux FatELF. Про недавнее предложение по улучшению поддержки полноэкранного режима в играх под Linux:
На счёт FatELF — я был совершенно ошеломлён ответной реакцией. Во-первых это небольшое изменение не нарушит существующую систему, но добавит функциональности при почти нулевых затратах. Я был хорошо осведомлён по этой теме, подготовился заранее и даже имел готовую виртуальную машину для доказательств чтобы не выглядеть нубом, раз пошёл на такой шаг, т.к. это ядро ​​Linux — Премьер-Лига. Но постойте, я столкнулся с какой-то враждебностью. Это было странно, как-будто тебя как младшеклассника снова унижают крутые ребята в столовой. Возможно тогда я слишком близко принял это к сердцу — люди могут сами по себе судить просмотрев архив списка рассылки.
У меня есть целый ряд таких вещей как FatELF которые я хотел бы когда-нибудь собрать вместе и сделать Linux лучше во всех аспектах. FatELF лишь показался хорошим началом. Но я выбросил эти дурные мысли из головы — «почему мне хочется сотрудничать с этими людьми?» — я решил полностью переключиться на Mac OS X. Но в конце концов я остыл и расставил приоритеты вещам в которых не нуждаются другие проекты.

Сэм Лантинга (один из создателей SDL) работает в Valve и использует SDL для игр Valve. Это здорово. Одна из вещей, которые они хотят чтобы она работала лучше — полноэкранные игры. Сейчас с этим бардак. Приложение захватывает весь экран, изменяет разрешение, а может упасть, после чего рабочий стол исказится или может все окна пропадут. Проблема в том, что не та штука отвечает за изменение разрешения. Сэм и я и так и сяк миллион раз пробовали найти «правильный» способ и решили, что единственным верным решением для этого является захват экрана оконным менеджером. Я написал и отправил им патч и затаив дыхание жду ответа, может снова придётся решать эту проблему.

Конечно были разногласия, но в подавляющем большинстве случаев приходили к консенсусу — «есть проблема, а вот неплохое решение». Оказывается, что сообщество с которым вы взаимодействуете является важным фактором. Я был гораздо менее осведомлён в этой области, чем когда это было с FatELF, но члены сообщества были более радушными. Все их мнения обобщены и вышло лучше моих первоначальных планов. Мы почти готовы начать исправления ПО.
Не думаю, пытался бы я если б Сэм и Valve не поощряли меня это сделать. Возможно я опять начну слать патчи.

Что нужно чтобы разработка и портирование игр стало проще:
Нам очень нужен более совершенный отладчик OpenGL. ApiTrace хорошее начало, но это только начало.

Про проект iodoom3:
iodoom3 на данный момент застопорился, каждый занят другими вещами. Рано или поздно мы начнём над ним работать, но я думаю, что все были гораздо более увлечены Quake 3, чем сейчас Doom 3, это видно по прошедшим событиям.

>>> Подробности

★★★★★

Проверено: JB ()

ApiTrace интересный, но у него есть и глупые ошибки типа модального окошка «Вы указали неверный файл», всплывающего после того как я отменил диалог выбора файла. Хотя это даже здорово - можно советовать всем тем людям, которые ищут интересный опенсорсный проект на плюсах.

Кстати, народ, взгляните на этот опрос на хабрахабре, там же 15% выбравших 5-й вариант. И если встретятся вам такие же люди или студенты, не знающие куда податься, посоветуйте контрибьютить в apitrace: там можно и гуй qapitrace улучшать (заменить модальные окна на статусную строку и QValidator хотя бы), и попробовать прикрутить поддержку OpenAL, и попробовать сделать apitrace встраиваемым в QtCreator, и добавить настройку enviroment variables при запуске приложения на трейсинг (сейчас, увы, он даже workdir неверный задаёт).

quiet_readonly ★★★★
()

Мне нравится его оптимизм.

Jayrome ★★★★★
()

Не то чтобы FatELF плох сам по себе - но его введение стимулирует лень у разработчиков и мейнтейнеров. Зачем делать много пакетов под разные архитектуры, если можно сделать одну свалку. А страдать будут пользователи, храня у себя невостребованный код.

Nanodesu
()

Сейчас Ubuntu. Он просто работает, да и я про это много не думаю. Раньше, в начале 90-х, я был фанатом Slackware, хотя какая сейчас разница?

Печально слышать такое от разработчика.

Chaser_Andrey ★★★★★
()

Ubuntu, Slackware - какая сейчас разница?

anonymous
()
Ответ на: комментарий от Nanodesu

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

Evgueni ★★★★★
()

Спасибо за интервью. Гордон — интересный индивид.

Evgueni ★★★★★
()
Ответ на: комментарий от chiptune

Linux - ось для геймеров?

Как-то не похоже.

cipher ★★★★★
()

Перевод плох до неправильности.

Например, «Kickstarter завален заказами от линуксоидов.»

Вы уверены, что заказы от линуксойдов, а к (для, на) линуксойдам?

А вот это место вызывает недоумение:

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

Разве steam не один из этих «огороженных магазинов»? Причем один из центровых?

AVL2 ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

А если это разработчик прикладного софта, то как ему может помешать убунта? Ведь она тоже GNU/Linux, что бы там ни говорили тролли.

kravich ★★★★
()
Ответ на: комментарий от AVL2

Например, «Kickstarter завален заказами от линуксоидов.»
Вы уверены, что заказы от линуксойдов, а к (для, на) линуксойдам?

Kickstarter being flooded with Linux customers.

Разве steam не один из этих «огороженных магазинов»? Причем один из центровых?

Спроси у него — Someone has to push back on these walled-garden app stores that are popping up on every platform.

amorpher ★★★★★
() автор топика

> На счёт FatELF — я был совершенно ошеломлён ответной реакцией.

Я тоже. Я сильно удивляюсь тому, что как только кто-то хочет изменить способ установки программ в Linux с целью упрощения, так вдруг откуда-то приходят массы людей, которых я не знаю, и которые заявляют что автор не прав. Эо выглядит как много виртуалов одного и того же человека. А ведь было бы здорово, если бы для x86 и x86_64 был бы один бинарник, а не два. И другие архитектуры не обидели бы, скорее всего. Но нет же - ненависть. Как и у любого проекта, упрощающего создание дистрибутивонезависимых бинирников!

ZenitharChampion ★★★★★
()

> Сэм Лантинга (один из создателей SDL) работает в Valve и использует SDL для игр Valve. Это здорово. Одна из вещей, которые они хотят чтобы она работала лучше — полноэкранные игры. Сейчас с этим бардак. Приложение захватывает весь экран, изменяет разрешение, а может упасть, после чего рабочий стол исказится или может все окна пропадут. Проблема в том, что не та штука отвечает за изменение разрешения.

Интересно, а он видел это? У меня сворачивает.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от chiptune

> Linux - ось для геймеров?

Только благодаря Icculus. Он начал портировать игры тогда, когда этого ещё никто не делал. SDL и OpenAL появились в Loki Software с целью облегчить портирование. бОльшая часть игр из Humble Bundle портируется им. До Humble Bundle те 10 лет после закрытия Loki Software он также портировал огромное количество игр.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

как только кто-то хочет изменить способ установки программ в Linux с целью упрощения

Куда уж проще-то? Я до этого не слышал ничего про FatELF и реально не могу понять, какую проблему он пытается решить?

BlackNight
()
Ответ на: комментарий от amorpher

Kickstarter being flooded with Linux customers.

Ну что и требовалось доказать. Кастомер, это клиент, заказчик. А линуксойд, это просторечивое назавние того, кто работает с линуксом, кто его знает.

Так что логично было бы перевести «Kickstarter завален заказами для линуксоидов.»

AVL2 ★★★★★
()
Ответ на: комментарий от BlackNight

Куда уж проще-то? Я до этого не слышал ничего про FatELF и реально не могу понять, какую проблему он пытается решить?

Ну почитай, что ли. Это один бинарник под несколько архитектур.

AVL2 ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

>> Сейчас Ubuntu. Он просто работает, да и я про это много не думаю. Раньше, в начале 90-х, я был фанатом Slackware, хотя какая сейчас разница?

> Печально слышать такое от разработчика.

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

Хотя, возможно портирование UT3 было прекращено из-за сбоя Ubuntu. Небольшая вероятность этого есть. Причина не называется, поэтому мне кажется что это какая-то глупость: старый бэкап без 5000 строк кода, которые были идеальны, и обида от этого, например. Поэтому глупый убунтоспецифичный сбой с небольшой вероятностью мог бы случиться.

Я помню как в старых версиях Ubuntu (а новые я не пробовал и возможно что проблема не решена) UT2004 через 5 минут после начала игры сильно искажал звук, который постепенно становился всё тише и пропадал. Многие подтвердят этот баг. И я решил его: пересобрал OpenAL и всё стало работать! Может, Icculus потратил на поиск решения проблемы кучу времени и так и не поборол звук?

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 2)
Ответ на: комментарий от Chaser_Andrey

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

anonymous
()
Ответ на: комментарий от ZenitharChampion

А ведь было бы здорово, если бы для x86 и x86_64 был бы один бинарник, а не два.

Зенитарчик продолжает впадать в маразм.

И другие архитектуры не обидели бы, скорее всего.

Да здравствуют x10 толще апдейты!

anonymous
()
Ответ на: комментарий от AVL2

Это «архив» с бинарниками под разные архитектуры. Костыль.

anonymous
()
Ответ на: комментарий от ZenitharChampion

Вообще имхо реакция довольно здоровая, хотя может чуть перегнули. FatELF на линуксе не нужен, он пригоден _только_ для ОС, заточенных под одну архитектуру.

Когда у тебя система собрана под роутер, под комп, армовый нетбук и IP-телефон - что, все разом тянуть станем? Вряд ли. А если делать бинарь только под x86 - тогда получаем разные методы установки/запуска на разных архитектурах в одном дистре (тот же Debian держит штук 8 вроде). Плюс оно все станет радостно падать на 90% дистров без плясок с бубном (статика, сиди ищи нужную версию либы).

Короче имхо концепция FatELF на системе вроде линукса - это сильно лишнее. Не только из-за закрытости и статических либ (которых может тупо не быть), но и из-за бардака с архитектурами

upcFrost ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Предлагаю за посты этого индивида про Убунту снимать ему 20 скора.

anonymous
()
Ответ на: комментарий от Chaser_Andrey

Ну некоторым разработчикам надо рабтать, а не только сношаться с ситемой.

Polugnom ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Как мне кажется, введение универсальных бинарников не особо упростит способ установки программ. Гораздо более действенным было бы создание фичастого пакетного менеджера, который позволил бы одинаково удобно устанавливать софт как из репозиториев, так и из сторонних источников. Насколько видно мне, неопытных пользователей в линуксе сбивает именно способ, которым устанавливается софт. При установке из реп необходимо знать название пакета (часто довольно замысловатое), однако магазин вроде убунтовского тут спасает. При установке по не из реп вообще труба. Клик в фм по .deb - самое удобное в таком случае, но фиг знает что там с зависимостями, особенно если deb-пакет тестировался только со старыми версиями дистрибутива. Вариант в виде .run или .configure/make/checkinstall вообще непроходимый квест для неопытного пользователя. Недавно была новость про пакетный менеджер GUIX, основной фишкой которого является установка из бандлов в стиле macosx, возможно, это оно.

kravich ★★★★
()

Сейчас Ubuntu. Он просто работает, да и я про это много не думаю. Раньше, в начале 90-х, я был фанатом Slackware, хотя какая сейчас разница?"

Правильные слова.

MikeB ★★★★
()
Ответ на: комментарий от AVL2

Ну почитай, что ли. Это один бинарник под несколько архитектур.

Так я и почитал. И не понял. Ещё раз: какую проблему эта штука пытается решить? Какие конкретно есть неудобства, которые FatELF должен устранить?

BlackNight
()
Ответ на: комментарий от kravich

> Как мне кажется, введение универсальных бинарников не особо упростит способ установки программ. Гораздо более действенным было бы создание фичастого пакетного менеджера, который позволил бы одинаково удобно устанавливать софт как из репозиториев, так и из сторонних источников.

Так есть же. SRPM'ки позволяют установить любую версию нужной программы, хоть из SVN/GIT. Open Build System позволяет с помощью одного spec-файла сделать свою RPM'ку для 20 дистрибутивов Linux 5 последних версий.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от kravich

Недавно была новость про пакетный менеджер GUIX, основной фишкой которого является установка из бандлов в стиле macosx, возможно, это оно.

Хлам. Собери все либы в один каталог и передавай его. Такая же ерунда.

anonymous
()
Ответ на: комментарий от upcFrost

Всё разом - не думаю. Но объединить x86 и x86_64 было бы неплохо. А какие бывают разные способы сочетания бинарников для двух архитектур в одной системе? Я знаю /usr/lib32, а в /usr/lib - 64-битные, и наоборот, в /usr/lib - 32-битные, а в /usr/lib64 - 64-битные. И в случае использования FatELF не пришлось бы разделять этот каталог на два. Дополню: в твоём сообщении есть слова «закрытый» и «статика». Почему ты думаешь что там закрытое и статика?

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 2)
Ответ на: комментарий от kravich

Собственно, к чему я веду - для обычного пользователя установка по из сторонних источников должна выглядеть так: Клик по файлу->«Вы действительно хотите установить эту программу на свой страх и риск?»->Принятие лицензионного соглашения->Процесс установки в систему->Готово. Но не в ущерб тем способам установки и конфигурирования ПО, которые существуют сейчас.

kravich ★★★★
()
Ответ на: комментарий от upcFrost

FatELF ориентировался на решение проблем возникающих при раздаче закрытых приложений, тех же игр, которые устанавливаются не из репозитория дистрибутива. И существующим бинарникам никак бы не помешали. Сейчас разработчик должен выкладывать несколько различных версий под каждую из платформ (х86 и х64 в основном), а домохозяйки должны разбираться что же им качать и почему ничего не работает.

Tweaker ★★★★☆
()
Ответ на: комментарий от BlackNight

Распостранение одного бинаря под все поддерживаемые архитектуры. Игра в тарболе, которая идет и под x86 и под x86_64 без необходимости доставлять всю линию x86 библиотек.

Или даже дистрибутив, который можно поставить и использовать в родном режиме и на x86 и на x86_64 .

AVL2 ★★★★★
()
Ответ на: комментарий от kravich

Кроме GUIX существует Zero Install, если тебя интересуют такие вещи, попробуй. И аноним сказал что все библиотеки зависимости (кроме перечисленных здесь и здесь) можно положить в архив с игрой, и тогда всё будет просто работать. Последний способ как раз и использует Icculus при портировании игр, и у меня запускается на любом компьютере.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 2)
Ответ на: комментарий от ZenitharChampion

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

daemonpnz ★★★★★
()
Ответ на: комментарий от amorpher

От лох^W компаний, которые не имеют никакого отношения к линуксу, но очень хотят продавать свои продукты и на этой платформе.

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

AVL2 ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Думаешь FatELF-бинарь будет с приложенными исходниками и не будет зависеть от конкретной версии либ?

Кстати

Я знаю /usr/lib32, а в /usr/lib - 64-битные, и наоборот, в /usr/lib - 32-битные, а в /usr/lib64 - 64-битные.

Лучше это не менять особо имхо. Для довольно большого количества софта конечно пофиг, но спецсофт на изменения реагирует очень болезненно. Пример - запуск Ansys 64-бит на генте (знатно потрахался) если на компе стоят еще какие-нибудь проги 32-бит only. Когда 2 директории - можно хоть как-то симлинками кинуть нужные либы в нужные места и обозвать как надо, а так получается, что надо как-то разом держать все в одной папке.

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от kravich

Собственно, к чему я веду - для обычного пользователя установка по из сторонних источников должна выглядеть так: Клик по файлу->«Вы действительно хотите установить эту программу на свой страх и риск?»->Принятие лицензионного соглашения->Процесс установки в систему->Готово. Но не в ущерб тем способам установки и конфигурирования ПО, которые существуют сейчас.

Проще всего было бы по умолчанию ассоциировать *.run файлы с /bin/sh, чтобы запускалось в независимости от прав. Ну, или уж сделать какой-то формат файлов с описанием репозиториев и пакетов, которые оттуда нужно установить. Ничего похожего разве ещё нет?

BlackNight
()
Ответ на: комментарий от AVL2

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

daemonpnz ★★★★★
()
Последнее исправление: daemonpnz (всего исправлений: 1)
Ответ на: комментарий от BlackNight

«Проще всего было бы по умолчанию ассоциировать *.run файлы с /bin/sh, чтобы запускалось в независимости от прав.»

Ага, с суид битом обязательно. Да здавствуют вирусы, трояны и линлокеры.

daemonpnz ★★★★★
()
Последнее исправление: daemonpnz (всего исправлений: 1)
Ответ на: комментарий от upcFrost

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

Сейчас тоже из Gentoo и здесь /usr/lib32 и /usr/lib с 64-битными библиотеками. В Debian и Ubuntu так же. В RPM-based - второй увиденный мной случай (/usr/lib и /usr/lib64). Так существует ещё и 6 других способов, или я тебя неправильно понял?

ZenitharChampion ★★★★★
()
Ответ на: комментарий от Tweaker

Это не айс. Игры весят много, а разом и x86, и x86_64 - куча места уйдет. Поддержу идею kravich по поводу фичастого пакетного менеджера. Это кстати улучшит взаимодействие дистростроя и разрабов

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

От удвоения кол-ва библиотек существенного роста размера пакетов игр не произойдёт, ибо основную долю занимают ресурсы, а они кросплатформенны.

daemonpnz ★★★★★
()
Ответ на: комментарий от ZenitharChampion

или я тебя неправильно понял

Правильно, я собственно про то, что лучше двойственность либ-директорий /usr/lib32 (64) и /usr/lib не убирать. Это иногда реально спасает.

прибитость к конкретным версиям системных библиотек и сейчас никуда не пропала

Есть такое, но опять же - в дистре за этим следят. А так - выпустит разраб хз чего, и сиди потом думай откуда брать либы. Сейчас та же болезнь, просто имхо еще хуже станет.

upcFrost ★★★★★
()
Ответ на: комментарий от AVL2

И что за компании такие?
Хотя смысл не меняется — факт, что заказ идёт под линукс.

amorpher ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.