Три кита и шесть слонов русской интерактивной литературы

Если вы хотите приготовить дрожжевое тесто,
а дрожжей у вас нет,
то нифига у вас не получится! (с) Житейская мудрость

Введение в тему

Это статья о том, на чём лучше писать интерактивную литературу. Статью с очень похожим названием я опубликовал здесь несколько лет назад. Но времена изменились. Некоторые старые игроки (платформы для создания игр) уходят со сцены, зато появляются новые. Результаты конкурса КРИЛ 2012 показывают, что для создания интерактивной литературы (текстовой интерактивной игры) не очень подходят инструменты, «заточенные» под другие задачи: Word, Adobe PDF, Adobe Flash, HTML и командные файлы DOS (bat-файлы). Написать текстовую игру на них можно. Но не нужно. Поскольку соперничать в области текстовых игр с профессионально изготовленными для этой цели инструментами тяжеловато. Почему? Следите за рассуждением:

  • Как правило, текстовая компьютерная игра состоит из движка и построенного на основе движка сюжета. Это удобнее, и эффективнее, чем объединять текст игры с движком в одном коде.
  • В большинстве случаев игру пишет один человек, а внимание и время, которые один человек может выделить на создание игры конечны.
  • При равных затратах времени, и равном таланте, трудолюбии и профессионализме, автор создающий игру на основе уже существующего движка всегда достигнет лучшего результата, чем тот, кто своими силами будет делать и движок, и сюжет игры.
    Вывод очевиден.

Предыстория
Когда я начал знакомиться с темой русской интерактивной литературы (1996 год, компьютер ZX-Spectrum), к услугам разработчиков игр были только англоязычные платформы и возможность написать платформу для игры самостоятельно. Например на таких языках высокого уровня как Basic, Pascal, C или низкого уровня (assembler). Если идея создания текстовой игры на assemblere вам кажется чудовищной - я спорить не буду. Это действительно так. Но для ZX, с его 48/128 килобайт оперативной памяти другого приемлемого способа не было. И Ваш покорный слуга вставлял в игру написанную на ZX-Basic процедуры на assembler, для ускорения работы синтаксического анализатора и вывода векторной графики. Впрочем, это "дела давно минувших дней".

В 2002 году, когда состоялся первый конкурс русской интерактивной литературы RUSSIAN IF COMPETITION 2002, почти все игры были созданы на самодельных платформах - только одна на платформе URQ. В 2003 году я писал о платформах: "Из приличных вижу только RTADS ... да URQ_DOS! Все остальные либо заброшены, либо глюкавят!" Но разработчики, вдохновляемые создаваемыми на их платформах играми потихоньку совершенствовали свои творения. В 2006 году на первый КРИЛ (Конкурс Русской Интерактивной Литературы) уже были задействованы 5 игр на платформах и только одна на собственном движке. КРИЛ 2012 дал нам огромное многообразие платформ, на которых пишутся текстовые игры:

AXMA Story Maker
QSP
URQ
RTADS
Квестер
GameMaker
Онлайн-игры на html и javascript (книги-игры)
INSTEAD
PDF-файл
BAT-файл под DOS
ADRIFT
Adobe Flash
Ren'Py
Word

Результаты конкурса показывают, что для создания интерактивной литературы (текстовой интерактивной игры) не очень подходят инструменты, "заточенные" под другие задачи: Word, Adobe PDF, Adobe Flash, Ren'Py и Командные Файлы. Написать текстовую игру на них можно. Но не нужно. Поскольку соперничать в области текстовых игр с профессионально изготовленными для этой цели инструментами тяжеловато.

Так на какой платформе всё же писать интерактивную литературу?

То, что написано ниже, основано во-первых, на моем личном опыте создания текстовых игр, во-вторых на моем же опыте прохождения игр, созданных другими, в третьих, на собранных мнениях других игроков и авторов. Можете мне верить или нет – выбор Ваш, но всё что я скажу, проверено и, надеюсь, позволит Вам не терять много дней, здоровья и энтузиазма впустую. Итак, вот Вам Три Кита и Шесть Слонов на которых стоит русская интерактивная литература:

RTADS, RInform, INSTEAD — в настоящее время это те Три Кита, на которых стоит Русская Интерактивная Литература (далее — РИЛ или ИЛ) с текстовым вводом.

Раньше я однозначно рекомендовал авторам, желающим писать парсерную игру, выбрать RTADS. Причины моего выбора сохранились по сей день:

  • RTADS имеет лучший синтаксический анализатор среди русскоязычных платформ;
  • есть прекрасная объемная документация на русском языке;
  • система популярна в мире, развивалась много лет, и, продолжает развиваться;
  • возможности RTADS для создания ИЛ практически не ограничены, объектно-ориентированное программирование позволяет делать сколь угодно большие и сложные проекты, и делать чрезвычайно сложные и красивые загадки в играх;
  • наличие активного, хотя и немногочисленного сообщества, в котором можно получить консультацию. Автор продолжает заниматься системой. Поверьте, это очень дорогого стоит!

Но у двух конкурентов RTADS тоже есть значительные плюсы, о которых нельзя забывать! Например, RInform также отличается:

  • Отличным парсером (синтаксическим анализатором);
  • Небольшим, но активным сообществом, готовым оказать поддержку новичку;
  • На RInform создано немало прекрасных игр, и переводов с лучших иностранных игр, на которых можно учиться;
  • Возможности RInform с учетом дополнительных библиотек теоретически не уступают, а может быть, даже превосходят RTADS (правда эти библиотеки еще не переведены);
  • На RInform можно создать онлайновую игру — а это очень значительный плюс в наше время.
  • Интерпретаторы Inform есть практически для всех платформ (кроссплатформенность). Единственное, что следует помнить — для RInform требуется поддержка Unicode.


Следующая платформа для создания парсерных игр это пока еще не «кит», а скорее «китёнок». Но очень многообещающий. Знакомьтесь —     INSTEAD (Simple Text Adventure, The Interpreter) — современная объектно-ориентированная платформа, написанная на Lua, изначально созданная для создания сложных менюшных квестов. Однако возможности платформы оказались значительно шире — и в настоящее время на ней создан так называемый мета-парсер, достаточно удобный для работы. Плюсами INSTEAD на мой взгляд являются:

  • оригинальная система ввода команд — смотри рисунок;
  • генератор склонений делается движком по словарю и не требует выделять окончаний в коде игры;
  • достаточно простой исходный текст историй;
  • в графическом интерфейсе поддерживается музыка и графика;
  • поддержка тем для графического интерпретатора — конкретная игра может менять вид интерфейса;
  • переносимость (изначально написана для Linux, зависит от SDL и lua, работает под Windows, Linux, MacOs, Unix, Android, Ubuntu).

Какого из этих «трёх китов» выбрать -  решать Вам. Но в любом случае Вы получите современный, удобный и мощный инструмент для работы.

Другие платформы

Постойте! — скажет кто-то осведомленный.  А как же самодельные парсеры? А как же возможность написать парсер на QSP, используя регулярные выражения или на URQ, используя оригинальные возможности «ветерана» в сравнении и обработке строк?  А как же ADRIFT, ТКР-2, 6 дней, ТОМ, и ЯРИЛ наконец?!

Я отвечу так:

  • Время самодельных движков для парсерных платформ прошло. Или Вы делаете платформу, или Вы делаете игру. Если хотите сделать игру — значит концентрируете внимание не на движке, а на сюжете, героях, загадках и так далее.
  • ADRIFT и TKP-2 умерли, господа. Почтим их память вставанием, и забудем, как страшный сон. То, что можно было сделать на этих платформах, гораздо удобнее и лучше делать, используя «трёх китов».
  • Что касается «6 дней», ТОМ и «ЯРИЛ» - это хорошие платформы. Но в настоящее время, признаемся честно, пока еще сырые. «6 дней» написана на Lua, так же как INSTEAD, и позволяет легко сделать небольшую игру. К сожалению, библиотек к ней нет, разработка прекращена и создание большой игры требует весьма значительного труда. Если язык Си вам не чужой и хочется поэкспериментировать с новой перспективной русской платформой — пообщайтесь с разработчиком ТОМ. ЯРИЛ(IFML) неспешно развивается с 2002 года и, вот-вот, наконец, станет пригодным к использованию. Но если говорить о настоящем моменте — то, повторюсь, выбирайте за основу одного из трёх китов!
  • Если же Вы совсем далеки от программирования, либо найдите программиста-соавтора, либо делайте менюшную игру, однако, без большого труда сделать хорошую игру невозможно.

«Шесть слонов» для создания интерактивной литературы с управлением посредством меню.

А на чём же создавать менюшную игру? О, тут выбор несколько шире:

  1. Во-первых, это моя любимая платформа URQ (Universal RipSoft Quest), интерпретатор FireURQ. URQ самая древняя из ныне существующих менюшных платформ. С одной стороны, это означает наследие Visual Basic, на котором был написан первый интерпретатор URQ, и некоторые архаичные конструкции в языке, не лишенные, однако, некоторого обаяния, с другой — самое долгоживущее сообщество, множество интерпретаторов, множество игр, древние традиции. Что же касается FireURQ, то данный интерпретатор обладает уникальными оформительскими возможностями, и, одновременно, наиболее полным соответствием старым играм. Он прекрасно подходит для создания простых игр, книг-игр, и игр, использующих сложные алгоритмы. И новичок, и профессионал найдут в нём массу интересных возможностей. Изначально платформа создана под Windows, но есть интерпретаторы под мобильные телефоны и модуль на Instead, способный проигрывать URQ-квесты на всех доступных Instead операционных системах (см.выше).
  2. Во-вторых, это QSP (Quest Soft Player) - главный конкурент URQ. У него иная логика работы, возможность вывода информации в несколько окон, современный язык, упрощенный по сравнению с URQ математический аппарат (но в реальности крайне редко возникает необходимость вычисления синусов и косинусов с точностью до 12-го знаков после запятой в текстовой игре) и главное: возможность создания кроссплатформенных квестов для проигрывания их под Windows, Linux, Android, MacOs, online и на мобильных платформах. Кроме того существует интерпретатор AeroQSP с богатейшими графическими возможностями.
  3. Третья платформа — это уже неоднократно упомянутый мной Instead. Платформа современнее, чем URQ и QSP, является объектно-ориентированной, имеет свою, необычно удобную логику работы с объектами и очень богатые возможности. Может делать текстовые игры, напоминающие классические текстовые адвентюры, визуальные новеллы, книги-игры, ролевые игры и игры-загадки. Поддерживает проигрывание URQ-квестов (правда, не в полном объеме). Позволяет делать online-игры.
  4. Четвертым слоном я бы назвал совершенно молодую отечественную платформу AXMA Story Maker,  которая заменила имевший некоторую популярность Tweebox (Twine). Она также как Tweebox основана на javascript, и служит исключительно для создания HTML-квестов. По возможностям она пока уступает всем предыдущим платформам, зато очень наглядна, проста и доступна новичкам.  AXMA Story Maker позволяет удобно и легко создавать online-квесты.  О своем освоении этой платформы при создании игры «Побег из рая» и своих впечатлениях я расскажу отдельно.
  5. Пятый слон — это Квестер. Фактически это онлайн-сервис, позволяющий создавать Ваши квесты прямо в браузере. Возможности — минимальны, зато Вашу игру увидят многие. Игр на Квестере больше тысячи -  больше, чем на всех остальных платформах, вместе взятых. Правда, большинство игр на этом сервисе, откровенно говоря, слабые. Но есть и заслуживающие внимания. В конце концов, дело ведь не в инструменте?
  6. Есть прекрасный кроссплатформенный движок для создания визуальных новелл Ren’Py, на котором можно создавать текстово-графические или графически-текстовые квесты. Я его попробовал и, в принципе остался доволен. Движок прост для начинающих и достаточно нагляден. Он не слишком удобен для чисто текстовых квестов, но в области создания классических визуальных новелл практически вне конкуренции.
  7. Самым мучительным для меня оказался «седьмой слон». На эту роль в моём сознании претендует Милена, но в последнее время на ней игр, к сожалению, не видно. Возможно, это место является вакантным?
    Так что же выбрать-то?

А это зависит от того, какую именно игру Вам хочется создать! Если книгу-игру онлайн — ничего лучше AXMA Story Maker, пожалуй, не придумать — всё-таки возможностей больше, чем у Квестера. Если менюшную игру с обилием инвентаря, большим количеством загадок, красивым оформлением — выбирайте что-то из тройки Instead, QSP, URQ. Для классической текстовой адвентюры с текстовым вводом вне конкуренции RTADS и RInform. Визуальная новелла — Ren’Py или Instead.

Жду от Вас интересных игр, друзья!

 23.12.2012  ©Евгений Туголуков