Динамический текст в текстовой игре на реальном примере диалога. Часть 2.

Привет. Меня зовут Игорь. Я разработчик игры «Цена Истины».

Это текстовое приключение с захватывающим сюжетом о молодом ученом из Москвы, отправившемся в Амазонию на поиски таинственного артефакта.

Много лет он манит исследователей, но все, кто пытался его найти, бесследно исчезают, оставляя лишь обрывки дневников. Удастся ли Алексею разгадать загадку и достичь своей цели?

Мы плавно подходим к концу диалога. Но и тут есть чем удивить внимательного игрока. Если "упарываться" с динамическим текстом, так по полной.

Посмотрим на нашу блок схему дальше..

Динамический текст в текстовой игре на реальном примере диалога. Часть 2.

Далее нам надо проверить баланс карты.

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

Это рождает следующие ситуации:

  1. Игрок купил карту на 10. Диалог прервался, он сходил купил ещё карту на 10 единиц. Баланс к концу разговора будет нулевой.
  2. Игрок купил карту на 20 единиц. Разговор не прерывался. Но в данный момент мы должны получить уведомление о том, что карточка заканчивается. По окончанию диалога у нас будет нулевой баланс на карте.
  3. Игрок купил карту на 10. Диалог прервался, он сходил купил ещё карту номиналом более 10 (мы не знаем, какую точно). Но факт в том, что это уже вторая карта, с которой он звонит. Баланс к концу разговора будет зависеть от того, насколько единиц у него вторая карта. Карточка точно не закончится.
  4. Игрок купил карту на 30 или 50 единиц и совершил звонок супруге. Тогда у нас не прерывался звонок, и мы заканчиваем телефонный разговор с балансом в 10 или 30 единиц на карте.

Рассмотрим все эти ситуации и сравним, что поменяется в тексте.

Итак, рассматриваем первый вариант. Карточка 10 + 10:

Мы слышим звуковой сигнал об окончании баланса. Алексей видит на экране, как он стремительно уменьшается. Он говорит об этом Лене.

Пример первого варианта 2 карточки по 10. (10+10)
Пример первого варианта 2 карточки по 10. (10+10)

Мы слышим звуковой сигнал об окончании баланса. Алексей видит на экране, как он стремительно уменьшается. Он говорит об этом Лене.

Но в тексте мы чётко видим: карточка снова заканчивается. То есть это уже не первая карточка.

Давайте рассмотрим второй вариант. Карточка на 20.

Вариант 2 . Карточка на 20
Вариант 2 . Карточка на 20

Тут почти нет отличий. Так же звуковой сигнал, так же заканчивается баланс. Отличие только во фразе «Лена, карточка заканчивается». Уже без «снова».

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

Пример 3 и 4 варианты.
Пример 3 и 4 варианты.

Есть ещё последняя сцена в этом диалоге. Алексей кладёт трубку.

Смотрим блок-схему.

Динамический текст в текстовой игре на реальном примере диалога. Часть 2.

Напоминаю. Это ветка второй части диалога с женой. Ключевым условием попадания в эту ветку является вставленная карта в таксофон равна стоимости второй части звонка (10 единицам).

Ключевые условия. Разговор либо прерывался, либо нет.

Тут возможны только 2 сценария, которые попадут под это условие:

  1. Карточка 10+10. Звонок прерывался.
  2. Карточка на 20. Звонок не прерывался. Т. к. перед началом второй части диалога у нас уже спишется с карты 10 единиц кредитов. Баланс к началу второго диалога будет равняться 10. То есть подходит под условия этой ветки.

И так, первый вариант.

Вариант 1 . 10+10
Вариант 1 . 10+10

Баланс заканчивается. Мы видим довольно резкую реакцию: «Проклятые два нуля». Что говорит о том, что мы их видим уже не в первый раз. В подтверждение этому — слово «очередной». Мы ведь действительно потратили две карточки по 10 единиц. Всё это отражено в текущем тексте.

Второй вариант. Карточка 20.

Вариант 2. Карточка на 20.
Вариант 2. Карточка на 20.

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

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

Вариант дефолтный. Карточка более 20. Баланс не нулевой.
Вариант дефолтный. Карточка более 20. Баланс не нулевой.

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

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

Дополнительной сложностью является и работа в тексте с движком Ren'Py. Приходится проверять на всех вариантах разметку текста на экране. Где-то что-то может поползти, и придётся дробить текст таким образом, чтобы он не выходил за рамки размеченного под текст экрана.

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

Всем спасибо за внимание. Подписывайтесь, если вам нравится следить за разработкой моей игры.

4
1
Начать дискуссию