Как стать автором
Обновить
2799.73
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

Ink: инструмент для создания текстовых квестов как из лучших воспоминаний детства

Время на прочтение8 мин
Количество просмотров17K


Наверное, текстовые квесты одни из самых простых видов игр. Хоть там и требуется принимать решения, в них нет стратегических задач, а выбор заранее предопределен. Тем не менее, простые не значит плохие. Возможность влиять на сюжет книги выглядит очень привлекательно. Читатели практически всегда вступают в диалог с книгами, особенно если они хорошо написаны, переживают за героев, ругают их за нелогичные поступки, спорят с автором о сюжете. Текстовые квесты позволяют чувствовать себя полноправным участником происходящего и влиять на читаемую историю, чего так долго не хватало поклонникам обычных книг. 

В сравнении с историей литературы этот жанр совсем молодой, зародился в середине прошлого века в виде экспериментов, их даже пробовали использовать для геймификации образования. Расцвет жанра пришелся на 70-е годы. Поначалу интерактивность была довольно условной, с простым ветвлением; читатель всего лишь выбирал варианты развития сюжета в духе: «А что если...». Тем не менее, некоторые серии были чрезвычайно популярны. Одна из них, под названием «Выбери себе приключение», издавалась почти 10 лет (с 1979 по 1988). Книги серии переводились на множество языков, включая и русский.

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


Игра запущенная на DPD-10

Компьютер дал подобным играм второе рождение. Первый текстовый квест Colossal Cave Adventure был написан на фортране в 1975 году и работал на мейнфрейме PDP-10. Уже тогда рабочие компьютеры использовались как средство развлечения за счет начальства. Создатель игры, Уильям Краудер, был не только программистом, но и спелеологом, потому сюжет был о поиске сокровищ в пещере, у которой был реальный прототип — Мамонтова пещера в американском штате Кентукки. Она знаменита тем, что является самой длинной в мире (общая длина исследованных проходов больше 500 километров); есть где спрятать сокровища! 

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


Одно из реальных мест в пещере, описываемое в игре.

Программа выступала в роли гейм-мастера, описывая окружение локации, куда попал игрок, с юмором комментируя его действия и храня список предметов, которые находятся в инвентаре. Текст, который писала программа, выводился большими буквами, действия игрока — маленькими. Игра относится к тому типу, в котором для управления требуется вводить короткие команды из двух-трех слов.

ВЫ СТОИТЕ В КОНЦЕ ДОРОГИ ПЕРЕД НЕБОЛЬШИМ КИРПИЧНЫМ ЗДАНИЕМ.

ВОКРУГ ВАС ЛЕС. НЕБОЛЬШОЙ РУЧЕЙ ВЫХОДИТ ИЗ ЗДАНИЯ И СПУСКАЕТСЯ В ОВРАГ.

иди на юг

ВЫ НАХОДИТЕСЬ В ДОЛИНЕ В ЛЕСНОЙ ДОЛИНЕ, РЯДОМ С РУЧЬЕМ, КОТОРЫЙ СТРУИТСЯ ПО КАМЕННОМУ ДНУ.

Формального сюжета и конкретной цели не существует. У игрока есть три жизни, которых ему должно хватить, чтобы набрать 350 очков, необходимых для выигрыша. Очки выдавались за исследования пещеры и найденные сокровища. Первоначально в игре было 66 локаций, количество которых увеличивалось с каждой следующей версией. Позже развитием игры занялся Дон Вудс, который тогда был аспирантом в Стэнфордском университете. Под его началом в следующей версии количество локаций расширилось до 140. Однако Дон никогда не был в Мамонтовой пещере, и добавленные им локации уже не совпадают с реальностью. 

В 1977 году James Gillogly впервые портировал игру на другую систему, а именно на Unix. Что любопытно, этот порт до сих пор входит в состав некоторых дистрибутивов, а если его нет, то можно установить в составе репозитория bsdgames (или отдельно) и играть даже на VPS через SSH.

Установка и запуск игры на Ubuntu
$ sudo apt install colossal-cave-adventure                                                                                      …

