LinuxBegin.ru - offline-версия от 26.04.2004
Главная | Все темы | Все статьи | Ссылки | Аналоги Windows-программ в Linux | Top 20

Время играть
(Программное обеспечение, работа в Linux)


- Сергей А. ЯРЕМЧУК, 26.01.2004, Мой Компьютер Weekly, оригинал -

Не секрет, что одним из главных и самых тяжелых камней, который ложится на чашу весов, прочащих покупку компьютера, для большинства пользователей выступает желание просто поиграть. Программированием, 3D-моделированием, Интернетом и прочими еще нужно "заболеть". Также не секрет, что одним из главных недостатков, который ставится в вину GNU/Linux, считается малое количество доступных игр. Именно доступных, так как очень много игр, написанных под OpenGL, портируется и под эту ось, только вот найти их на раскладках (которые являются главными поставщиками ПО в нашей стране) довольно проблематично. Я уже переболел играми, да и как-то времени все равно на них не хватает - бывает, погоняю, чтобы отвлечься, во что-нибудь простенькое вроде морского боя, и то недолго. И поэтому, отвечая на многочисленные просьбы помочь в поиске аналогов, я обычно ограничивался ссылками. Но встреча с ребятами из ровенского клуба читателей нашего журнала убедила - народу нужны игры. Ну а раз народ требует, то и я потихоньку подключусь к уже начавшемуся циклу статей, посвященных теме игр под Linux (см. статьи Петра СЕМИЛЕТОВА "Играющий пингвин", МК #6, 21 (229, 244)). Тем более что в мире OpenSource есть довольно интересные проекты, о которых просто грех молчать.

Начнем, пожалуй, с эмулятора авторалли. Сразу замечу, что точной копии NFS найти не удалось, да и смысла создавать то, что уже есть, я не вижу. Но погонять на машинах в свободное время можно вполне, и не только погонять. Смотрите сами. Итак, free car simulation project, фокусирующийся на полном реализме - Racer (http://www.racer.nl/). Хотя текущая версия еще далека до финального релиза (0.5), но уже представляет собой вполне готовый продукт. Главное, с чем встречается пользователь - это свобода, причем во всем (кроме как коммерческого использования); ограничения встречаются разве что в аппаратных ресурсах компьютера. Так, имеются реализации под самые популярные нынче операционные системы Windows (95/98/ME/NT4/2000/XP), Linux (nVidia/DRI) и MacOS X (10.2+) - MacOS 9 не поддерживается - it's not a Unix :-). Также применяются такие форматы файлов, которые позволяют пользователям добавлять свои автомобили, трассы и сцены - свободно доступны редакторы, программы поддержки (некоторые уже входят в комплект), а также большое количество готовых решений. Легкая интеграция своих готовых моделей, сделанных в ZModeler (http://www.zmodeler.com/), 3DMax Studio, Maya и пр. Стиль игры - не гонка ради гонки, а нечто вроде Grand Prix Legend; очевидна попытка преуспеть в реализации законов физики, выраженная достоверностью автомобилей и их поведения на трассе. По крайней мере 15 степеней свободы для самого автомобиля и его частей, возможность двигаться свободно в любом направлении - даже колес может быть от 2 до 8. Хороший движок со всякими smoke, sparks, sun, flares и прочими наворотами, которые добавляют реализма и остроты игровому процессу. Проект хорошо документирован, что позволяет разобраться с любым возникающим вопросом по использованию Racer. Не говорю уже о доступности кода и алгоритмов, которые будут, несомненно, находкой желающим попробовать себя в создании игр. В общем, Racer - это гораздо больше, чем игра.

Железо поддерживается практически все, проблемы могут быть только с видеокартами Voodoo, иные из которых имеют проблемы с текстурами разрешением выше 256256. Насчет системных требований: игра должна пойти и под 64 Мб ОЗУ (рекомендуется 256 Мб), но видеокарта должна поддерживать 3D (и 24-битный цвет) - естественно, в системе должны быть драйвера, реализующие эту поддержку. Касательно установки драйверов к видеокартам от nVidia в Интернете полно материала (кстати, в большинстве, если не всех user-ориентированых дистрибутивах эта поддержка уже имеется, а на http://www.nvidia.com/ лежат готовые модули). Если хотите знать об отношении игры к ATI'шным и прочих видеокарточкам, поройтесь в подшивке (см. статью "На Radость пингвинам", МК #29 (252)) или зайдите на http://dri.sourceforge.net/. Из софта также желательно ядро поновее и XFree86 четвертой версии.

Ставим

Рассматривать будем, естественно, процедуру установки под Linux - Mac'a у меня нет, а остальные сами разберутся по аналогии. Исходники игры (если хотите собрать оптимизированную под ваш процессор игру) лежат по адресу http://www.racer.nl/tech/source.htm. Скачиваем, распаковываем:

Заходим внутрь в подкаталог src/racer и даем команду.

И запускаем.

Если что-то не выходит, в файле README.linux, который лежит в src/racer, описано решение некоторых проблем. Для тех, кому кажется, что компилляция - это что-то из мира хакеров, недоступного обычному пользователю, предусмотрена установка из уже откомпилированного набора. В этом случае есть два варианта. Первый на самом виду: на странице Download - Linux (http://www.racer.nl/dl_linux.htm) по ссылкам скачиваем два пакета: 8-Мб Linux v0.5.0 data files (rr_data0.5.0.tgz) с данными, содержащими модели автомобилей, треков, звуковые и шаблоны конфигурационных файлов, и 2-Мб Linux v0.5.0 binaries for nVidia (rr_bin_nv_linux0.5.0.tgz), содержащий откомпилированные бинарники, собранные под nVidia-видеокарты. Кроме того, для воспроизведения звука необходима библиотека поддержки звуковой системы FMOD (music&sound effects system), которую можно взять с сайта http://www.fmod.org/. Берите самую последнюю версию, а не ту, что указана в рекомендациях - потом проще вручную подрихтовать версию. Причем, эти библиотеки нужны для всех без исключения операционных систем, на которых планируется запуск Racer. Это не лучшая звуковая система по своим характеристикам, но все же и не самая плохая, с хорошими возможностями. Выбрана она, очевидно, по двум причинам: открытость и многоплатформенность (Windows, Linux, Windows CE, Macintosh, GameCube, PS2 и Xbox), благодаря чему звуковая подсистема Racer легко портируется (а видео OpenGL) под другую ось.

Забираем файл http://www.fmod.org/files/fmodapi371linux.tar.gz (840 Кб), распаковываем и из подкаталога api копируем библиотеку libfmod-3.71.so в /usr/lib. Теперь распаковываем оба скачанных архива с бинарниками racer:

Заходим в образовавшемся каталоге (в него распакуются оба архива) racer0.5.0 в подкаталог bin и водим.

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

И второй вариант предложен в документе The Unofficial Racer Linux FAQ (http://www.schuerkamp.de/zope/hoover/racing/racer_linux_faq); в нем для закачки рекомендуется один файл - racer-0.5.0b3_mdk82.tar.gz размером 5.86 Мб, содержащий все необходимое. Правда, автор утверждает, что собирал и проверял работоспособность только под Mandrake 8.2, так что универсальность не гарантируется. От себя могу сказать, что с этим вариантом у меня возни было чуть поменьше, чем с предыдущим (под SUSE 9.0, RedHat 9, Gentoo 1.4). Распаковываем, заходим внутрь образовавшегося каталога и набираем ./racer. Играем.

Настройка

Прежде чем поговорить о проблемах, разберемся, как сконфигурировать Racer. Здесь все просто и привычно любому пингвинятнику, т.к. настраивается при помощи обычных конфигурационных ASCII-файлов в любом текстовом редакторе. После распаковки архивов внутри обнаружится аж 11 таких файлов. Чтобы их можно было безболезненно модифицировать, желательно создать в домашнем каталоге подкаталог $HOME/.racer/ и положить их туда. Весь список оглашать не буду, остановлюсь лишь на самых необходимых - для любопытных же на сайте полно документации.

Итак, racer.ini - основной настроечный файл Racer, в нем описаны ссылки на файлы контроллеров, при помощи которых будет осуществляться управление игрой.

Для отключения какого либо параметра необходимо его закомментировать, поставив перед ним точку с запятой. Далее в подпункте music идут описания звуковых файлов (они должны лежать в подкаталоге data/audio - естественно, можно прописать и свои файлы в .wav, .mp3, .ogg, а также, вероятно, и в прочих поддерживаемых библиотекой FMOD форматах) которые будут проигрываться при том или ином событии (выбор пункта меню, повтор и пр.), здесь же указаны параметры настройки сетевой игры (сервер, порт), большинство остальных параметров переопределены в индивидуальных файлах, так что больше здесь, пожалуй, и нечего трогать.

Следующий файл - gfx.ini, отвечает за настройку графики.

В секции fx выставляем параметры неба, тумана, обновления, освещение, следы торможения.

Файл audio.ini отвечает за настройку звуковой подсистемы.

В файле controls.ini можно изменить настройки контролеров, debug.ini предназначен в основном для отладки, хотя в нем можно выставить довольно много мелких параметров. Файл env.ini позволяет изменить окружающую среду; по умолчанию моделирует планету Земля, но если хотите лунные гонки на своих автомобилях, то достаточно изменить пару строк, и машины будут вести себя иначе. В файле даны константы и параметры расчета, некоторые данные можно подсмотреть на http://www.windpower.dk/stat/unitsw.htm.

Замеченные проблемы

Я специально погонял установку и настройку Racer в различных дистрибутивах, чтобы отыскать все подводные камни: все-таки ручное редактирование конфигурационных файлов хлопотно для большинства начинающих пользователей. В RedHat после экспериментов с различными звуковыми серверами не захотело открываться устройство /dev/dsp, выдавая под обычным пользователем Permission denied. Лечится это в самом простом варианте так:

Следующая проблема заключалась в том, что скачанная версия библиотеки libfmod не соответствовала требованиям игры:

Лечится созданием символической ссылки с требуемым именем:

Когда я, создав под root'ом приведенную выше символическую ссылку, попытался снова запустить игру, то получил такое сообщение.

И правильно, нечего под root'ом играть: запускаем под тем пользователем, под которым зашли в систему.

Еще одна проблема, с которой я столкнулся при попытке запустить под RedHat реализацию игры для карт nVidia. Выглядело это так.

Система не может найти файл libXxf86vm.so.1. Решение описано в FAQ?е (http://www.racer.nl/faq.htm):

Но исходного файла у меня не оказалось, пришлось создавать самостоятельно:

После этого все заработало.

Далее просматриваем сообщения вроде:

Если после первых двух сообщений, гласящих о том, что программа не может открыть (найти) такой то файл, выполнение еще продолжается (хотя причину надо все равно выяснить), то после выдачи ./racer: relocation error: работа прерывается. Все дело в том, что в приведенных выше конфигурационных файлах проставлены имена несуществующих файлов. Два выхода: либо положить туда файлы с таким же названием и характеристиками, либо, что легче, убрать все подобные упоминания, пока не разберетесь, что к чему. Все файлы лежат в подкаталоге data и рассортированы по назначению. Если настроена в системе поддержка 3D, то больше проблем не должно возникнуть. Об остальном найдете в документации.

Что дальше?

Клавиши управления смотрите в документе Driving in Racer (http://www.racer.nl/racer.htm). Камера имеет три типа представления: автомобиль, трасса и вертолет, переключаться между ними можно по С или нажимая цифры от 0 до 9 для изменения вида из автомобиля. Сохраняться можно по S, чтобы снять снимок с экрана, нажмите F12 (файл в формате .tga появится в data/dump). Если кого не устраивают параметры, выставленные по умолчанию, их можно переопределить в файле data/ctrlsets/keyboard.ini, установив в нужном поле key= в выбранное значение.

По умолчанию в игре доступны одна трасса и один автомобиль, что должно быстро надоесть. Как я уже говорил, это все (Cars/Tracks/Extras) отдано на откуп самим пользователям. Часть ссылок на необходимые ресурсы, где можно пополнить их запас, взять дополнительные инструменты и редакторы, можно найти на страницах http://www.racer.nl/download.htm и http://www.racer.nl/links.htm, здесь же найдете ссылки на сходные проекты, а также статьи, помогающие понять, как устроен Racer. В первую очередь советую посетить сайт Racer Xtreme (http://www.racer-xtreme.com/), в котором на момент написания статьи имелось 158 автомобилей, 52 трассы и патчи к игре. Имеется свой TOP, статьи, ссылки по теме и много еще чего полезного. Скачанные архивы распаковываем в $HOME/.racer/data/tracks (трассы) и $HOME/.racer/data/cars (автомобили), все в отдельный подкаталог. Музыку для менюшек или для фонового настроения в форматах .wav, .mp3 или .ogg кладем в $HOME/.racer/data/music, после чего в $HOME/.racer/racer.ini прописываем новые названия.

На этом все. Проект отлично документирован, остальное найдете в документации на сайте. Как видите, Racer - это не просто игра ради игры, это мир, который каждый может создать индивидуально для себя, без каких-либо ограничений. Играйте, стройте, создавайте.

Viva OpenSource!

Просмотров: 1939  |  Рейтинг статьи: 4.6 (Голосов: 5).
4.6
Дата размещения статьи: 2004-02-07 16:29:20



5 последних поступлений в раздел Программное обеспечение, работа в Linux:

26.02.04: Создаем кроссворд в OpenOffice Calc (Изучаем условное форматирование и защиту ячеек.)
26.02.04: Точки Emacs (Путь линуксоида очень напоминает путь воина, главными особенностями которого являются ответственность...)
07.02.04: Файлы из будущего. (Total Commander6 - в системе Windows, по возможностям и интерфейсу, лучше и популярнее! Возможностей ...)
07.02.04: Время играть (Сразу замечу, что точной копии NFS найти не удалось, да и смысла создавать то, что уже есть, я не виж...)
02.02.04: Сохраним Linux (В статье "Пингвин на автопилоте" я говорил об автоматизации Linux. Теперь давайте рассмотрим способы ...)

Комментарии:

Re: Время играть (Оценка: 0)
от Anonymous на 14.02.04
racer - идея хорошая, но реализация слабая. Машины слабо детализированы (при большей детализации - тормоза страшные), физика вообще "потрясающая" - наедешь на бортик на небольшой скорости - подлетаешь на километр в воздух и крутишься пока игра не вылетит.

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

Приговор - ацтой, но чего-то получше пока не видел.

--
K48

-- Anonymous


Re: Время играть (Оценка: 0)
от Anonymous на 12.03.04
Что, действительно ничего получше под линукс нету? Мда... Это ж надо быть таким непритязательным, чтобы поиметь столько геморроя и поставить, и настроить такой отстой...

-- Anonymous


Re: Время играть (Оценка: 0)
от Anonymous на 03.04.04
Interesting web site, please visit out websites too.
Please email me zaur@pdesigner.net if you want make link exchange.


Freelance Web Designer [pdesigner.net]
Silicone Engineering in UK [www.silicone.co.uk]
Plant Hire in UK [www.onecallhire.com]
Riders Association of Triumph [www.redroserat.com]

ABLE & Controls Limited [able.co.uk]

IT service in Azerbaijan [www.dalga.biz]

Janitorial Cleaning, Retail Cleaning, Health Sector Cleaning [www.darcygroup.co.uk]


-- Anonymous (z@z.com)


LinuxBegin.ru © 2003-2004 Valery V. Kachurov | Условия использования материалов | О проекте