Сегодня у нас перевод
интервью с человеком, который занимался портированием многих игр на Linux, в том числе Quake 3 Arena. Послушать, что думает про игры на Linux Райан Гордон особенно полезно, если вспомнить, что Steam собирается перекроить ландшафт игровой индустрии при помощи своей SteamOS и Steam Machines.
Вы портировали на Linux множество игр. Почему вы занимаетесь этим, и как все началось?Я работал в студии под названием Loki, которая специализировалась на портировании AAA-тайтлов на Linux. Это было сделано по аналогии с портами на Mac. В те времена я был студентом, который от скуки поставил свой первый Unix. И когда я получил предложение работать над портированием таких игр, как Quake 3 Arena и Heroes of Might and Magic, я, конечно, не мог отказаться. После Loki я продолжил в том же духе, занялся Serious Sam и пошло-поехало...
В чем смысл в идее развивать игры под Linux? У главы Steam есть свое мнение. А вы как думаете, если рассмотреть вопрос с точки зрения игрока и разработчика?Я не фанатик бесплатного софта, но Linux показывает нам, чего можно достичь, если объединить усилия, а не сидеть по углам и не обкладывать копирайтами каждую строчку кода. Мне не важно, кто стоит за всем этим: IBM или Google. Главное, результат.
Как разработчику, мне нравится, когда я могу сам найти ошибку в коде и поправить ее, а не ждать, когда какая-то большая компания выпустит патч. Я могу сам улучшать систему, если мне охота тратить на это время.
Если оставить в стороне идеологию, где-то там есть куча денег, которые люди готовы потратить на хорошие игры. Осталось только их написать.
С точки зрения игрока, неплохо сидеть за компьютером, на котором установлена система, которой не грозит дилемма: остаться на Windows 7 или прыгать на Windows 8? И для программиста, и для пользователя такая система дает больше контроля.
Прямо сейчас на смену X11 идет новая технология, которая сделает все эти факторы еще более значимыми.
После анонса SteamOS у людей вроде вас появится много работы. Что необходимо знать, чтобы выполнять ее, и что в ней самое сложное?Здесь можно провести аналогию с разработкой под PC и консоли. Вы должны знать какие-то специфические вещи о PlayStation SPU, если портируете игру для Sony. Но все более открыто: вам хватит старенького компьютера, все инструменты бесплатны, вся документация открыта. Вам надо только захотеть заняться разработкой под Linux - этого достаточно.
Разработка под Linux стала проще. Появились новые инструменты, облегчающие работу, типа SDL 2.0.0. Свою роль сыграл и успех iOS. Сейчас легче найти людей, которые понимают OpenGL, и как работает Unix.
Портирование игры с Windows на Linux может занять месяцы, а с Mac OS X - дни. Это звучит странно, но существование Mac и iOS помогают разработчикам под Linux.
С анонсом SteamOS, вы прогнозируете расширение вашего бизнеса?Конечно! Но для нас это началось даже раньше, когда был анонсирован клиент Steam для Linux.
Мы видим, что инициативу Steam поддерживает NVidia. Как это повлияет на процесс?Вы не поверите, сколько специалистов, и не только из NVidia, помогали нам с драйверами под Linux. Конечно, это помогает. Главное, не в том, что какая-то игровая платформа X получила заверения в поддержке. Главное - прогресс. Как бы не обернулось дело в дальнейшем, пользователи Linux останутся только в выигрыше.
Почему сделать порт на Linux с Mac проще, чем с Windows?Самая сложная часть портирования - это работа с Direct3D. В Mac клиенте работа с графикой идет через OpenGL. Это здорово облегчает жизнь. Если повезет, Mac использует SDL при использовании низкоуровневого API и POSIX, который отлично ложится на Linux-клиент.
Чего не хватает Linux, чтобы повысить свою привлекательность в качестве игровой платформы?Уже сейчас многое делается для этого. Успех Humble Bundle доказывает, что Linux-юзеры хотят играть и могут платить за это. Unity3D позволяет разрабатывать игры разработчикам, которые пока слабо разбираются в Linux. Valve выпустила клиент для Linux, и игр под эту систему становится все больше. Думаю, SteamOS только ускорит этот процесс.
Что бы вы сами хотели сказать нашей аудитории?Если собираетесь адаптировать вашу игру для Linux, обратите внимание на используемое вами миддлваре и требуйте поддержки Linux от производителей или возможности самим его доработать.
Используйте SDL 2.0. Это - как DirectX для Windows - стандарт программирования игр под Linux. Возможно, вы даже перейдете на него в разработке игр для Windows, как это сделали в Valve.