$ adventure                                                                                                                     WELCOME TO ADVENTURE!!  WOULD YOU LIKE INSTRUCTIONS?                                                                                                                                                                                                                                    > yes                                                                                                                                       SOMEWHERE NEARBY IS COLOSSAL CAVE, WHERE OTHERS HAVE FOUND FORTUNES IN                                                                      TREASURE AND GOLD, THOUGH IT IS RUMORED THAT SOME WHO ENTER ARE NEVER                                                                       SEEN AGAIN.  MAGIC IS SAID TO WORK IN THE CAVE.  I WILL BE YOUR EYES                                                                        AND HANDS.  DIRECT ME WITH COMMANDS OF 1 OR 2 WORDS.  I SHOULD WARN                                                                         YOU THAT I LOOK AT ONLY THE FIRST FIVE LETTERS OF EACH WORD, SO YOU'LL                                                                      HAVE TO ENTER «NORTHEAST» AS «NE» TO DISTINGUISH IT FROM «NORTH».                                                                           (SHOULD YOU GET STUCK, TYPE «HELP» FOR SOME GENERAL HINTS.  FOR INFOR-                                                                      MATION ON HOW TO END YOUR ADVENTURE, ETC., TYPE «INFO».)                                                                                                                  — - -                                                                                                         THIS PROGRAM WAS ORIGINALLY DEVELOPED BY WILLIE CROWTHER.  MOST OF THE                                                                      FEATURES OF THE CURRENT PROGRAM WERE ADDED BY DON WOODS (DON @ SU-AI).                                                                      CONTACT DON IF YOU HAVE ANY QUESTIONS, COMMENTS, ETC.                                                                                                                                                                                                                                   YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING.                                                                        AROUND YOU IS A FOREST.  A SMALL STREAM FLOWS OUT OF THE BUILDING AND                                                                       DOWN A GULLY.                                                                                                                                                                                                                                                                           >  

Так как Дон активно распространял исходный код своей версии, то это способствовало росту ее популярности и тому, что она портировалась на каждую новую платформу: Apple, Commodore и, конечно же, MS-DOS.

Версия для MS-DOS была уже с простейшей графикой, содержала 130 локаций, 15 видов сокровищ, 40 предметов для инвентаря и 12 задач, которые требовалось решить по мере прохождения.


Игра на MS-DOS

В 1985 году Дэйв Платт выпустил свою версию игры, где надо было набрать уже 550 очков, но которая кардинально отличалась подходом к программированию таких игр. Он создал универсальный язык написания сценариев «A-code», который обрабатывался движком написанным на  FORTRAN 77. Это позволило очень легко делать модификации игры и создавать другие текстовые приключения. Практически все современные игры создаются подобным образом, на специальном языке разметки, который интерпретируется движком, как универсальным, в который можно загружать самые разные игры, так и проприетарным, выдающим исполняемый файл, который можно продавать в онлайн-магазинах.

Приключение Colossal Cave Adventure было родоначальником жанра и надолго сформировало каноны подобных квестов, а так же очень сильно повлияло развитие ролевых игр, в том числе и многопользовательских. Жанр MUD создавался по образу и подобию CCA. Даже Дональд Кнут не обошел вниманием эту игру и написал небольшую книгу, посвященную анализу кода игры в обучающих целях.

CCA является настоящим долгожителем. Дон Вудс продолжал выпускать обновления вплоть до середины 90-х, а в 2017 году Эрик Реймонд взял версию игры Дона от 1995 года, отладил ее, чтобы она запускалась на современных компьютерах, и выложил код на своей странице. Существует порт игры на Андроид и переводы ее на русский язык. Поиграть в один из приведенных вариантов можно на сайте Русский Информ, платформе для создания подобных текстовых игр. Можно играть как онлайн, так и скачав файл для движка Windows Frotz.


CCA на Windows Frotz

Наверняка, поиграв в AAC, кто-то вдохновится на создание собственного текстового квеста, тем более, что они все еще очень популярны. Современные возможности компьютеров позволяют дополнять их яркой графикой и анимацией, музыкой и звуками окружения, создавая увлекательные и современные игры, но не выходя за границы жанра. Для подобного творчества существует множество инструментов. Я хочу познакомиться вас с одним из них. Его отличает то, что это не просто программа написанная для развлечения, а реальный инструмент, используемый коллективом разработчиков для создания красивых и популярных игр, высоко оцененных любителями жанра и хорошо продающихся на всех современных платформах.

В 2011 году пара разработчиков из Кембриджа занялась производством интерактивных текстовых квестов и придумала средство для упрощения своей работы — Inklewriter. Год спустя они представили его в виде сайта, который позиционировался как простое средство для обучения программированию и создания интерактивной литературы. Его даже использовали в школах и удостоили награды «Best Website for Teaching and Learning» от Американской ассоциации школьных библиотек. Спустя несколько лет разработчики были вынуждены закрыть его по причине нехватки времени на его поддержку, но открыли код своего инструмента для работы (позже они его перезапустили). Ink получил возможность интеграции с Unity, и с его помощью стало возможно с легкостью создавать интерактивные истории, сочетающие в себе не только текст с рисунками, но и музыку с анимацией. Он был взят на вооружение и другими крупными инди-студиями разработки игр, а сама Inklestudios выпустила несколько успешных игр для разных платформ: ссылка. Игры очень милые, другого слова не подобрать. Им удалось заполучить в команду талантливого художника Anastasia Wyatt, что замечательно рисует. 


Хоть создатели не считают Ink языком программирования, а только средством для разметки, интерактивные скрипты умеют не только обрабатывать ветвления, но и работать с переменными, использовать логические и математические операции и даже простейшие функции. Повествование может включать несколько потоков, чтобы автор мог более полно охватить возможные действия игрока и последствия его выбора. 

Проект Inkle состоит из двух частей: руководство по языку разметки ink; IDE для работы с ним — Inky. Начать писать интерактивную историю очень просто. В Inky два окна: слева текст сценария, справа его интерпретация


Начнем новый сценарий: File → New Project. Вставим в редактор следующий пример и сохраним в отдельную директорию: File → Save Project. 

Текст сценария
Лондон, 1872
Резиденция месье Филеаса Фога

-> london

=== london ===
Месье Филеас Фогг рано вернулся домой из Реформаторского клуба, да к тому же в новомодном паровом экипаже!

Паспарту, – сказал он. – Мы едем вокруг света!

+ Вокруг света, месье?
    Я был крайне удивлен. 
    -> astonished
+ [Кивнуть] -> nod

=== astonished ===
Вы шутите! – ответил я с достоинством. – Вы смеетесь надо мной, месье.
Я совершенно серьезен.

+ Как скажете, месье.
    -> ending

=== nod ===
Я кивнул, не веря ни одному его слову.
-> ending

=== ending
Мы совершим кругосветное плавание за восемьдесят дней. – Он был совершенно спокоен, когда предложил этот дикий план. – Через час, в 8.25, мы вылетаем в Париж. 
-> END


На приведенном фрагменте очень простая структура:

  • тройными знаками «=» обозначены «Узлы» (в терминологии Ink), метки для перехода;
  • переход по ним осуществляется с помощью оператора «->»«-»;
  • пункты выбора обозначаются оператором «+»;
  • квадратные скобки сообщают интерпретатору, что после выбора название пункта не надо отображать в диалоге;
  • END» — оператор окончания текста.

Интерпретация всегда идет сверху вниз. Если повествование разделено на узлы, в начале следует сделать переход на основной поток: «-> london»

История готова, но выглядит довольно скучно. Добавим в нее изображение. Для этого используется тег «# IMAGE».

# IMAGE: days-poster-promo.jpg

Наглядно

 Картинка должна лежать там же, где файлы экспортированные для интернета. После внесения изменений экспортировать достаточно один файл: File → Export story.js only, остальные содержат шаблона, в который помещается история.

Написав историю, можно экспортировать ее в интернет: File → Export for web. В директории проекта появятся несколько файлов: HTML-страница; стилевое оформление в CSS; файл движка ink.js; наш сценарий 80d.js (не редактируйте его напрямую); main.js, где описывается поведение сценария. Если вы знаете CSS, то вам не составит труда отредактировать внешнее оформление истории. 

Закончив оформление, историю можно выложить в интернет. Авторы Ink рекомендуют воспользоваться порталом itch.io. Это бесплатный портал с простой регистрацией. При создании проекта для Ink выберите «Kind of project» HTML, загрузите архив с файлами проекта и отметьте опцию «This file will be played in the browser». Можно посмотреть, что получилось: ruvds.itch.io/inky-test.

Если вам в свое время тоже хотелось дополнить текстовые квесты «Рейнджеров» или написать свой текстовый квест, то не стоит сдерживать свою фантазию — дерзайте вместе с Inky!

Теги:
Хабы:
+32
Комментарии25

Публикации

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds