Как система сюжетных линий в Titanium Court создает большие истории

После большого ажиотажа и победы в главной премии имени Симаса Макналли на Independent Game Festival (IGF) Awards, новый проект одиночки AP Thomson, созданный с помощью UnityTitanium Court запущенный на прошлой неделе.
Читайте наш чат с AP, записанный во время недели GDC, чтобы узнать об этой новой стратегической игре и инструментах, которые он создал для уникального, динамичного повествования, своими словами от AP Thomson.
AP Thomson: О чем Titanium Court ? Это, как оказалось, очень сложный вопрос.
Это мир фей и магии, но магия в этом мире, возможно, более обыденна, чем вы могли бы ожидать, а обыденные аспекты этого мира более волшебны, чем вы могли бы ожидать.

СОЗДАНИЕ ИГРЫ, В КОТОРОЙ СЮЖЕТ НА ПЕРВОМ МЕСТЕ
Titanium Court это странное смешение множества разных жанров. Так что в ней есть немного Match Three. В ней есть немного tower defense, немного управления ресурсами и немного экономического симулятора, симулятор поджога. В этой игре происходит много всего. И это также игра с сюжетом, в которой много текста, и сюжет развивается очень интересно. Это как бы рогалик, чередующийся с сюжетом, который развивается независимо от того, выигрываете вы или проигрываете.
Я думаю, что это игра для людей, которые любят читать, и, к сожалению, различные профессора колледжей, которых я знаю, говорили мне, что это то, что люди больше не умеют делать.
Стоит научиться читать.

СОЗДАНИЕ ИНСТРУМЕНТОВ ДЛЯ ДИНАМИЧЕСКОГО РОССКАЗА СЦИНКА
Дизайн повествования Titanium Court использует то, что сейчас широко известно как система сюжетных элементов. Я никогда не слышал о термине «storylet», когда впервые придумал его, —
Вы можете представить его как отдельную сцену.
Системы storylet действительно подходят для создания очень динамичных историй, в которых некоторые события могут произойти, а некоторые — нет, в зависимости от того, что на самом деле происходит в игре.
Таким образом, вы можете разрабатывать повествование, и я называю это «дизайн послания в бутылке», когда я могу открыть файл сцены, написать все, что нужно знать о сцене, включая то, где она на самом деле происходит в игре, а затем просто положить ее в бутылку, выбросить в океан, а затем, возможно, через несколько недель я буду играть в игру, и сцена произойдет.

УПРАВЛЕНИЕ STORYLET В UNITY
У меня есть персонажи, которые перемещаются, или маленькие художественные портреты, которые появляются в определенные моменты. И все это содержится в одной сцене, которая существует в скриптовом файле JSON. А также в этом файле есть куча метаданных, рассказывающих о том, где эта сцена появляется в игре. У нас есть информация о том, что эта сцена должна появиться в этой главе, или эта сцена должна появиться только в том случае, если вы видели другие сцены, или эта сцена должна появиться только в том случае, если вы достигли определенных результатов в игре.
Это позволяет вам управлять, я думаю, сложными сетями зависимостей.
В нее встроена система блокировки, чтобы предотвратить одновременное срабатывание слишком большого количества сцен. У меня есть такая система, в которой я могу сказать одной из этих сцен: «Иди и заблокируй то, что делают эти персонажи».
Все начинается с отдельного файла скрипта. Это похоже на файл JSON, в котором я заполняю все диалоги и сцены, а также метаданные. Но затем я передаю его в скрипт предварительной обработки внутри редактора Unity, который я написал и который просто проходит по всем этим файлам JSON и преобразует их во все префабы и заполняет префабы. Правильные данные, такие как различные булевы флаги и прочее, чтобы все эти префабы были проиндексированы в единый центральный индексационный объект, который затем способен обеспечить фактическую техническую реализацию выбора правильных сцен в правильное время.
Такая система не обязательно упрощает отслеживание большого количества предыстории только потому, что вы работаете с большим количеством сцен, которые в некотором роде отделены друг от друга, и у вас нет единой Библии или документа, в котором говорится, что происходит в том или ином порядке. Теперь, это то, что нам нужно, потому что мы хотим систему, которая динамически реагирует на происходящее с игроком, но это также может немного усложнить задачу, чтобы иметь четкое представление о том, в каком порядке будут происходить события.
Таким образом, это действительно модульный способ организации ваших нарративных сцен внутри игры.
Узнайте больше игр Made with Unity на нашем сайте Страница куратора Steam, и ознакомьтесь с другими историями разработчиков Unity на сайте Блог Unity и Центр ресурсов.
