Дневник разработки #2 ИТОГИ К МАЮ

Привет, друзья! Продолжаю делиться тем, как идёт разработка нашей игры “Вечный пассажир” (Perpetual passenger).

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

Если кратко:

  • У нас появился саунд-дизайнер!
  • Сделали стабильными диалоги и возможность вмешиваться в них
  • Добавили боковой вид и анимации на персонажа игрока
  • Пересмотрели тексты диалогов и редактируем их под новый формат
Секс-символ нашей игры
Секс-символ нашей игры

Саунд-дизайнер

В нашей небольшой команде пополнение! Последний пост на DTF привлёк внимание талантливого композитора.

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

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

Такая тема, например, будет у Дачника:

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

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

А вот сам Дачник: увлекается гаражным роком, молчаливый и мутный тип
А вот сам Дачник: увлекается гаражным роком, молчаливый и мутный тип

Правки багов

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

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

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

Нам же нужно, чтобы велось сразу несколько диалогов на экране с большим количеством участников. Соответственно, нам пришлось сильно переделывать ассет под свои нужды.

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

Теперь наконец-то система работает более менее стабильно, осталось только добавить все диалоги в сцену.

Вообще система диалогов в нашей игре – это отдельная тема. Как-нибудь в будущих статьях я расскажу подробнее об архитектуре проекта.

DialogManager - наш "управляющий" всеми диалогами
DialogManager - наш "управляющий" всеми диалогами

Боковой вид и анимации

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

Сначала я не планировала отрисовывать боковые виды, но потом на свет родилось это:

Это краб?..

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

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

Произошло расщепление з... штанов

Ещё раз оговорюсь – это вариант не для релиза и даже не для демки. Как только у нас появится аниматор, так сразу заменим это всё:) Я хочу, чтобы анимации передавали не просто действие, а характеры. У каждого персонажа должны быть свои пластика, манеры, скорость, резкость движений.

Тексты диалогов

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

Для примера: если на 120-ой секунде в вагон входит контролёр, то он всегда будет входить именно на 120-ой секунде, ни раньше, ни позже, при условии, что игрок никак на это не повлияет своими действиями. Если до входа в вагон Контролёр с кем-то беседует в тамбуре, то длительность диалога не может меняться в зависимости от того, насколько игрок быстро читает. Иначе контролёр не успеет войти в вагон или войдёт раньше времени. А если он войдёт раньше времени, то развалятся другие зависимости.

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

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

Именно такого игрового потока я хочу добиться
Именно такого игрового потока я хочу добиться

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

Итак, что получилось.

  • Оптимальная длина реплики – максимум 35 символов с пробелами (чем меньше, тем лучше)
  • Оптимальное время отображения реплики – 3 секунды (меньше не все успевают прочитать, а больше - затянуто)
  • Оптимальная длина диалога – максимум 20 реплик (диалог должен быть не больше минуты, чтобы игрок не уснул)

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

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

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

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

Не забывайте подписываться на наш Telegram-канал
и группу ВК.

1313
16 комментариев

Марина, у вас ошибка в фамилии

1
Ответить

Нет, в фамилии ошибки нет. А вот в вашем комментарии есть - вместо "игра супер, очень жду" туда попала детсадовская шутка))))0)

3
Ответить

Какая ошибка?

Ответить

Статья супер! Продолжай в том же духе. Сделать анимацию сложно, но вышло неплохо, считаю это изюминкой стиля 😍
Передаётся своя атмосфера, и не «шаблонный» типаж персонажей)

1
Ответить

Спасибо большое!)

2
Ответить

shuffle dance time

1
Ответить

Ахахха))

1
Ответить