Бытует мнение, что игр под Линукс мало, и вообще все они любительские или малобюджетные. Это мнение в корне неверно. Причем дважды. Во-первых, очень многие игры сейчас выпускаются сразу в двух версиях — под Windows и Линукс. Doom 3, Unreal 2003, F.A.K.K. 2, Neverwinter's Night — список можно продолжить на несколько страниц. Просто у нас эти линукс-версии игр найти в продаже так же сложно, как пингвина в вашей ванне. Другой ложный тезис — игр для Линукс мало. На самом деле их много. Не меньше, чем под Windows. Но опять же, их не продают на пиратских лотках с дисками. Все линуксовые игры лежат «во глубине сибирских руд», то бишь где-то в Сети.
Многие из них попадают в дистрибутивы Линукса — в том же Mandrake вы найдете несколько десятков игр, а в Debian даже больше. И RedHat не отстает. Разумеется, эти игры — некоммерческие проекты, и максимум графики, которую вы можете получить — примерно на уровне Quake 2 или модифицированного Doom 1 с динамическим освещением, прозрачными поверхностями и полным фри-луком. Подавляющее же большинство — это, действительно, любительские игры. Аматорство накладывает на них определенный отпечаток.
Когда создается коммерческая игра, то у нее есть некий бюджет. Нанимается команда — программисты, дизайнеры, художники, сценаристы, звукорежиссеры, актеры, группа тестеров... Кстати, «профессиональный» тестер выполняет адскую работу. Он не просто играет в самых хардкоровых режимах. Он должен в особом «формате» сообщать о глюках, подробно их описывать. В модуле таком-то после таких-то действий произошло то-то. И все это надо изложить по-военному ясно и с техническими подробностями. Вот попробуйте штук тридцать подобных отчетов за день тестирования альфа-версии написать, и Земля не покажется вам таким уж привлекательным местом. Но я отвлекся.
Итак, бюджет коммерческой игры в наше время приближается к бюджету дорогого фильма. А линуксоиды если делают игру, то могут рассчитывать лишь на собственные таланты. Найдут художника — хорошо. Нет — будет векторная графика. Пара каркасных моделей, и все ОК. Нет умельца сделать звук — не будет звука. Или некие трудноописуемые шумы взамен. Наконец, нет сценариста — зато есть голый движок :-).
Поэтому в мире игрового Линукса наблюдается следующая ситуация — отдельно разрабатываются мультимедийные и игровые библиотеки (SDL, ClanLib, Allegro), отдельно движки (Crystal Space, DoomLegacy, LxDoom), и уже на основе всего этого энтузиасты творят игры.
Но в последнее время не только энтузиасты обратили внимание на разработку игр под Линукс — за дело взялись серьезные компании. Исторически сложилось так, что мультимедийные возможности Линукс начали активно развиваться относительно недавно. Например, ситуация с видеокартами. Поддержка трехмерной графики была заложена в драйверы под легендарную линейку Voodoo, да еще nVidia выпускает свои драйверы. ATI начала официально выкладывать на своем сайте драйверы под Radeon'ы только в конце прошлого года — до этого знаменательного события владельцам этих карт приходилось либо ставить «левые» драйверы, или довольствоваться софтварной эмуляцией OpenGL.
Об OpenGL разговор особый. Большой вклад в развитие игр для Linux внесла компания idSoftware, выпуская одновременно релизы своих эпохальных игр как под Windows, так и для Линукса. В все потому что OpenGL, с помощью которого эти игры взаимодействуют с графической подсистемой — универсальная платформонезависимая библиотека функций для работы с трехмерной графикой.
Осенью 2002 года, помнится, один из журналов провел тестирование — запускали Quake 3 на машине с установленными Windows 98 и Mandrake 8.1. На последней «Квака» выжимала на 20 кадров в секунду больше, нежели под Windows.
Итак, через несколько лет Линукс вполне может стать доминирующей платформой для игр и тесно интегрироваться с игровыми консолями. На это указывает уже тот факт, что Линукс запускается на SonyPlaystaion 2.
Однако игровая экспансия — дело будущего. Этим материалом мы начинаем серию статей об играх, которые доступны уже сейчас. Поскольку купить большие коммерческие игры под Линукс в нашей стране сложно, то буду описывать небольшие бесплатные продукты, которые можно скачать и установить без напряги. То есть либо в RPM-пакете, либо исходник, собираемый привычным configure/make/make install без всякого шаманства. Ориентируемся в основном на чайников в Линуксе, которые привыкли к запуску игр по щелчку на иконке.
Поскольку версии описываемых продуктов обновляются довольно часто, буду давать ссылку на сайт программы, потому как ссылка на дистрибутив, более чем вероятно, устареет к моменту выхода статьи в печать.
Итак, начнем. Первым гостем сегодня у нас будет:
Super Tux — Revenge in Redmond 0.0.3
Сайт: http://www.newbreedsoftware.com/supertux/
Герой этой нехитрой бродилки — известный символ Линукса, пингвин Tux (произносится как нечто среднее между «Тёкс», «Токс» и «Текс»). В начале показывается небольшой анимационный ролик, в котором некто загадочный на черном как смоль вертолете похищает подружку Tux'а — Gown. По названию игры можно предположить, что этот некто — из Редмонда :-).
Итак, пингвин берет ноги в руки и отправляется на поиски. Игра как две капли воды концептуально похожа на старых приставочных «Братьев Марио», только вместо звездочек или монеток (я уже не помню, что там было) вы собираете... хм, дистрибутивы Линукс. А враги — мониторы с «синими экранами», прыгающие мешки денег и тому подобное.
Несколько огорчает одно — вернее, один. В игре покамест всего один уровень. Хотите больше? Вооружайтесь энтузиазмом, связывайтесь с разработчиком и делайте новые уровни!
Технические аспекты: Super Tux работает под SDL и компилируется тривиальным make. Запускается игра в окне или полноэкранном режиме (с параметром в командной строке --fullscreen)
Следующие три игры можно скачать с одного и того же сайта — http://www.lgames.org/. Все они требуют для компиляции библиотеку SDL (похоже, она в скором времени станет для линуксовых игр тем же, что DirectX в мире Windows). Могут работать как в полноэкранном, так и оконном режимах — переключается в опциях. Не требуют никакой акселерации, поэтому идут нормально даже на старых видяхах.
LBreakOut-2
Стильный «арканоид» с возможностью играть по сети. Надо сказать, это одна из лучших игр этого жанра, которые я видел. LBreakOut позволяет выбирать для игры один из так называемых level-set'ов, то есть разных наборов уровней. Такие наборы можете делать и вы — в игру встроен очень интуитивный и эргономичный редактор уровней. Создав нечто замечательное, вы даже можете опубликовать свой набор в Сети, и если повезет, ваши уровни включат в следующий релиз.
Никаких проблем с игрой не возникает, разве что в определенном режиме ее работы мышь может покидать игровое окно, что причиняет неудобства. Чтобы такого не происходило, надо зайти в меню Controls, и включить опцию Relative motion (относительное движение).
LMarbles
Очень красивая и необычная головоломка. У вас есть некий лабиринт и набор цветных шариков. Перемещая эти шарики по коридорам, вы должны составить узор по заданному образцу. Когда вы составляете его, то попадаете на другой уровень. Ситуация усугубляется тем, что шарики могут двигаться только из одного конца коридора в другой, по вертикали либо горизонтали. И если поворот в иной коридор расположен где-то по центру текущего коридора, то приходится шариками «забивать» отрезок коридора так, чтобы шарик, который вы хотите провести, блокировался ими.
Графика — отличная, звуки не напрягают слух, музыки нет. Впрочем, чего вы хотите от игры, дистрибутив которой весит всего лишь 800 килобайт, хоть выглядит она в три раза больше?
Ltris
Как понятно из названия, это тетрис, причем один из наиболее красочных тетрисов под Линукс. Больше о нем нечего сказать. Поэтому не буду разводить воду и перейду к следующей игре.
Xrick
Сайт: http://www.bigorno.net/xrick/
Это SDL-ремейк игры Dangerous Rick от известной компании разработчиков Core Design. Южная Америка, 1945 год. Авантюрист Рик занимается поисками загадочного племени Гула. Пролетая над рекой Амазонкой, самолет Рика терпит крушение, и наш герой попадает прямо в «дружелюбный» район, населенный дикарями из этого самого племени. Начинается игра весьма хардкорово — надо бежать по лабиринту от катящегося за тобой камня. Одно прикосновение к нему (или к врагу) — мгновенная смерть. Впрочем, нажатие F8 дает тебе бесконечную жизнь :-). Надо сказать, что чит-коды к игре нарочито закреплены за клавишами F7-F9. Непонятно зачем, но приятно.
Другой приятностью является переключение разрешения игрового окна — F2 его уменьшает, а F3 — увеличивает. F1 вообще переключает в полноэкранный режим. Геймплей несколько напоминает классический Prehistorik. Словом, добротная бродилка — бегаете, прыгаете, стреляете, собираете призы.
Хотя по сюжету вам надо выбраться из «тропического ада», дела обстоят иначе. Рик — эдакий вооруженный до зубов «бригадный», который мочит голопузых дикарей. Рик может бить их дубинкой (влево/вправо-пробел), стрелять из пистолета (вверх-пробел) и ставить на землю бомбу (вниз-пробел) — о, этот сладкий запах напалма на рассвете!
Указания по компиляции. Сначала даете команду ./config, потом make.
На сегодня, пожалуй, все. В следующем рейде по Сети я скачаю еще несколько игр под Линукс и непременно расскажу о них вам.