Как стать автором
Обновить

Текстовые игры — новый старый инструмент для автора или «Сделаем Текстовые Квесты снова Великими!»

Время на прочтение9 мин
Количество просмотров21K
Всего голосов 25: ↑24 и ↓1+23
Комментарии18

Комментарии 18

А есть реальный спрос на такие инструменты? Можно ведь разработать на досуге :)

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

1. Возможность использования системы контроля версий. Разработка игр давно стала командной работой, и текстовые квесты не исключение. Да даже и в одиночку намного удобнее, когда можно завести стандартный git-реп и вести проект в нём. Поэтому любое современное средство разработки квестов должно поддерживать версионирование — формат, в котором сохраняется промежуточный результат, должен быть текстовым и достаточно простым для понимания.

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

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

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

5. Отладка, включая возможность внесения правок в код «на живую», прямо в запущенной игре.

6. Ассеты. Одна из весомых причин популярности Unity — наличие уже готовых ассетов, которые нужно просто подключить. С текстовыми квестами тоже должно быть возможно выделять артефакты, героев и подобное вместе со всеми зависимостями в отдельные модули/библиотечки, которые потом просто подключаются и на их основе создаются кастомные варианты.
Соответственно, инструмент должен поддерживать парадигму программирования, которая позволяет такое (ООП, ECS или подобное).

Не скажу, что не согласен с Вами, но есть определенные мысли по данному поводу. И дополнения к статье. Комментируя Ваш комментарий:

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

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

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

По четвертому: с одной стороны согласен, с другой, звучит как неимоверное усложнение. Все зависит от объема и подхода. При сложной структуре игры - все тестирование просто жизненно необходимо, но опять же. В этом случае можно применить иной движок и разрабатывать текстовую игру, как просто игру в (парадигме современной разработки игр), тут же скорее проще сделать игру с подхода творчества. Опять же, мы используем готовую систему или движок, что бы исключить или компенсировать, сложную реализацию "простого" творческого порыва или расширения собственной информационной или творческой "экосистемы". (Мне даже понравилось как это звучит "информационная или творческая экосистема")
Но возвращаясь к пункту комментария: Да, некоторых простых функций в системе не хватает. С помощью, которых можно и реализовать отладку. Я буду оставлять автору онлайн-версии "issues" и всякие запросы или может разовью свой скил и даже смогу добавить что то сам, по своему усмотрению. То же исполнение JS кода в структуре квеста, очень сильно бы разнообразило функционал.

По пятому: В оригинальном TGE такой функционал присутствует, но только частично. То есть "отладка" самого текста во время тестирования. В ином случае это какие-то ненативные (я заложил в это смысл "костыли") решения. Да, такого функционала не хватает, но решается банальным JS в коде.

По шестому: Ассеты для текстовых квестов добавляются довольно легко. ctrl+c => ctrl+v. Простите не удержался, в целом я понимаю, что на том же Unity есть компоненты которые упростят разработку текст игры, но это всеравно останется полноценная разработка, где 75-90% времени вы будете решать чисто технические, а не творческие вопросы. Но творческая свобода больше. Парадокс. А я, только, показал компромис.

Огромное спасибо, за Ваше мнение. То что Вы подходите серьезно к оценке данной системы как профиссионального иснтрумента, показывает, что Вы и оцениваете её как полноценный и амбициозный продукт, а это может побудить автора его развивать.

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

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

А на первой картинке (КДПВ) приведён скриншот немножко другого жанра: там нет жёстко заданного набора вариантов, а можно вводить текстом произвольные команды и смотреть что получится: «возьми то», «сделай это», «посмотри на это», «иди туда». Есть ли сейчас такие игры и движки для них? Какие движки для таких игр наиболее удобны? Есть ли движки пригодные для создания таких игр не на английском языке?

Стоит сходить на IFWiki, там есть много всего разного; в том числе страницы о том, чем игры с текстовым парсером отличаются от игр, построенных по принципу книг Choose Your Own Adventure.

В статьях есть небольшой список движков, основанных на той или иной концепции.

https://www.ifwiki.org/Parser-choice_hybrid

https://www.ifwiki.org/Parser

https://www.ifwiki.org/Choice-based_interactive_fiction

