Девлог: почему в Parallel Me можно написать ответ самому
В нескольких ключевых моментах Parallel Me можно напечатать то, что вы сказали бы на самом деле. ИИ улавливает настроение, написанный сценарий подхватывает остальное, а ваши слова никогда не сохраняются.
Большая часть Parallel Me проходится кнопками. Вы планируете неделю, тянете карточку события, выбираете ответ в мессенджере. Но в нескольких ключевых моментах игра оставляет под сообщением поле ввода и даёт ответить своими словами — до 60 символов. В этом девлоге расскажем, зачем мы это сделали и что происходит за этим полем.
Несколько моментов, выбранных намеренно
В первом семестре такие моменты относятся к сюжетной линии «бывший возвращается» — в одних забегах она выпадает, в других нет. Первый наступает на третьей неделе. 23:47, загорается экран, и бывший (в исходном составе это Чэнь Юй; от забега к забегу имя меняется) пишет два слова: не спишь? Второй — на шестой неделе, видеозвонок с лучшей подругой в 22:30, и та прямо спрашивает, думаешь ли ты ещё о нём.
С тех пор как игра выросла в режим целой жизни, весной второго курса появилось ещё два таких момента — в зависимости от её личной жизни: сообщение в 00:40, если у неё отношения на расстоянии (седьмая неделя), или разговор в 23:30, если она только что с кем-то начала встречаться (восьмая неделя).
Мы выбрали именно их, потому что здесь список из четырёх кнопок кажется самым неуместным. На ночное сообщение от бывшего люди отвечают очень по-разному: одинокий знак вопроса, злая фраза, осторожное «что случилось?», молчание. Кнопки вмещают лишь несколько вариантов. А когда можно напечатать, вы говорите то, что сказали бы на самом деле, — и смотрите, как это воспримут.
Таких моментов всего несколько, чтобы они оставались особенными. Если бы печатать просили на каждое сообщение, это превратилось бы в домашнее задание.
Ваши слова становятся настроением, а не сценарием
Историю пишет не ИИ. У каждого момента есть короткий список намерений, с которыми сюжет уже умеет работать: например, тепло, холодно, зло, тоска или не отвечать. Когда вы отправляете фразу, сервер задаёт языковой модели два вопроса: какому из намерений соответствуют ваши слова и что персонаж ответил бы в строчку-другую.
Дальше всё решает намерение. Оно задаёт ту же ветку, те же изменения отношений и сюжетные флаги, что и соответствующая кнопка, — а они берутся из написанного сценария, а не от ИИ. Так что текстом нельзя открыть скрытую ветку или избежать последствий. Он меняет лишь то, как ощущается разговор в моменте, а на какую ветку вы попадёте, зависит от того, что вы имели в виду.
Кнопки ответов никуда не делись. Можно нажать любую — ветки будут ровно те же.
Под всем этим всегда лежит написанный сценарий
У каждой ветки в этих моментах есть ответ, написанный вручную. Это запасной вариант, и игра к нему возвращается часто — намеренно.
На сервере к сценарию откатывает любое из этого: ИИ отключён, исчерпан дневной лимит, ответ пришёл слишком медленно, вывод некорректный, намерения нет в списке, ответ пустой или не прошёл проверку безопасности. Во всех этих случаях сервер просто отвечает «fallback», и игра продолжается.
Тогда игра разбирает ваши слова простыми локальными правилами по ключевым словам, выбирает ближайшее намерение и показывает написанный ответ для этой ветки. В любом случае на экране собеседник какое-то время «печатает», так что откат не выглядит как ошибка. Вы можете так и не узнать, какой вариант вам достался, — в этом и смысл. История не должна зависеть от того, работает ли какой-то сервис.
Чтобы персонажи оставались собой
Писать ответ имеет смысл, только если бывший по-прежнему звучит как он сам. В этом помогает несколько правил.
- Промпты хранятся только на сервере. Игра отправляет название момента, вашу фразу, имя героини и короткий список фактов о вашем семестре — того, что сюжет уже записал. Модели объясняют, кто этот персонаж и как у него должно звучать каждое намерение.
- Ответы короткие. Строки обрезаются до заданной длины, остаётся одна-две, как в настоящей переписке.
- Строки, которые состоят только из ремарки в скобках, удаляются — персонаж должен говорить, а не описывать.
- Ответ, который просто повторяет ваши же слова, отклоняется, как и ответ с упоминанием реального бренда.
- Некоторые намерения содержат реплику, которая понадобится сюжету позже, например приглашение встретиться. Если ИИ её забыл, написанная реплика добавляется в конец.
- Прежде чем что-то использовать, вашу фразу проверяет модель безопасности, а готовый ответ проверяется ещё раз. Если одна из проверок не пройдена, управление берёт сценарий.
Есть и проверка в самой игре. Если по вашему тексту похоже, что вам по-настоящему плохо, игра не считает это сюжетным выбором. Она выходит из истории и показывает сообщение о том, где найти поддержку.
Мы не храним ваши слова
Мы с самого начала решили, что не хотим собирать то, что пишут игроки. Ваша фраза уходит на сервер, по ней выбираются настроение и ответ, после чего она удаляется. В нашу базу данных она не записывается.
Записываем мы совсем немного: что ответ был напечатан, в каком моменте, каким намерением его посчитали и кто ответил — ИИ или сценарий. Этого достаточно, чтобы понять, работает ли функция и как часто нужен откат, — и никто не читает, что вы написали бывшему в 23:47. Дневные лимиты считаются по случайному ID устройства, а лимит по IP использует хеш, а не сам адрес.
Что мы поняли
Запасной сценарий — не страховка, которой надеешься никогда не воспользоваться. Это основа всей функции. Раз у каждой ветки уже есть написанный ответ и заданный исход, ИИ может лишь сделать момент личнее — сломать семестр он не может. Именно поэтому мы вообще решились это добавить.
Если играете в Parallel Me, попробуйте один раз напечатать ответ в 23:47, а в следующий раз — нажать кнопку. Концовка будет зависеть от того, что вы имели в виду, а не от того, как вы это сказали.
Напечатанные ответы — уже не единственное место, где появляется ИИ. Теперь игра также использует его, чтобы переписывать сообщения персонажей их собственным голосом и каждый ход добавлять небольшие новые сюжетные моменты. Правило то же: ИИ может менять то, что сказано, но все последствия берутся из написанных правил, а если ИИ недоступен, история просто продолжается по сценарию.
_Текст в Parallel Me на китайском._
Вопросы и ответы
Обязательно что-то печатать?
Нет. В каждом таком моменте есть и обычные кнопки ответа, и они ведут к тем же сюжетным веткам.
Когда можно написать ответ самому?
В первом семестре — в двух моментах сюжетной линии бывшего (если она выпала). Весной второго курса — в одном моменте, который зависит от её личной жизни.
Сохраняется ли то, что я пишу?
Нет. Ваши слова используются, чтобы выбрать ответ, и затем удаляются. Игра записывает только тип ответа и то, кто ответил — ИИ или сценарий.
Что будет, если ИИ недоступен?
Игра разберёт ваши слова простыми локальными правилами, выберет подходящую ветку и покажет ответ, написанный для неё. История продолжится в любом случае.
Игры из этой статьи
devlogParallel MeAIdesign
