Введение и установка
Для того, чтобы написать игру на Информе, нам потребуются:
- текстовый редактор для редактирования исходных файлов игры (официально рекомендуется Sublime Text, но, разумеется, подойдёт любой);
- библиотека Информа, которую нужно будет включить в свою игру, чтобы работала общая модель и стандартное поведение;
- компилятор Информа, с помощью которого из исходного файла мы получим файл игры;
- интерпретатор (плеер), с помощью которого в полученную игру можно будет сыграть.
Библиотеку и компилятор можно скачать с сайта Информа. В архиве помимо прочего есть примеры игр.
Игры можно запускать онлайн, и это самый популярный вариант, но на время разработки обычно пользуются одним из «оффлайн»-плееров:
- Gargoyle — кроссплатформенный плеер, ориентированный на типографику. Поддерживает все форматы. Скачать для Windows
- Lectrote — Windows, Linux, OS X (использует Electron).
- Windows Glulxe для Windows. Там же есть более быстрый Windows Git.
Установка и проверка
Начиная с версии 0.9, версия Glulx считается приоритетной, а версия для Z-машины вторичной. Поэтому в данной книге все примеры подразумевают работу с Glulx. О различиях можно почитать в FAQ.
Для проверки работоспособности и первоначальной настройки:
-
скачайте архив библиотеки с официального сайта и распакуйте его в отдельную, удобно доступную папку, например
c:\rinform\
.В этой папке будет следующее содержимое:
\demos\ демонстрационные игры \demos\demos.bat пакетные файлы для компиляции демонстрационных игр \demos\demos.sh \libext\ расширения для библиотке \library\ русская версия библиотеки inform.exe компилятор Inform (для Windows)
-
В папке demos можно увидеть несколько файлов с расширением
.inf
— это исходные файлы демонстрационных игр. Их можно открыть и просмотреть в текстовом редакторе. -
Файл
demos.bat
это пакетный файл («батник»), при помощи которого упрощается компилирование файлов игр. Запустите этот файл (если на Linux, тоdemos.sh
), на экране появится примерно следующее:c:\rinform\demos>..\inform.exe +..\library +language_name=Russian -DG -Cu $DICT_CHAR_SIZE=4 heidi.inf Heidi.ulx Inform 6.34 (16th August 2017) c:\rinform\demos>..\inform.exe +..\library +language_name=Russian -DG -Cu $DICT_CHAR_SIZE=4 AliceR.inf AliceR.ulx Inform 6.34 (16th August 2017)
Если прочих сообщений нет, то всё прошло без ошибок.
-
В папке
demos
появятся файлы с расширением.ulx
— это готовые файлы игр, которые можно запустить в интерпретаторе. Если установлены Windows Glulxe или Lectrote, то при запуске такого файла он скорее всего автоматически откроется в одном из этих интерпретаторов.
Организация своей игры:
-
создайте папку для игры, например c:\inform\mygame\
-
создайте главный исходный файл игры, c:\inform\mygame\mygame.inf. Для удобства воспользуйтесь шаблоном:
!% !============================================================================= Constant Story "Новая игра"; Constant Headline "^Шаблон игры на Информе^"; Include "Parser"; Include "VerbLib"; !============================================================================ ! Описание игровых объектов Object first_room "Первая комната" with description "Первая комната.", has light; !============================================================================ [ Initialise; location = first_room; ]; !============================================================================ Include "RussiaG"; !============================================================================
-
создайте .bat-файл c:\inform\mygame\mygame.bat для удобной компиляции:
..\inform.exe +..\library +language_name=Russian -G -Cu $DICT_CHAR_SIZE=4 mygame.inf
Компиляция игры
Чтобы скомпилировать игру, нужно через командную строку вызвать компилятор Информа inform.exe с верными параметрами.
Рассмотрим на примере демонстрационной игры Heidi, что означают параметры:
..\inform.exe +..\library +language_name=Russian -G -Cu $DICT_CHAR_SIZE=4 heidi.inf Heidi.ulx
+..\library
— путь к папке, в которой хранится библиотека+language_name=Russian
— параметр языка игры-G
— формат игры (Glulx)-Cu
и$DICT_CHAR_SIZE=4
— означают использование Юникода (UTF-8) в исходном коде игрыheidi.inf
— код игрыHeidi.ulx
— выходной файл (файл игры)
Последними параметрами являются входной и выходной файлы. Перед ними также можно указать необязательные свитчи, например -D
для компиляции дебаг-версии игры.
Форматов игры исторически есть несколько, но ныне используется только Glulx. Ранее для формата Z-машины использовались V5 и V8, у которых максимальный размер игры формата V5 — 256 кб, а игры формата V8 — 512 кб. Игры Glulx могут достигать 4 гигабайт.