Сборка движка Adventure Game Studio (ags) для GNU/Linux

Adventure Game Studio (AGS) - игровой конструктор и движок для создания классических олдскульных поинт-н-клик адвенчур. В конструкторе не предусмотрена сборка игр для Linux, по этому подавляющее большинство игр, созданных в AGS, не имеют Linux-версии.

К счастью, существует порт движка ags для Linux. Благодаря которому, пользователи Linux могут играть в большинство ags-игр нативно.

В этой записи изложено пошаговое руководство по сборке ags-движка в Linux'е и запуску соответствующих игр на нем.

Зависимости необходимые для сборки движка:

  • Allegro 4 (> 4.2.2)
  • libaldmb (0.9.3)
  • libdumb (0.9.3)
  • libfreetype (2.4.9)
  • libogg (1.2.2-1.3.0)
  • libtheora (1.1.1-1.2.0)
  • libvorbis (1.3.2)

Установка всего необходимого для сборки в Debian:

Консоль
sudo apt-get install git debhelper build-essential pkg-config liballegro4.2-dev libaldmb1-dev libfreetype6-dev libtheora-dev libvorbis-dev libogg-dev

Установка всего необходимого для сборки в Mageia:

Консоль
su
<root-пароль>
urpmi git git-core liballegro4.4 liballegro-devel libfreetype6 libfreetype6-devel libtheora0 libtheora-devel libvorbis0 libvorbis-devel libogg0 libogg-devel make autoconf automake
exit

Загружаем исходный код

Консоль
git clone git://github.com/adventuregamestudio/ags.git

Переходим в каталог ags и собираем исполняемый файл

Консоль
cd ags
make --directory=Engine

В итоге получаем исполняемый файл ags (ags/Engine/ags). Копируем его в удобное для запуска место, например, в /home, и сразу даем ему права на исполнение

Консоль
cp Engine/ags ~/
chmod +x ~/ags

Для запуска игр можно скопировать исполняемый файл ags в папку с игрой

Консоль
cp ags ~/папка_с_игрой/

и запускать потом игру командами вида

Консоль
./ags game.exe
./ags ac2game.dat
./ags data.run

А можно запускать исполняемый файл в домашнем каталоге с указанием расположения игровых ресурсов

Консоль
./ags ~/папка_с_игрой/game.exe

Чаще всего все игровые ресурсы хранятся прямо в exe-файле игры, либо в файле ac2game.dat. Реже встречаются файлы вида data.run. Определить какой файл нужно запускать можно банально по размеру файла.

У некоторых игр, часть ресурсов может храниться в дополнительных файлах, как, например, у Blackwell Unbound помимо ac2game.dat были файлы Unbound.001 и Unbound.002, где тоже хранились ресурсы. Отдельно указывать эти файлы, как правило, при запуске не надо. Достаточно, чтобы они находились в одном каталоге с ac2game.dat, который и надо будет указать исполняемому файлу ags.

При запуске игр можно использовать следующие параметры:

Консоль
./ags -windowed ac2game.dat # Запуск в оконном режиме
./ags -fullscreen ac2game.dat # Запуск в полноэкранном режиме
./ags -hicolor ac2game.dat # Разрешить 16bit цвета
./ags -letterbox ac2game.dat # Использовать letterbox
./ags -gfxfilter <фильтр> ac2game.dat # Использовать фильтр, вместо <фильтр> подставить StdScale2, StdScale3, StdScale4, Hq2x или Hq3x

Если запускать исполняемый файл из папки с игрой, то можно использовать конфигурационный файл acsetup.cfg. Для этого его нужно создать, а игру запускать без параметров с указанием лишь запускаемого файла.

Выглядеть acsetup.cfg должен примерно так:

[misc]
defaultres=1
screenres=0
windowed=1
forceletterbox=0
antialias=0
gfxfilter=StdScale3
defaultgfxdriver=DX5
gfxdriver=DX5

[language]
translation=Russian

[sound]
digiid=1095521089
midiid=1095584068
usevox=1
usespeech=1

В данном конфигурационном файле acsetup.cfg для изменения разрешения игры нужно редактировать значение параметра gfxfilter.

  • gfxfilter=None | 320*200
  • gfxfilter=StdScale2 | 640*400
  • gfxfilter=StdScale3 | 960*600 //по умолчанию
  • gfxfilter=StdScale4 | 1280*800


Для переключения полноэкранного-оконного режимов нужно редактировать значение параметра windowed.

  • windowed=1 | оконный режим //по умолчанию
  • windowed=0 | полноэкранный режим


Для изменения устройства вывода звуковых эффектов нужно редактировать значение параметра digiid.

  • digiid=-1 | авто определение
  • digiid=0 | без звуковых эффектов
  • digiid=1330860868 | OSS
  • digiid=1163084868 | ESD
  • digiid=1095521089 | ALSA //по умолчанию


Для изменения устройства вывода музыки нужно редактировать значение параметра midiid.

  • midiid=-1 | авто определение
  • midiid=0 | без музыки
  • midiid=1330860877 | OSS
  • midiid=1145653065 | Software Wavetable
  • midiid=1095584068 | ALSA //по умолчанию

Параметр translation отвечает за использование tra-файла с локализацией игры. Если tra-файла нет, тогда
[language]
translation=язык
можно просто удалить. Если есть, то вместо "язык" нужно подставить имя tra-файла без расширения.

Например, если у нас есть Russian.tra, тогда запись будет
[language]
translation=Russian

Если по какой-либо причине возникнут трудности с запуском игр на данном порте AGS, можно попробовать другой порт. В отличии от рассмотренного порта выше, этот "другой" не имеет поддержки плагинов, поддерживает версии ags только до 3.1.2, в то время как приведенный выше, имеет поддержку плагинов (основные плагины включены в него по умолчанию) и поддерживает запуск игр, созданных в последней версии AGS. Таким образом, использование старого порта без особых на то причин смысла не имеет.

В Adventure Game Studio создано больше количество как платных, так и бесплатных игр. Посмотреть список AGS-игр можно по этой ссылке. Если интересуют исключительно бесплатные игры, то перейдя по ссылке, откройте поиск по категориям и уберите галочку с "Include commercial games".


Рейтинг записи:
12345
Оценка: 4 - Проголосовало: 1

Нет комментариев

(необязательное поле)
(необязательное поле)

Запомнить личные данные ?
Внимание: Все html теги за исключением <b> and <i> будут автоматически удалены из комментария.