Конструктор для текстовых квестов

Обновлено: 15.05.2024

В этой статье я расскажу, как разработать и опубликовать игру в жанре текстовый квест. Всё изложенное в материале основано на опыте работы над Mr. President — сатирическим симулятором президента Африканской республики.

Расскажу об инструментах, которыми пользовалась наша команда, оставлю ссылки на полезные ресурсы и прикреплю пример дизайн-документа.

Допустим, у вас уже есть интересная задумка. Начните с построения сюжетного дерева. Для этого идеально подойдет программа Microsoft Visio. Переставляя блоки, вы можете менять игровые события местами, не теряя при этом центральную нить повествования.

Рекомендую прочитать книгу, которая лично мне помогла написать сценарий игры. Это «Анатомия истории» Джона Труби.

Я изучил и протестировал наиболее распространенные программы для создания диалогов, и лучшей, на мой взгляд, является Twine. Она позволяет использовать переменные и экспортировать диалоги в JSON.

Twine позволяет создавать простые формулы типа

set: $shotgun to 1

И проверять условия:

if: $shotgun is 1 go-to: «B50»

Вы можете создать сложный сюжет, в котором учитываются любые предыдущие действия игрока. В начале игры персонаж подобрал дробовик? Будет из чего застрелить босса в финальной сцене. Главное не запутаться. Лучше сразу документировать все переменные, описывать, где они применяются и на что влияют.

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

Любой текст, который вы пишите, проходит через призму субъективного восприятия. Многое кажется очевидным вам, но совсем не очевидно игроку. Мозг заполняет пустоту в описании своим личным опытом, и когда мы слышим словосочетание «вкусная еда» — у нас возникают разные ассоциации. И если это важно по сюжету, постарайтесь конкретизировать образ.

Редактор — это ключевая фигура на этапе написания сценария, и если вы найдете такого человека, считайте, что вам крупно повезло.

Рекомендую прочитать книгу замечательного литературоведа Норы Галь «Слово живое и мертвое». Это по-настоящему полезная книга, изучить которую должен каждый уважающий себя автор.

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

При работе в одиночку я допускаю некий творческий беспорядок, но в команде с материалами должен быть полный порядок. Приучите себя и других автоматически синхронизировать рабочие файлы в облаке. Для этого подойдет Google Disc с установленным на компьютере Google Sync. Это позволит избежать ситуации, когда макеты накроются медным тазом после того, как дочка дизайнера прольет молоко на ноутбук (да, увы, был такой печальный опыт).

Я писал дизайн-документ, используя Google Docs. Возможно, что для более сложных проектов вы захотите использовать вики-сервисы. Как вариант: бесплатный движок Dokuwiki, который можно развернуть на собственном веб-сервере. Дизайн-документ, а также другие полезные ссылки вы найдёте в конце статьи. Надеюсь, кому-то они помогут начать собственный проект.

На этапе программирования синхронизируйте проект с Git — например, Bitbucket. Опытным разработчикам мои советы покажутся очевидными, но я уверен, многие пилят проекты локально, а потом обмениваются исходниками через файлообменник. Или я ошибаюсь? Напишите в комментариях, кто как работает с файлами проекта.

Самый очевидный вариант: опубликовать объявление на фриланс. Максимально сузив категорию проекта до «Рисунки и иллюстрации», я ждал что мне начнут писать художники, но нет. Откликнулись видеодизайнер, проект-менеджер и даже веб-программист.

Я много работаю с фрилансом и без проблем нахожу технических специалистов, но подобрать толкового художника я не смог. И когда я почти отчаялся, то наткнулся на ресурс Artstation. Здесь люди выставляют свои работы и открыты для сотрудничества. Если вы, как и я, столкнетесь с проблемой поиска художника — отправляйтесь на Artstation.

Очень долго я рассматривал в качестве кандидата Corona. Из плюсов: движок кросс-платформенный. Минус: не самая дружелюбная среда разработки. Обсудив вопрос с программистом, мы решили разрабатывать на HTML5, а потом с помощью PhoneGap портировать на мобилки. Спорное решение, но конкретно в нашем случае мы сумели нивелировать недостатки этого фреймворка.

Написанные в Twine диалоги можно экспортировать в JSON. Для этого есть готовые скрипты (ссылка в конце статьи), но нам пришлось доработать обработчик, чтобы он корректно форматировал формулы и переменные.

При публикации игры в Google Play мы использовали новый формат Android App Bundle (с расширением .aab). С его помощью можно существенно уменьшить размер приложения. При установке игры на телефон загружается только то, что нужно конкретному устройству.

Этап новых фич. Когда игра готова на 90% и вам кажется, что осталось «вот совсем чуть-чуть», возникает неотвратимое желание добавить в игру новую фичу (ведь без неё игроки точно не поймут всей крутизны задумки).

В этот момент ответственный за релиз должен проявить себя как супер-адекватный человек. В начале разработки мы закладываем 10-15% на введение новых функций. Это нормально. Но лучше сто раз подумайте, прежде чем переписать одну из ключевых механик.

Этап отторжения. Затем начинается фаза, когда перестаёт нравиться абсолютно всё — от интерфейса до диалогов. Я начал выбрасывать из игры целые сюжетные ветки и в очередной раз переделывать иконки.

Этап багов. Если после предыдущей стадии от игры ещё хоть что-то осталось, то добро пожаловать на этап багов.

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

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

Если вы прошли через все круги производственного ада, то публикация игры в App Store или Google Play покажется вам летней прогулкой в парке. Просто честно отвечайте на вопросы, особенно те, что касаются возрастного рейтинга.

Кстати, вот такая интересная особенность регионального рейтинга.

Если Австралия дала нам «18+» за намёки с сексуальным подтекстом, то для Европы и России это «12+».

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

Как обещал, вот перечень полезных ссылок:

Mr. President — наша игра в Google Play

"Инди-разработчик, как сперматозоид, движется в потоке ему подобных." ©
Платиновая цитата.

И только один из миллиона попадает в цель.

или вся работа в жопу

Поделюсь и я своим опытом (автор Lost Crew) - делать текстовую игру под мобильные смысла нет вообще (во всяком случае на гугл плей). Немного перспективнее делать под ПК. Как ни странно, аудитория того же, например, стима гораздо лояльнее к такому жанру как текстовая игра. Как бы это ни казалось странным. Наверное, причина в том, что чтение игры, как и чтение книжки, не терпит суеты. Что до технической части - совершенно неважно на чем делать. Мне, например, не подошел ни один существующий узкоспециализированный движок для разработки текстовых игр. Хотя мне, программисту, проще. Многим авторам приходится втискиваться в рамки движков для разработки текстовых игр, но вообще стоит сразу задумываться над разработкой на универсальном движке, если программирование по плечу.

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

Не согласен. По большему счету рецепт успеха на мобайле это функция от 3х переменных - качественный продукт, наличие аудитории которая готова играть и самое сложное - user acquisition (в народе так-же известный под словом "маркетинг"). Проект может быть успешным, только когда все 3 составляющие работают. И чтобы подкрепить мои доводы, скажу что в прошлом году мы выпустили текстовый квест, набрали 3М установок и прилично заработали.

Поделись опытом продвижения)

Если сделать игру с хорошим удержанием, гугловые роботы ее сами подкинут наверх (на иос не так, там люди решают).

Другие способы "продвижения", кроме покупки траффика, на мобилах неэффективны, по нашему опыту.

Взрослые люди, да, обычно покупают новеллы только в Стиме и читают за компьютером.
Но дети любят планшеты, ведь так удобнее, а еще за игры платить не нужно.
Посмотрите на "Бесконечное лето", версию под андроид, установок больше миллиона, очень неплохо для инди-игры.

Lifeline вышла в Steam, но как-то не зашла игрокам. Там все писали, что это мобильная тема)

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

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

Если даже не скачиваете, то как можете судить, что качество ужасно? Я сам признаю, что отечественные писатели-фантасты пишут лютую графомань, но, справедливости ради, периодически почитываю (пытаюсь) самых популярных, т.к. мое мнение в любой момент могло устареть. И даже тут бывают исключения - например, Олди с их Ойкуменой. Если говорить про квесты, чем плох, например, Lost Crew?

Вопрос - отсутствие 99% мобильных игр на ПК (без эму) и игровых платформах - это сложность переноса, отсутствие веры в фин успех или глобальный заговор?

Это благословение господне!

Холодный финансовый рассчет.

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

а почему статья написана не в разделе Инди, а в Геймдеве?

Зависит от типа игры и от целевой платформы. Диалоги в ink писать легко и приятно, а игры целиком — не очень. Чтобы воспроизвести на ink, например, Seedship или Voyageur, придется залезть в движок очень глубоко и написать массу служебного кода — ну или делать игру сразу на Unity, но это уже совсем другой уровень компетенций.

Ребят, вашу игру найти по названию в гугл плее отдельный квест. Очень много конкурентов со схожим названием. В целом спасибо за подробное описание, тоже пилим игру в похожем жанре и всегда интересно почитать про чужой опыт. Интерфейс с закосом под старые мобилы прикольный)

Почему после нескольких диалогов приходится ждать минут 10? Это просто худшее что вы могли добавить в текстовый квест.

6 оупенсорсных средств создания текстовых игр

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

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


Интерактивная проза – категория компьютерных игр, в которых игрок может контролировать персонажа посредством текстовых команд. Одной из самых известных игр в этом жанре является Zork.

Более богатой на изображения версией текстовых игр является книга-игра. Книги-игры позволяют так же прокликать себе дорогу до финала. Графика, тем не менее, и в них особо сильного значения не имеет. Все фокусируется на тексте и сюжете. Отличным примером книги-игры является серия “Выбери себе приключение”.

Подыскать хорошую текстоую игрушку на английском языке можно здесь и здесь; на русском здесь, например.

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

Сегодня я покажу вам средства, с помощью которых можно создать интерактивную прозу на Linux. Программы не проставлены в каком-то определенном порядке.

1.Twine

Twine - это простая в освоении программа, для создания текстовых игр, для которой не требуется навыков программирования. Все что вам понадобится для этого, так это создать серию отрывков, а потом их соединить. Twine дает возможность использовать карту для навигации по течению повествования, где видны сами отрывки, а также связи между ними.

Если вы еще хотите чего-то добавить в свою игру, то есть возможность облагородить творение переменными, условной логикой, изображениями, CSS и javascript. Результат Twine экспортирует в формате HTML. Такой подход дает возможность с легкостью делиться своими творениями.

На данный момент последняя версия Twine это 2.1.3, которая доступна для Linux, Windows, и Mac OS. Она лицензирована под GPL v3.

2.Quest

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

Как и Twine Quest можно расширить с помощью изображений, музыки, и звуковых эффектов. У вас даже есть возможность вставки роликов с YouTube или Vimeo и модификации интерфейса финальной версии игры с помощью HTML или javascript.

Последняя версия для Windows 5.7.0. Если у вас Linux или Mac, то можете использовать онлайн редактор. Он лицензирован под MIT. Исходный код доступен здесь.

3.Squiffy

Squiffy - это еще одно средство для создания текстовых игр от разработчиков Quest. Его отмечают как “простой способ создания интерактивной прозы”. Squiffy не сильно отличается от предыдущих вариантов, так как позволяет выводить результат в HTML и javascript, как и Twine, чтобы можно было сыграть в браузере. Для превращения игры в приложение можно использовать PhoneGap.

Самый актуальный релиз Squiffy 5.0. Его можно запускать на Linux, Mac и Windows; можно использовать в браузере. Она лицензирована под MIT. Исходный код здесь.

4.TADS

TADS или Text Adventure Development System – это “прототипный предметно-ориентированный язык программирования и набор стандартных библиотек” для создания интерактивной прозы. Наиболее свежая версия языка TADS основана на C++ и javascript. Она предоставляет компилятор как для создания игр, так и для самой игры.

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

5.Inform

Как и предыдущие варианты, Inform - это более чем простая программа для создания интерактивной прозы. Inform представляет собой целую "систему оформления интерактивной прозы на основе естественного языка". Широкий перечень средств, включенных в нее, позволяет создавать "адвенчуры, исторические симуляторы, захватывающие истории или экспериментальное цифровое искусство". Завершенный исходный код "читается как предложение на английском языке, что делает работу со средством более доступной для не-программистов".

У Inform есть библиотека созданных пользователями расширений, которые могут добавить возможностей вашим историям. Авторы написали электронную книгу, призванную помочь писателям в освоении программы. Inform можно запускать на Linux, Mac и Windows. Linux версия использует фреймворк GNOME. Наиболее актуальный релиз Inform 7.0.

6.Ren'Py

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

Как и несколько ранее уже упомянутых вариантов, Ren'Py работает со своим собственным языком, но при этом предоставляет поддержку кода на скриптовом языке программирования Python. Ren'Py предлагает поддержку Linux, Windows и Mac. В игры, созданные на нем, так же можно играть на iOS и Android. Вы даже можете создать версию игры для загрузки в Steam. Большая часть Ren'Py лицензирована под MIT. На исходный код можно взглянуть здесь. Актуальная версия 6.99.12.

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

Когда я был моложе, то прочел много книг из серии "Выбери свое приключение", так что мне понятна притягательность такого рода игр. Замечательно, что сегодня сделать что-то подобное не представляет особых сложностей.

Вы когда-нибудь играли в/создавали интерактивную прозу? Есть ли у вас любимые представители жанра? Может я не упомянул какие-то средства? Вы вольны оставить любые замечания, так как они будут очень полезны.

Если статья показалась вам интересной, пожалуйста, поделитесь ей с другими. Спасибо!

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

Скорость разработки текстового квеста в этом инструменте ограничена фактически только вашей скоростью по созданию собственно текста. Тестовый пример к этой статье в 1900 слов и 12000 знаков с пробелами я написал за 2 часа (ссылка в конце) . Примерно столько же я потратил на черновик этой самой статьи.

Да, редактуру и вычитку лучше проводить по отдельной колонке расхода времени, иначе это морально вас может убить. А, может, сделает сильнее.

Сила Twine в том, что он позволяет увидеть связи между узлами текстового квеста в виде схемы.

Когда-то я писал текстовые игры как обычный код в текстовом редакторе. Там приходилось решать кучу вопросов:

  • все ли узлы связаны переходами;
  • все ли задуманные выборы реализованы, то есть ведут к какому-то тексту;
  • нет ли у меня «потеряшек» — висячих узлов, в которые невозможно попасть.

В текстовом коде понять это очень тяжело, если только не писать специальные утилиты, которые будут гонять исходники и смотреть, выполняются ли описанные условия.

Twine решает массу таких проблем тем, что просто показывает графическую схему. И все «потеряшки» видны как на ладони — как и густота связей, нереализованные варианты и так далее.

Но не обольщайтесь графической схемой — она только для наблюдения. В ней самой нельзя рисовать переходы. Можно создавать параграфы (узлы) и уже в них надо набирать специальные команды, которые создадут переходы на нужные узлы, но об этом ниже.

Итак, Twine — это комбинация трёх инструментов в одной программе:

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

При открытии Twine выглядит примерно так. У вас, скорее всего, он будет светлым.

Чтобы включить тёмную/светлую тему, надо кликнуть на иконке луны или солнца внизу справа.

Чтобы выбрать русификацию или адаптацию под другой язык, нажмите на кнопку Language и выбирайте. Есть украинский, китайский, испанский. всего 20 локализаций. Это влияет только на внешний вид самого редактора, текстовая игра будет на том языке, на котором вы будете набирать текст, что видно на скриншоте.

Внимание: каждая локализация хранит свои текстовые игры в отдельной папке, поэтому если вы начали писать проект под одним языком, а затем решили включить в Twine какой-то другой — не пугайтесь тому, что ваши игры исчезли. Это поведение характерно для последней версии (2.3.5), по которой написана статья. В будущем, возможно, это исправят.

Файлы проектов в Twine хранятся под Windows в директории «Документы» для текущего пользователя. У меня были разные эксперименты: одни я делал под английским интерфейсом, другие —под русским, поэтому первые сохранились в папке Stories, вторые — в «Истории». И, да, китайский интерфейс создаёт на вашем компьютере папку с иероглифами. Это не проблема, просто забавно.

Мне кажется, это всё, что надо знать по подготовке. Включите тёмную или светлую тему, выберите язык и начинайте эксперимент.

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

Ах, форматы! Я забыл сказать, что Twine — прекрасно расширяется с помощью разных форматов, которые можно воспринимать как микро-движки с собственными языками и возможностями. Для начала работы выбор формата не имеет значения. Если вы описываете локации или ситуации, и соединяете их выборами, то сеть переходов будет работать во всех форматах.

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

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

Для начала можно выбрать любой формат — его можно поменять потом.

Чтобы начать новую историю, нажмите на кнопке «+История» (+Story).

Введите имя игры-истории и нажмите «Добавить». Всё, вы в редакторе истории.

Он выглядит как огромный лист миллиметровки, на котором лежат листочки. В начале там будет только один «Безымянный параграф».

Параграф — это локация в бродилке или один кадр в диалоге. Короче, это базовый узел в сети, из которой будет сплетена игра.

Кликните дважы на нём, чтобы отредактировать его. Откроется окно с несколькими полями. Вам нужно только два: верхнее для названия и нижнее для описания.

Из моего опыта название параграфа — это ерунда. Это то, что нужно только внутри редактора для переходов. Можно писать что угодно: хоть цифры, хоть кириллицу. Я советую только делать их короткими, потому что их так удобнее будет вставлять как ссылки в других параграфах.

Объём текста в параграфе теоретически не ограничен. Но длинные простыни в наш век — на любителя. Кроме того, их придётся проматывать на экране мобильника. Решайте сами.

​Объём текста в описании не ограничен. Кстати, ссылки на другие параграфы можно давать прямо в тексте

После того, как описание сделано, можете добавить выборы. Опять же, для начала я советую не делать слишком много вариантов, хотя соблазн будет очень велик (если сильно хочется — делайте как хотите). Но чем выше вы будете поднимать планку проекта, тем тяжелее будет за него садиться, и однажды вы обнаружите, что не открывали Twine полгода, потому что не знаете, как закончить адскую сеть со множеством выборов, вариантов, концовок.

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

[[Облизать муравьиную тропу]]

Как только вы это сделаете, Twine тут же создаст второй параграф с этим именем. А если такой параграф уже есть, просто соединит их переходами.

Если вы послушались моего совета и начали писать параграфы с компактными именами, да ещё с цифрами и сокращениями, то для того, чтобы выбор содержал человеческий текст, надо писать по шаблону

[[Текст выбора|название параграфа, куда идти]]

[[Облизать муравьиную тропу|ants]]

Жмите на крестик в верхнем углу и закрывайте параграф. Теперь в редакторе лежит несколько узлов будущей игры. Их можно перетаскивать как угодно.

Чтобы удалить неудачный или лишний параграф, используйте клавишу Delete или иконку с корзиной из всплывающего меню, которое появляется при наведении мышки на параграф.

В принципе, это всё, что нужно знать для старта. Пишите локации, придумывайте варианты, создавайте смешные переходы и радуйте друзей. А чтобы их порадовать и заодно посмотреть игру в действии, можно запустить игру в браузере или экспортировать её вообще как отдельную HTML-страницу.

Тут все банально — нажмите «Запустить» или «Тестировать» в редакторе истории.

Игра откроется в вашем браузере.

Если что-то измените в игре — запускайте заново.

Чтобы экспортировать игру в HTML, в редакторе истории нажмите на названии игры внизу и выберите «Опубликовать в файл». После этого укажите путь и название с расширением .html

С помощью магии, то есть знакомых программистов, этот файл можно даже превратить в .exe файл и опубликовать в Steam (преценденты были), но я говорю об этом только для того, чтобы показать, какие возможности открывает Twine.

Многие сценаристы используют Twine для разработки диалогов или визуальных новелл на других движках, вплоть до Unity и Unreal — просто они экспортируют данные, описывающие сеть переходов и параграфов, в формат JSON. Это тоже монетка в копилку ваших представлений о возможностях проекта.

От скачивания до запуска своей первой игры на Twine проходит очень мало времени. Можно уложиться в несколько часов. Это, конечно, будет очень небольшая игра — скорее шутка или эксперимент. Но эти несколько часов могут оказаться очень захватывающими.

Я начал набрасывать пример к статье — игру-квест «Лорд-титан» про безумный магический мир после ужасных катастроф, и не успел обернуться, как пролетело два часа. Да, для полноценной игры это мало. Нужно как минимум восемь часов, по моим прикидкам, чтобы сделать что-то законченное. Ну или быть гением минимализма. Я не гений, факт.

Если вам интересны текстовые игры типа квестов из «Космических рейнджеров» — это готовый инструмент для создания подобных забав.

Пока я описал только, как делать простой гипертекст, то есть кусочки текста, связанные между собой ссылками. Но возможностей в Twine гораздо больше. Точнее, их больше в форматах. Но об этом попозже.

Обращаюсь к автору статьи.
Об этой программе знаю уже давно, однако в ней столько тонкостей, что мне трудно разобраться в ней. Как предположим фон сделать или как картинку под текстом вставить и тп. Автор мог бы развивать эту тему и сделать несколько статей, рассказывающих о функциях программы (это мой личный совет и одновременно просьба;)

я вот и думаю, что сначала надо рассказать про картинки, как добавлять

как программист могу сказать, что надо открыть в Chrome дебаггер, посмотреть схему элементов и изменить в таблице стилей нужный CSS-селектор

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

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

Потом подумаю о музыке.

Огромный респект тебе дружище за твой труд.

отлично, если понравится - можно вставлять видосы в статьи?

тонкий намек на толстые обстоятельства, в которых засветился Twine ))
я стараюсь об этом не думать

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

я бы сам с удовольствием почитал про qsp, если есть опыт или просто шишки от общения - пишите, я точно прочту.

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

Писал квесты для игры "Школьные будни". Офигевал от того, насколько QSP ужасное двигло с ужасным кодом для игры такого масштаба. Но с другой стороны, если не QSP, то что? Для своих задач подходит отлично, но ограничения в коде огорчают и бесят, особенно, если ты такой новичок, как я. Нормальную документацию, как с RenPy например, найти тяжело.

На форуме schoollife один парень даже решил собственный движок сделать по такому случаю. У него что-то даже получается.

да-да-да, я тут на ДТФ несколько раз читал, как дизайнеры больших игр используют Twine для проработки диалогов - и это заставило меня поверить, что этот инструмент не игрушка, а. действительно инструмент

Как сделать текстовый квест за 20 минут

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

А как с этим у Квестер?

Кроме прав, можно ли на Квестере сделать станд-алоне приложение для компа или телефона, не только страницу?

Я высоко ценю, что Квестер и подобные проекты делают в плане создания сообщества и поддержки талантов.

Что касается "квест за 20 минут". За 20 минут не делается ничего, только комментарии обычно пишутся с такой скоростью. Текстовый квест требует текст. Сколько текста можно набрать за 20 минут? Какая у него будет связность? Сохранит ли он интерес? Сколько концовок в нем можно сделать.

Мне лично за 20 минут никогда не удавалось написать ничего толкового. За час - более-менее, но это были не игры с ветвящимися сюжетами, а художественные рассказы.

Если вы реально пишете за 20 минут законченный квест - мое почтение! Вы должны очень много зарабатывать


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


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

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

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


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

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

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

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

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

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

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

Так как Дон активно распространял исходный код своей версии, то это способствовало росту ее популярности и тому, что она портировалась на каждую новую платформу: 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.

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

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


Картинка должна лежать там же, где файлы экспортированные для интернета. После внесения изменений экспортировать достаточно один файл: 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!

бесплатные,
не требуют специального плеера для запуска игры,
просты в использовании.

Что нибудь такое что могло автоматически, без ручного ввода кода, расставлять ссылки "дорога один" ведет в "локация один", нажатие на "дорога два" ведет в "локация два" и давало на выходе игры скажем в epub формате, ну или хотя бы html?

railiqwan

Спасибо за форум.
Но Ахма не совсем то, полнофункциональной эта система становится только после оплаты.

railiqwan: помнил, что на Хабре был хороший пост на эту тему и там много хороших ссылок было в комментариях..
Иии.. Всё-таки нашёл у себя в избранном =) Просто, когда писал ответ, искал в гиктаймсе (по тематике как бы), сейчас пересмотрел, оказывается, на Хабре пост). Дополню ответ тогда =)

railiqwan

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

BasmanovDaniil

railiqwan

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

GavriKos

Игры в epub и html? Вы серьезно? Не ну в html еще ладно, но epub - это ж формат электронных книг, туда логику никакую нельзя зашить.

littleguga

Вроде в каком то формате электронных книг была возможность встраивать ссылки на внутренние страницы самого файла?

GavriKos

Ссылки это все таки не полный функционал текстовой игры. В классических текстовых квестах еще и математика есть, тот же бой, статы. Это на ссылках не сделаешь ) А просто с ссылками - это все таки не игра, а интерактивная книга.

GavriKos: ну, текстовая игра, интерактивная книга - как бы синонимы в некотором смысле слова)
А автор именно решение на ссылках и просил:

Что-нибудь такое что могло автоматически, без ручного ввода кода, расставлять ссылки "дорога один" ведет в "локация один", нажатие на "дорога два" ведет в "локация два"

railiqwan

Сейчас после начал изучения указанного форума я думаю - возможно действительно не совсем правильно назвал то что я пытаюсь сделать - просто для меня последний пример это напечатана на бумаге книга какого то русского автора Блаватский что ли, про подземелья замка. В 90 это называлось книга ИГРА, сейчас видимо просто интерактивная литература. Хотя особой разницы по моему нет, это же что то вроде литературного квеста. А у квестов мало логики :)

railiqwan

Зелим Бельтоев: ну именно на ссылках я не настаиваю. просто мне хотелось бы обойтись без ручного ввода кода - я как раз пробовал epub в нем можно размещать ссылки, сноски, но пока это отнимает больше времени чем сам основной текст. Это сложновато для начинающего.
Хотелось бы что нибудь однокнопочное в идеале - описываешь две локации словами, жмешь кнопку соединить и в тексте автоматом ставится переход с одной локации на другую. Как то так.

k12th

railiqwan: > Блаватский
Не обижайтесь, но очень смешная ошибка:)
Браславский автора зовут, Дмитрий Браславский. «Подземелья черного замка», «Верная шпага короля», «Тайна капитана Шелтона».

railiqwan

Константин Китманов: да что тут обижаться. наоборот спасибо за подсказку - в своем время эта карманная книжечка произвела на меня большое впечатление, но найти долго не мог- как оказалось не того автора искал :)

k12th

railiqwan

Не очень удобная вещь. Весь функционал открывают только за деньги. Хотя создание самого сюжетного скелета, плана всей истории очень удобно. Пока я остановился на Twine 2 - это похоже на урезанный аналог Аксмы, но бесплатный что удобно.

k12th

railiqwan

Оно платное именно для потребителя продукта: самой этой системы - сперва надо зарегестрироваться, потом оказывается что бесплатная регистрация ничего особенного не дает, надо оплатить подписку. Может после оплаты тарифного плана-подписки разработчик и получает что нибудь интересно, но я выяснять это не стал - как раз наткнулся на Твайн.
А для потребитель продукта-текста созданного с помощью этой системы оно конечно бесплатное. Авторам пока просто не за что пока деньги брать.

k12th

railiqwan: нет, я имел ввиду, что качество созданных игр никак не тянет на платное. Ну ладно, вам видней.
Если честно, у меня были мысли сделать движок для таких игр. Но мне лень было делать GUI к конструктору, а вручную писать JSON никто не будет:)

railiqwan

Константин Китманов: ну я примерно тоже и имел в виду - платят только разработчики - для них это хобби - а за хобби надо платить. На этом вся индустрия подобных конструкторов игр и построена.
а Чиатателям платить пока не за что, на самиздате такого полно и бесплатно.

railiqwan: Вроде бы единственное, что добавлено в платной версии — возможность локально генерировать html без публикации на их сервере и вручную редактировать его в необфусцированном виде. Могу ошибаться в деталях, но факт в том, что бесплатная версия вполне функциональна и для большинства целей ее достаточно.

railiqwan

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

Читайте также: