6 мая 2014 г.

Games Jam GAMM и редактор диалогов

Скриншот из конкурсного билда игры.

С 21 по 27 апреля проходил третий конкурс разработки игр в рамках Games Jam. Носил он приписку GAMM, а тема его была — фобии. И да, я участвовал. За неделю мы сделали нечто под названием Talk to Me. И теперь, чтобы работать над ним дальше, я собираю собственный редактор диалогов.


Как это было


В ночь на понедельник объявили тему.

Вечером понедельника мы с Вячеславом Вышегородским и Валентиной Лукашук встретились в скайпе и обсудили концепты, которые у нас появились за день. Остановились на наименее графическом варианте — звуковом «choose your own adventure» с разглядыванием бумажек. Игроку в нем предстояло дистанционно (через диалоговые опции) провести некоего человека через заброшенный подземный комплекс, набитый ловушками. От того и пошли.

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

За четверг и пятницу сценарий стал более конкретным, а я написал почти рабочий диалоговый движок. А еще, благодаря Константину Копыловскому, у нас появилась готовая к импорту 3D-модель динамика-микрофона, который олицетворял собеседника главного героя.

И вот, с вечера пятницы работа закипела. Я доделывал отображение диалогов, а в соседней комнате сценаристы (они же исполнители главных ролей) записывали озвучку для первой комнаты. Когда звук был готов, я начал заполнять XML-документ, чтобы скормить его моему движку. Тут-то и обнаружились главные проблемы...

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

Первоначальный формат сценария

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

Блок-схема в Lucidchart

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


WYSIWYM


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

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

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

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

Скриншот редактора, 6 мая 2014 г.

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

Посмотрим, какие новые проблемы это нам создаст.

P.S. Ну, и да, мы взяли второе место.

P.P.S. Если сайт джема недоступен, поиграть можно здесь.


Update (18.02.2016)


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

Скриншот редактора, 18 февраля 2016 г.

За текущей судьбой Talk to Me можно следить здесь.

5 комментариев:

  1. Посмотрел конкурсную версию игры. Очень впечатляет! Вы ее дорабатываете?

    ОтветитьУдалить
    Ответы
    1. Да, на данный момент дописан основной сценарий, решены вопросы инструментария (от редактора отказался, наладил импорт из yEd). Хотя взяться за ударное производство до Нового года времени не было. Но это актуальный проект, да, не заброшенный.

      Удалить
    2. Это радует.
      Спасибо за yEd, может пригодиться.
      Удачи вам в реализации! Интересно что получится.

      Удалить
  2. Этот комментарий был удален автором.

    ОтветитьУдалить
  3. Шикарная идея! Еще не успел сыграть но сама идея очень нравится. Я фактически тоже работаю над сюжетом такой в основе которой только аудио без визуальной части. Насчет редактора диалогов, мой друг програмист тоже сделал для нас редактор велосипедов ой... точнее диалогов :) Но у нас он реально получился классный. Мы сделали его в формате Tree view, терпеть не могу ноды. Добавили переменные, прыжки между ветками диалогов и самое главное экспорт в Юнити. Очень рад что есть коллеги которые разрабатывает что то подобное!

    ОтветитьУдалить