Если говорить про русский язык как не английский - есть русские локализации популярных движков Inform (RInform) и TADS (RTADS). Также последнее время себя зарекомендовал МЕТАПАРСЕР3 на платформе INSTEAD - https://instead.hugeping.ru/page/metaparser/.

Да, в самой первой картинке у нас "парсерные игры", впринципе прародители текстовых игр (если пытаться все это как то классифицировать и называть).
Парсерными движками я не так много увлекался, думаю больше можно прочитать на IFWiki - например вот - https://ifwiki.ru/Метапарсер - это модуль для отечественного движка текстовых игр - INSTEAD - кстати довольно мощном и требующим только небольших знаний Lua.

ИМХО, парсерные платформы давно пора закапывать. Нет, идея-то изначально была хорошая: дать игрокам опыт, максимально близкий к ролевым играм с живым DM'ом. Но всё упёрлось в трудности реализации. В итоге взаимодействие с типичной парсерной игрой выглядит примерно так.
Конечно, со времён ZX Spectrum квестоделы сильно продвинулись, и игровой процесс уже не так мучителен, но показанные в этом ролике проблемы есть абсолютно у всех у них. Фактически, парсерка — это те же менюшные квесты с очень небольшим выбором реально работающих команд, только пункты меню не на виду, а их приходится угадывать.
В итоге парсерные квесты всегда были не слишком популярны, а недавно в крышку их гроба забили последний гвоздь нейросети типа GPT-3 или GPT-Neo и построенные на них текстовые игры — такие, как AI Dungeon. Из всего, что способен выдать компьютер, это максимально близкий к живому DM'у игровой опыт. Поверх таких нейронок можно делать очень сложные квестовые игры, где вы можете вести осмысленные диалоги с НПС'ами и предпринимать самые неожиданные действия, которые игра вполне себе прилично обрабатывает.

Благодарю за упоминание AI Dungeon. Глянул и очень впечатлён!

НЛО прилетело и опубликовало эту надпись здесь

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

Поделюсь своим опытом бумажных текстовых квестов из середины 1990-х. По воспоминаниям из середины 00-х.

В областной детской библиотеке брал две переведённые на русский американские книги с такими квестами.
"Суть такова" © Вы на первой странице читате вступление, предысторию. И далее, в конце текста (обычно на 1-2 страницы) вас немо спрашивают "ЧО делать?" и предлагают несколько вариантов поступков. После текста варианта поступка указана станица куда надо идти и читать что получилось. Там на этой странице в конце текста опять несколько вариантов поступков и номера страниц. Интересное и захватывающее чтиво-приключение, атмосферу которого дополняют соответствующие иллюстрации почти на каждом листе.

Например:
Идя по улице вы видите как банда подростков избивает парня. Ваши действия?
1. Пройти мимо - следуйте на стр.3
2. Броситься парню на помощь - продолжение смотрите на стр.31
3. Позвонить по телефону и вызвать полицию - набирайте стр.17
4. Да это же моего врага бьют! Присоединяюсь - бегите на стр.59.

Выбираем вариант, к примеру, №3. Идём на страницу 17. Открываем и читаем такой текст: "Вы лезете в свой карман и тут вспоминаете что оставили свой телефон дома заряжаться. Что будете делать дальше?" И опять несколько вариантов.
Или же выбираем вариант №2. Идём на страницу 31 и читаем такой текст: "Охваченный праведным гневом и жаждой справедливости вы подбегаете к драке и начинаете мутузить первого попавшего под руку хулигана. Врываясь в схватку вы пропускаете несколько ударов но и награждаете хорошими тумаками нескольких злодеев. И тут перед вами холодно вспыхивает клинок ножа! Что делать - времени доли секунды!?" И далее варианты.

Мне попадались такие книги про Дикий Запад и про захват школьного автобуса злодеями.

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

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

Есть серия книг-игр Дмитрия Браславского. Тайна капитана Шелтона, Верная шпага короля, Повелитель безбрежной пустыни. В повелители можно было телепатию прокачивать, в шпаге - стрелять из пистолета. Ещё была какая-то книга из серии, но её у меня не было.

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

Наткнулась недавно на Choices that Matter или в принципе игры от Tin Man Games… Классические текстовые приключения… Но!!! на английском, хотя даже есть с переводом на Ютубе, тоже кстати отличный способ замутили на канале возродить жанр - современный изучая английский по таким играм. Так что кто-то еще их делает!!!

И вроде играешь, но и язык учишь! Анонс еще одного текстового ужастика видела на канале, так что надеюсь, что будет круто ;) На русский бы еще адаптировали, так вообще цены не было, но вроде под видео даже можно писать свой выбор и типа тоже участвовать... Хоть как-то :)

У меня был давний интерес к этой теме. И я решил опробовать модный ChatGPT... По-моему, это начало конца интерактивных текстовых игр. По крайней мере, на классических парсерах. Эта штука не ограничена набором изначально доступных команд, а может реагировать на любой сказанный игроком бред и подстраиваться, как живой ГМ. Под спойлером моя первая попытка.

Lost in the Wilderness - интерактивная игра с ChatGPT

player: hi

ChatGPT: Hello! How can I assist you today?

player: let's play interactive fiction

ChatGPT: Sure, I'd be happy to help you play interactive fiction! Do you have a specific game in mind or are you open to suggestions?

player: create something similar to Colossal cave adventure

ChatGPT: Alright, let's create an interactive fiction game similar to Colossal Cave Adventure. For the sake of simplicity, let's make it a text-based game. Here's a brief outline of the game:

Title: Lost in the Wilderness

Objective: Find your way out of the wilderness by exploring, solving puzzles, and overcoming obstacles.

Setting: You find yourself lost in the wilderness. It is a dense forest with tall trees and thick underbrush. You have no idea how you got here or where you are. You must explore your surroundings to find a way out.

Gameplay: The game will consist of text-based commands that you type into the game, such as "go north" or "look around." The game will describe your surroundings and provide options for you to choose from. There will be puzzles to solve and obstacles to overcome along the way. You will need to make strategic decisions to avoid danger and progress through the game.

Here's an example of how the game could start:

You awaken to find yourself lying on the ground in a dense forest. You have no idea how you got here or where you are. You feel disoriented and confused.

What would you like to do?

Look around

You see tall trees surrounding you in every direction. There is thick underbrush at your feet. You notice a faint trail leading off to the north.

What would you like to do?

Follow the trail north

You follow the trail for several minutes until you come to a clearing. In the center of the clearing, you see an old abandoned cabin. The door is slightly ajar.

What would you like to do?

Investigate the cabin

You approach the cabin and push open the door. Inside, you find a dusty room with a rickety old table and chairs. On the table, you see an old map with a note attached.

What would you like to do?

Read the note

The note reads: "Beware the cave to the east. It is said to be haunted by an ancient curse."

What would you like to do?

Explore the cave to the east OR Continue north along the trail

And so on. Let me know if you have any specific requests or ideas for the game, and I can incorporate them as we go along.

player: go north

ChatGPT: You follow the trail north for a while, until you come across a small stream. The stream is shallow and the water is crystal clear. You notice a few small fish swimming in the water. To the west, you see a dense thicket of bushes and vines, while to the east, you see the trail continuing on.

What would you like to do?

Investigate the thicket to the west OR Continue east along the trail

player: catch fish

ChatGPT: You look around for something to catch the fish with, and you spot a sturdy stick lying nearby. You pick it up and use it to fish in the stream. After a few attempts, you manage to catch a small fish. It's not much, but it might come in handy later on.

What would you like to do now?

Investigate the thicket to the west OR Continue east along the trail

player: Investigate the thicket to the west

ChatGPT: You push your way through the thicket of bushes and vines, getting scratched and pricked along the way. As you emerge on the other side, you find yourself in a small clearing. In the center of the clearing, you see a small wooden chest. It looks old and weathered, but it seems to be in good condition.

What would you like to do?

Open the chest OR Ignore the chest and continue along the trail

player: Open the chest

ChatGPT: You approach the chest and examine the lock. It's a simple latch that you could easily open with a small tool or a bit of force. You look around for something to use and notice a nearby rock that might do the trick. With a bit of effort, you manage to pry open the chest.

Inside, you find a few useful items: a coil of rope, a sharpened hunting knife, and a small leather pouch. The pouch contains some dried fruit and nuts, which will provide sustenance on your journey.

What would you like to do now?

Take the items and continue along the trail OR Close the chest and leave the clearing

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории