Ветераны — в бой!

 | 17.15

В далеком 1999-м я впервые познакомился с ПК, когда пошел в компьютерный кружок. К лету 2000 года я и сосед обзавелись «четверками», а к осени апгрейднули их до «пеньков». Соседу повезло больше, чем мне — не только в плане тактовой частоты приобретенного «тазика», а еще и тем, что в комплекте шел 4x CD-ROM! И, естественно, несколько компактов с программами — в основном игрового назначения.

Рис. 1

Так мы познакомились с веселой и захватывающей страной Неверь-в-худо, смешными квестами Space QUEST и Larry и волшебным миром Legend Of Kyrandia. Надо сказать, что с тех самых пор я полюбил квесты.

Через несколько лет мне опять захотелось вернуться к тем играм, тем более что ни одну из «Кирандий» я толком и не прошел, т.к. сосредоточился на пластилиновом товарище Глинко 🙂 и обеспечил жителям Неверь-в-худо счастливое детство.

Осенью 2006-го я установил DosBox и прошел CD-версию Legend Of Kyrandia Book II. Прошло еще два года, и мне опять захотелось поиграть в старые квесты. Но тут возникла серьезная проблема: нехватка времени. Поскольку я работаю и параллельно подрабатываю разработкой сайтов, то свободного времени у меня дома — и тем более на работе — практически нет. Зато каждый день на дорогу тратится 1.5-2 часа (а то и больше, когда попадаю в пробку). Это время как раз и можно было бы потратить на игру. Но ПК в маршрутку не возьмешь, ноутбука у меня нет (да и играть на ноуте в наших переполненных маршрутках — самоубийство). Оставался только один вариант — запускать игру на смартфоне. И я начал поиски эмулятора.

Мобильный DOS

Естественно, первой мыслью было найти готовые адаптации под Symbian. Однако проект мобильной Kyrandia еще только обсуждается на форуме kyrandia.ru — и то, скорее всего, это будет новая игра, а не ремейк (кстати, там же обсуждается и фан-проект по созданию 4-й части Kyrandia, и для него уже написан движок).

Рис. 2

Потом я начал искать эмуляторы DOS для Symbian. И опять неудача. Были эмуляторы DOS под Java (я сразу представил себе, как они будут тормозить), нашел я и эмулятор для Windows Mobile — Pocket DOS (его я не протестировал из-за отсутствия соответствующего устройства). Но под «симбу» ничего не было — даже пресловутый DosBox под эту ОС еще не портирован.

Тогда я стал лазить в каталогах мобильного ПО, в разделе «эмуляторы», и совершенно случайно наткнулся на программу ScummVM, предназначенную для запуска старых игр. В чем же ее особенность?

Знакомьтесь — Lucas Arts SCUMM engine

Если вы играли в квесты, то можете заметить, что многие из них похожи друг на друга интерфейсом, управлением, способом взаимодействия с предметами (point-n-click). Все три «Кирандии» имеют один и тот же интерфейс, на них похожи и квесты серии Monkey Island, Dig. Все квесты от Sierra (Space Quest, Police Quest, King Quest, Gabriel Knight, Larry) имеют одинаковую оболочку. Почему так?

Дело в том, что в файлах данных хранятся не только диалоги, графика и звук, а и предметы, способы взаимодействий с ними, сюжет игры. Исполняемый файл по сути является лишь интерпретатором, который выполняет прописанные сценарии. Такой подход упрощает разработку игр. Для создания новой игры необходимо только разработать файлы данных и перепрограммировать сюжет. Первой игрой, основанной на таком интерпретаторе, был квест Maniac Mansion от LucasArts (1987 год; см. рис. 1), а разработанный движок для интерпретации сюжетных скриптов назвали Script Creation Utility for Maniac Mansion или сокращенно — SCUMM.

Позднее на движке SCUMM было разработано множество игр: Sam & Max Hit the Road, Indiana Jones, Monkey Island. Появились собственные движки у фирм Revolution Software, Adventure Soft, Sierra (Sierra’s Creative Interpreter).

В 2004-м году стартовал Open Source проект ScummVM, представляющий собой кросс-платформенную реализацию движка SCUMM.

Благодаря продуманной разработке ScummVM также поддерживает множество не-SCUMM игр таких компаний, как Revolution Software и Adventure Soft. К сожалению, Sierra’овский движок SCI этим эмулятором не поддерживается. Space Quest, Larry и другие игры от Sierra запустить на смартфоне пока невозможно. Будем надеяться, что разработчики ScummVM включат поддержку этого движка или проект FreeSCI (реализация SCI под Linux и Windows) будет портирован на Symbian.

Итак, основная особенность ScummVM в том, что он не эмулирует аппаратуру IBM PC-совместимого компьютера и ОС DOS. Он только интерпретирует сценарий игры, а управление, вывод графики и звука, осуществляется стандартными средствами целевой платформы. Таким образом обеспечивается высокая производительность и возможность запуска игр на множестве платформ, в том числе и на смартфонах (причем даже на бюджетных моделях вроде моей Nokia E50).

Установка и запуск

Скачать sis-пакеты для установки ScummVM можно с официального сайта проекта: http://www.scummvm.org. Привожу прямые ссылки на последнюю версию (0.12, август 2008).

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

После установки эмулятора пробуем его запустить. Тут начинаются первые трудности. Дело в том, что для смартфонов, особенно для бюджетных моделей со слабеньким процессором и малым объемом оперативной памяти, ScummVM является довольно ресурсоемким приложением. Для его запуска необходимо освободить как можно больше памяти. Для этого надо выйти из всех запущенных приложений (включая контакты, журнал вызовов). Если объем ОЗУ вообще маленький (как, например, на моей Nokia E50 — 10 Мб), то перед запуском следует провести следующие операции:

  • деактивировать все программы, которые автоматически загружаются (фильтры вызовов и пр.);
  • выключить и включить телефон.
  • Также следует отметить следующие особенности запуска ScummVM на бюджетных моделях:
  • для повторного запуска ScummVM необходимо выключить и включить телефон;
  • во время работы эмулятора не следует переключаться на другие задачи (меню, контакты), т.к. с большой вероятностью он «вылетит»;
  • почаще сохраняйтесь, т.к. при входящем звонке или SMS ScummVM тоже может «вылететь».

Итак, допустим, вы подготовили телефон к запуску эмулятора. Заходим через меню в папку с установленными приложениями, выбираем ScummVM и нажимаем «Открыть». Затем терпеливо ждем — эмулятор запускается довольно медленно (на моей E50 — 15 с). Если за 15-20 секунд программа так и не запустилась или выбила ошибку — увы, объем оперативной памяти вашего телефона слишком маленький или ScummVM не совместим с вашим телефоном.

Управление

В версии для платформы Series60 есть три режима ввода:

  • режим курсора (С). В этом режиме левая программная кнопка соответствует Enter, движения джойстика — клавишам управления курсором (вверх, вниз, влево, вправо), клавиши с цифрами — цифрам, решетка — Esc;
  • режим джойстика :-). В этом режиме движения джойстика эмулируют движения мыши, левая программная кнопка — левую кнопку мыши, правая — правую. Клавиши с цифрами соответствуют цифрам;
  • режим клавиатуры. Левая программная кнопка — Enter, правая — Esc, решетка — Caps Lock, 0 — пробел, C — Backspace. Ввод алфавитно-цифровых символов осуществляется как обычный ввод текста с клавиатуры телефона, только текущий символ отображается не в поле ввода, а в нижнем правом углу экрана. Если после выбора символа он автоматически не появляется в поле ввода, его надо подтвердить нажатием «1» (только тогда он попадет в поле ввода) (рис. 2).

Для переключения между режимами ввода необходимо произвести следующие операции:

  • нажать зеленую кнопку (кнопку вызова). В нижнем левом углу загорится перевернутое слово «Ctrl»;
  • нажимая несколько раз кнопку «1», выбрать нужный режим. Индикация режима производится отображением под словом «Ctrl» перевернутой буквы: красная «C» — режим курсора, красная «:-)» — режим джойстика, любая белая буква (а точнее, последняя нажатая в предыдущем использовании режима клавиатуры) — режим клавиатуры;
  • нажать еще раз зеленую кнопку.

Нажатие зеленой кнопки активирует специальный режим control mode. Помимо переключения способа ввода в control mode доступны следующие функции, вызываемые нажатием кнопок 2-9:

2 — ориентация экрана

3 — перевернуть экран вверх ногами (при горизонтальной ориентации)

4 — включить/отключить растягивание картинки на весь экран

7 — включить режим клавиатуры

8 — включить режим курсора

9 — включить режим джойстика

Настройки

После запуска ScummVM отображается меню (рис. 3).

Рис. 3

В центре список с установленными играми, снизу — два ряда кнопок. Верхний — управление играми (Добавить игру, Редактировать/Изменить опции игры, Удалить игру), нижний содержит кнопки Выход, О программе, Глобальные настройки и Запуск игры. Управление интерфейсом осуществляется в режиме джойстика. Итак, нажимаем джойстик и наводим курсор на кнопку Settings. Не двигается курсор? Значит, режим джойстика не включился по умолчанию, включаем его (см. предыдущий раздел статьи).

Наводим «прицел» на кнопку Settings и жмем левую программную кнопку. Появится меню опций, оно имеет несколько вкладок.

  • Graphics — тут размещены графические опции. «Намертво» выбран чекбокс Fullscreen (понятно почему — на смарте в окне не запустишь) и почему-то не активна опция Aspect Ratio Correction (а зря, она была бы очень полезной при вертикальной ориентации игрового экрана. А так изображение либо жутко сплющивается в режиме растягивания, либо вылазит за пределы экрана). Кроме них есть еще выпадающий список с выбором вида эмулируемой графики: EGA, CGA, Hercules. Рекомендуется оставить default.
  • Sound — настройки звука и речи. Здесь можно выбрать устройство для вывода звука (опять-таки рекомендуется оставить default) и здесь же находятся знакомые по настройкам оригинальных игр опции вывода речи персонажей: speech only (только текст), speech and subtitles (текст и субтитры), subtitles only (только субтитры) и subtitles speed (скорость субтитров).
  • Volume — тут все и так ясно, это настройки громкости музыки, звуковых эффектов и речи персонажей.
  • MIDI — настройки музыки. Выбор эмулируемого устройства для вывода, загрузка SoundFont…
  • Paths — пути. Здесь можно выбрать пути для сохранения savegame’ов (их я обычно сохраняю в папке с файлами каждой игры, прописывая путь не в глобальных настройках, а в настройках игры), путь к папке с темами интерфейса ScummVM и путь к папке данных (лучше оставить без изменений). Так же на вкладке присутствует кнопка keys, которая позволяет присвоить некоторым стандартным действиям в играх кнопки телефона. Можно определить горячие клавиши для перемещения персонажей, смены персонажа или локации, сохранения и многого другого.
  • Misc — прочие настройки. Здесь можно выбрать тему интерфейса и настроить автосохранение.

Установка и настройка игр

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

По поводу локализаций: ScummVM их отлично поддерживает. Я без проблем с первого раза запустил русскую версию вторых «Гоблинов».

Но есть исключения. В играх Legend Of Kyrandia I-III и Lure of the Temptress реплики персонажей были «вшиты» в исполняемый файл игры. В результате для адаптации игр под ScummVM его разработчикам пришлось создавать специальные файлы lure.dat и kyra.dat (их можно скачать с сайта) с фразами (естественно, на инглише). Русской локализации этих файлов пока не существует :-(. Поэтому даже если вы попробуете запустить русскую версию «Кирандии», интерфейс и диалоги все равно останутся английскими.

Рассмотрим процесс установки игры в ScummVM на примере CD-версии Legend Of Kyrandia Book One. Для начала скачаем образ диска и необходимый файл kyra.dat:

[email protected]:~$ wget

http://kyrandia.ru/pub/games/kyrandia1.rar

[email protected]:~$ wget

http://scummvm.svn.sourceforge.net/svnroot/scummvm/

scummvm/tags/release-0-12-0/dists/engine-data/

kyra.dat

Разархивируем и примонтируем образ:

[email protected]:~$ unrar x kyrandia1.rar

[email protected]:~$ mkdir kyr1cd

[email protected]:~$ sudo mount -o loop /home/

cyberadmin/kyrandia1.iso /home/cyberadmin/kyr1cd/

Теперь подключаем телефон в режиме «передача данных» или вынимаем из него карту памяти и вставляем ее в кардридер. Система автоматически примонтирует устройство. Создаем на карте памяти (у меня она монтируется в /media/метка_тома_карты_памяти) в папке Others папку kyr1:

[email protected]:~$ mkdir /media/Data/

Others/kyr1/

Копируем все необходимые файлы. На компакте они расположены в папке /eng/1:

[email protected]:~$ cp kyra.dat

/media/Data/Others/kyr1/

[email protected]:~$ cp /home/cyberadmin/

kyr1cd/eng/1/*.APK /media/Data/Others/kyr1/

[email protected]:~$ cp /home/cyberadmin/

kyr1cd/eng/1/*.CPS /media/Data/Others/kyr1/

[email protected]:~$ cp /home/cyberadmin/

kyr1cd/eng/1/*.PAK /media/Data/Others/kyr1/

[email protected]:~$ cp /home/cyberadmin/

kyr1cd/eng/1/*.VRM /media/Data/Others/kyr1/

Теперь отмонтируем телефон (карточку) и образ CD-игры:

[email protected]:~$ sudo umount /media/Data/

[email protected]:~$ sudo umount /home

/cyberadmin/kyr1cd/

Отключаем телефон от компьютера (вынимаем карточку из кардридера и вставляем в телефон) и запускаем ScummVM.

Нажимаем кнопку Add Game и попадаем в диалог выбора папки. Открываем карту памяти и заходим в папку e:gameskyr1. Для того чтобы зайти в папку, надо навести на нее «прицел» и выполнить «двойной щелчок» левой программной кнопкой.

Рис. 4

Зашли в папку? Смело жмем Choose. Проходит небольшая пауза (ScummVM определяет игру), и открывается диалог настройки игры (рис. 4).

Он очень похож на диалог глобальных настроек. На нем нет вкладки Misc, зато есть вкладка Game, где можно поменять отображаемое в списке игр название, а также поменять локализацию и платформу игры, если они определились неправильно.

Остальные вкладки отличаются от соответствующих вкладок в глобальных настройках только наличием опции Override Global Settings, которая позволяет переопределить для данной игры глобальные настройки. С помощью этой опции я, в частности, указываю ScummVM хранить savegame для каждой игры в папке с ее файлами. Настроив игру, кликаем на Save settings.

Игра!

Для запуска игры выбираем ее в списке, кликнув по имени, а затем кликаем по кнопке Start (рис. 5).

Чтобы пропустить заставку, переключаемся на режим курсора и жмем левую программную кнопку или решетку. Откроется меню игры. Переключаемся обратно в режим джойстика и кликаем на Start New Game.

Все, можно играть!

Рис. 5

При помощи ScummVM я прошел две первых «Кирандии». Впечатления остались довольно позитивные. Небольшой ложкой дегтя оказались глюки с «поваренной книгой» Занции (на правой странице почему-то отображалось содержимое левой) и небольшие тормоза на локациях с динамическим фоном (молотилка в Morningmist Valley, кипящая лава в центре Земли). В «Гоблинов» же на мобилке оказалось играть сложно: джойстик телефона значительно проигрывает мышке в реакции, скорости и точности позиционирования. Поэтому, чтобы синхронизировать действия Фингуса и Винкля, в некоторых моментах пришлось изрядно попотеть…

В завершение обзора…

…хочу сказать следующее: я очень рад, что в мои руки попал ScummVM. Всем владельцам смартфонов и КПК, а особенно тем, кто ностальгирует по играм своей молодости, рекомендую обязательно установить эту программу. Поверьте мне, вы не пожалеете. ScummVM поможет скрасить время в поездках или на скучных лекциях :-).

ПОЛЕЗНЫЕ ССЫЛКИ

  • счастливые обладатели смартов с touch screen могут скачать специальную версию, поддерживающую эти возможности — http://prdownloads.sourceforge.net/scummvm/scummvm-0.12.0-uiq3.sis?download
  • остальные могут довольствоваться стандартным приложением под Series60 — http://prdownloads.sourceforge.net/scummvm/scummvm-0.12.0-s60-v3.sis?download
  • А здесь можно посмотреть список поддерживаемых телефонов — http://wiki.scummvm.org/index.php/SymbianOS

ВНИМАНИЕ!

Размер встроенной памяти телефона и размер ОЗУ — это не одно и то же! Для того, чтобы узнать размер ОЗУ, установите файловый менеджер (например, ActiveFile) и посмотрите размер диска d:

Качаем!

Полный перечень поддерживаемых игр вместе со списком необходимых для их запуска файлов можно просмотреть по адресу http://wiki.scummvm.org/index.php/Datafiles.

Алексей «CyberAdmin» Сердюков

Robo User
Web-droid editor

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *