«Все или ничего» — ни в коем случае не будьте категоричными

В рамках фестиваля парсерных игр Парсерфест-2018, автором Dwarf Vader была выпущена игра «Все или ничего», представляющая собой отнюдь не какой-то фанфик про приключения Вотрена, а дремучую смесь симулятора пикапера, шпионского триллера (при этом без шпионов) и мелодрамы. Причём, название вполне метко обозначает эту ситуацию, так как в целом это ни один из перечисленных жанров, а просто небольшая эклектичная антиутопическая зарисовка.

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

«2124 год. Люди истощили биосферу, что привело к плачевным последствиям. Попытки человечества найти новый, пригодный для жизни мир не увенчались успехом. Расстояния до звезд оказались непреодолимыми. Но как это всегда бывает, решение было найдено. Группа ученых разработала план восстановления биологических ресурсов Земли, однако это потребовало радикальных мер — должен был измениться сам человек. Модификации зашли настолько далеко, что у большинства современных землян отсутствует биологический пол, размножение проходит только искусственным путем, а численность популяции уменьшилась в десятки раз и строго ограничена выбранной константой. Новый человек отгородился от мира и живет в автономных городах-крепостях, давая шанс снова вырасти лесам, размножиться диким зверям, очиститься воздуху и воде. Это временная, необходимая мера. Когда-нибудь, когда содеянное нами будет исправлено, когда шрамы земли затянутся, мы вернемся к истокам.»
(Рецензия написана по версии игры Serial number 180605)

Сюжет

События игры происходят в отдалённом будущем — с 7 по 9 августа 2124 года — в мире упразднённых биологических полов, коротко и ёмко описанном во вступлении…

Так, минуточку, я вижу на правом краю аудитории какую-то суматоху, затеянную группой белых гетеросексуальных цисгендерных мужчин с крестами, прорывающихся с криками к выходу. Господа, спокойно, в игре нет нападок на традиционные ценности, по крайней мере, в пределах среднестатистического уровня мнительности, причём, даже фокусно по меркам вашей страты. Более того, я, к сожалению, вынужден разочаровать всех присутствующих SJW, потому что внутри игры царит гендерный бинаризм, так что будущее, по версии автора, осталось отнюдь не за каким-нибудь гендернокреативным человеком-вертолётом, состоящем в полигамных отношениях с человеком-дельфином и человеком-вулканом, а за традиционной бинарной моделью с соответствующими признаками феминности или мускулинности у индивидуумов. Эй, послушайте, кто вы там… не разберу: красивый мальчик или страшная девочка, если вы хотели подарить мне перед уходом этот помидор, то могли бы подойти и дать в руки. Отлично, левый край аудитории освободился, так что мы можем рассесться посвободнее и продолжить…

По сути, вся эта история про мир будущего с генетически вытравленным биологическим полом, — это своеобразный антиутопический сеттинг, обозначенный крайне пунктирно. Основные события игры строятся на вполне шаблонных моделях поведения мужчины и женщины, так что если сильно не рефлексировать на тему формальной цели, коей является желание персонажа получить право на биологический пол, являющееся признаком принадлежности к элите общества XXII века, то вы вообще практически не заметите ничего особенного. Да и сам факт формулировки именно такой цели характеризует мир игры как дефективный и нуждающийся в исправлении с вашей стороны, так что «Все или ничего» вообще игра с пропагандой вполне традиционных ценностей.

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

«Выходя из бара, вы подумали, что завтра пойдете и запишитесь на шоу «ВСЕ ИЛИ НИЧЕГО». Вы живете в странном мире, где вино не пьянит, чай не бодрит, где почти нет мужчин и женщин, семей, секса, где не рожают детей, но главная проблема человечества — одиночество, никуда не исчезло. Настало время сделать хоть раз что-то не для себя. Вы твердо решили победить и отдать приз ей, девушке из бара, которую видели сегодня в первый раз, такой же «личинке», как и вы сами.»

Литературная составляющая

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

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

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

Поезд прибывает на станцию «Индастриал Фацилити».
>ждать
Нет смысла ехать дальше, так я окажусь слишком далеко от цели.
…»
В платформах RInform и ЯРИЛ число и лицо в стандартных сообщениях задано фиксировано, поэтому в играх на них стоит сразу отказаться от желания как-то отойти от единственного числа второго лица, если только нет готовности делать форк основной библиотеки. Если же так уж хочется поэкспериментировать в парсерной игре с повествованием от другого лица, в другом числе и с другим родом главного героя, то надо брать RTADS, Метапарсер или даже ТОМ2, у которых это достигается изменением нескольких параметров, хотя на ТОМ2 если кто и может сейчас писать, так это только сам разработчик платформы, да и тот, скорей всего, после перерыва в несколько месяцев каждый раз учится заново посредством чтения исходников движка, ввиду отсутствия адекватной документации.

В тексте также нередки помарки с пунктуацией в деепричастных оборотах и сложноподчинённых предложениях, из-за чего мысль порой путается и приходится её перечитывать, а также стилистические ошибки использования однокоренных слов внутри одного предложения или в соседних предложениях (см. цитату выше и формы слова «материал»).

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

Игровая механика

В плане геймплея игра довольно чётко делится на три части:

  1. Сначала вам предстоит два диалога с Беладонной Буйо и Джереми Олсоном, в которых игровая механика построена на неком провоцировании собеседников посредством взаимодействия с объектами локации, а также на выведении собеседников на нужную тему посредством угадывания необходимых тем разговора, вводимых по системе «спросить о чём-то» или «рассказать о чём-то» (Ask/Tell).
  2. Далее вам предстоит короткое стремительное путешествие к месту назначения, во время которого придётся скрываться от людей, могущих вас узнать.
  3. Ну и в конце вам предстоит бой с роботом, который будет мешать сделать последний шаг к победе.
Лично на мой вкус, самым захватывающим является второй этап, когда с героя постоянно списывают сумму выигрыша в реалити-шоу, так что ты начинаешь беспокоиться, что всё напрасно. К сожалению, это наименее проработанная и самая короткая часть игры, так что хорошего понемножку. Самым провальным этапом является бой с роботом, который просто построен на вывернутой на изнанку парсерной механике исследования мира, основываясь на которой вам нужно будет обнаружить слабое место противника и нанести туда удар. Единственное, что вас может вознаградить за это мучение, так это мелодраматическая финальная сцена. Ну а самым длинным и проработанным является первый «диалоговый» этап игры.

Как мне кажется, вся совокупность парсерных игроков делится на две основные части: тех, кого раздражают обязательные пазлы на основе Ask/Tell, и тех, кто относится к ним более-менее терпимо. Я не верю в существование сколько-нибудь многочисленной группы игроков, испытывающих удовольствие от пазлов такого типа. Ask/Tell в парсерных играх — это сносный опционный механизм подсказок или пасхальных яиц, когда можно что-то спросить у персонажа и получить намёк или какую-нибудь шутку, но как геймплейно-образующая механика — это барахло.

В защиту «Все или ничего» можно отметить, что Ask/Tell применяется в нестандартных условиях симулятора пикапера, когда мы заигрываем с девушкой и пытаемся по её реакциям догадаться о следующем хуке в диалоге, чтобы развить знакомство. От части автору это даже удалось, когда целевой объект следующего вопроса вполне логично вытекает из предыдущей фразы девушки, но достаточно хорошо весь необходимый диалог, как мне кажется, реализовать не вышло. Автор явно увлёкся идеей такой механики, но на 75% она провалилась, что, на мой взгляд, было вполне прогнозируемо, так что необязательно было проверять это эмпирически.

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

«…
>осмотреть девушку
Яркий макияж аля Барбара Стейнвик, голубые глаза, пышная прическа, облегающая белая блузка, черная зауженная к низу юбка в стиле модерн, туфли на высоком каблуке, но сама по себе особа в высшей степени невзрачная. Высокая, худая, со слабо выраженными, еще не сформировавшимися бедрами, плоскогрудая. Однако по какой-то для вас не объяснимой причине ваш взгляд задержался на ней. Что-то в ней было, что-то неуловимое, какой-то особенный шарм. Ее беспокойная левая рука то оправляла волосы, то поправляла приколотый к груди бейджик, то просто начинала гипнотизирующе покачиваться, как змея.
Вместе с тем вы не могли не заметить печать грусти на ее лице, появляющуюся в те моменты, когда она думает, что на нее никто не смотрит. Интересно, в чем причина?
>обнять девушку
Вы не чувствуете того, что во времена старого мира называли сексуальным влечением. Поцелуй кажется вам чем-то странным и не гигиеничным. Строго говоря, вы даже не мужчина, вы, как и ваша соседка справа, бесполы, хотя выглядите и ведете себя согласно интуитивно выбранной гендерной роли. Это атавизм.
[Ваш счёт увеличился на 1 очко.]
>заглянуть под юбку
Ты не находишь под юбкой девушки ничего интересного.
>пощупать грудь
Никаких необычных ощущений нет.
>пососать грудь
Никакого необычного вкуса нет.
…»
К слову, большую часть очков можно игнорировать, потому что это просто вознаграждение за выполнение необязательных действий по исследованию мира. Лично я такое не очень люблю, но некоторые игры пытаются так стимулировать игроков на то, чтобы они постарались увидеть всё, на что автор потратил время. Я не готов за это ругать авторов, но только тогда, когда модель мира они предварительно полностью вылизали, что в «Все или ничего» сделано не было. И не надо даже произносить слова «комбинаторный взрыв», потому что парсерные платформы с языками, предоставляющими ООП язык с поддержкой суперклассов и множественного наследования, позволяют достаточно легко контролировать всё происходящее при должной культуре и дисциплине разработки, когда автор дал себе труд изучить номенклатуру стандартных «глаголов» и создаёт иерархию классов и объектов игры, держа в голове эти «глаголы» в качестве проверочного списка.

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

В итоге

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

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

Ссылки

3 комментария

Zlobot
Ну что я могу сказать? Во-первых — спасибо, а во-вторых объективная рецензия всегда праздник. Чистокровные игроки балуют редко. Либо тактично молчат, либо лаконично похвалят за то, что не бросаешь начатое и стараешься двигаться вперед. А некоторые сводят всю критику к агрессивным нападкам на личность автора и через два слова на третье срываются на мат. Посыл там всегда один: Тебе не дано. Прекращай делать игры или пожалеешь — мы превратим твою жизнь в ад.

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

В данный момент действительно ни там ни тут в плане аудитории. Я это чувствовал, но не мог вывести в область рационального.

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

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

Грамотность. Медленно работаю над ее улучшением.

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

Про спорность такого решения как диалоговые пазлы мне весной написал Антон Ласточкин в своих комментариях внутри лога прохождения за что ему большое спасибо. А теперь я даже знаю как можно применить с пользой для дела систему общения в парсерной игре. Вопрос этот долго оставался для меня без ответа. Спасибо.

Однажды все получится, только надо упорно трудится.
Nikita
> От второго лица, которое обычно стоит по дефолту, мне почему-то очень не удобно излагать мысли.

Представьте, что вы мастер ролевой игры и водите игрока.
В детстве многие так проходили некоторые игры, когда без компьютера водил человек, который в неё перед этим где-то поиграл.
Между прочем, с тех пор я имею эмпирическое доказательство, что игровой парсер, который понимает любой ввод и может на него адекватно реагировать, абсолютно не нужен для настоящей квестовой механики и даже скорей мешает, так что все очередные разговоры на эту тему от неофитов у меня вызывают только снисходительную усмешку. С тех пор появилось и теоретическое обоснование этой идеи, но, как написал Ферма про доказательство своей теоремы по поводу xn+yn=zn, поля здесь слишком узки для того, чтобы вместить его.

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

Вам нужно сделать следующее:
  1. Для начала изучить общую библиотеку вашей парсерной платформы и выписать все стандартные «глаголы» (чисто игровые для взаимодействия с миром, системные, типа «сохранить» или «отмена», не нужно).
  2. Здесь же я бы посоветовал сразу, не отходя от кассы, провести аудит стандартных реакций, потому что во многих платформах они для ряда «глаголов» не очень. Например, RInform'овский «Никакого необычного вкуса нет» в большинстве случаев выглядит глупо, так как подразумевает, что герой готов лизать всё подряд и реально этим занимается. В общем стандартные реакции лучше переделать модифицирующим патчем, который потом носить с собой по всем проектам, на какие-то более нейтральные, в рассматриваемом примере хотя бы «Немного поразмыслив, ты решил, что это будет не очень гигиенично.»
  3. Затем следует разложить эти «глаголы» по кучкам в соответствии с их основным функциональным назначением, например, навигация по миру (идти на север, сесть на, выйти и т.п.), исследование мира (осмотреть, обыскать, прислушаться и т.п.), манипуляции с объектами (взять, включить, повернуть и т.п.), взаимодействие с персонажами (говорить, обнять, показать и т.п.) и пр. Лично я сначала это делал в Excel с автофильтром по столбцу категории, но в итоге вообще превратил это во встраиваемую справку, которую даже после завершения разработки оставляю доступной для игроков (можно посмотреть в большинстве актуальных версий моих игр по команде «команды»).
  4. Далее, создавая класс какой-то игровой сущности, типа персонажа или любого другого объекта, следует внимательно проверять, какие именно реакции будут выдаваться на «глаголы». Предварительная классификация помогает упростить этот процесс, например, сразу выдавая список взаимодействий с персонажем. По сути, вам достаточно один раз вылизать класс персонажа, реализовав перехват для всего, что нужно модифицировать, а потом эти классы могут уже переиспользоваться в других играх просто с небольшой доработкой. Куча сущностей модели мира достаточно универсальны, чтобы носить их из игры в игру. Ну а в остальных случаях надо каждый раз просто просматривать по списку «глаголов», какие именно команды стоит модифицировать для создаваемого объекта игры, и в нужных местах редактировать, например, когда в игре появится объект бритвы, то логично чуть-чуть вложиться в кастомную реакцию на «глагол» щупать, и так далее. Для специфических сущностей, типа удалённых объектов, например, луна или облако, или абстрактных понятий, например, голоса в голове, надо подготовить специальные классы, которые будут обрезать все лишние взаимодействия, типа «пощупать» или «понюхать», ну и использовать именно их для создания соответствующих объектов в игре.
  5. Ещё как упрощающий приём есть принцип «пяти чувств», когда мы проверяем мысленно каждый новый объект мира на его значимость для чувственного восприятия героя. В итоге, когда в игре появляется выгребная яма, мы сразу понимаем, что она должна оказывать особое воздействие на обоняние, так что модифицируем для неё соответствующую реакцию. Для обычной книги ничего особенного модифицировать не надо, кроме описания, то есть реакции на применение зрения, а вот для горящей свечи надо будет модифицировать осязание, для работающего приёмника и локации с работающим приёмником — слух, ну и так далее.

Старайтесь везде, где это возможно, работать с иерархиями классов, то есть, например, не создавайте каждый раз из суперкласса дедку и Жучку, а создайте класс вашего персонажа, где аккуратно модифицируйте все нужные реакции и пропишите методы коллаборации для вырывания репки, и затем от него уже создавайте следующий класс бессловесных животных Жучки, кошки и мышки, где просто модифицируйте функциональность «говорить/спросить/рассказать», чтобы животные не умели разговаривать словами. Ну это общие концепции ООП, для понимания которых можно проглядеть начало любого более-менее фундаментального учебника по языку программирования с классическим ООП.

Общие представления теории конечных автоматов также помогают лучше представлять себе условности и ограничения игрового мира и успешно ими управлять. Хотя прямо бежать и читать учебник по конечным автоматом может и не так уж необходимо.

Когда вы один раз сделаете 1, 2 и 3 из вышеописанных шагов, а 4 и 5 шаг станут устойчивыми навыками из-за многочисленного использования, то без особого труда будете моделировать достаточно детализованные парсерные миры. Причём, если развить в себе именно такую дисциплину разработки, то результат получается намного более качественным, чем после тестирования живыми игроками. Тестирование на игроках — это делегированный непонятным людям выборочный рандомный обстрел потенциально проблемных мест для ленивых разработчиков, а вышеописанная методология — это системный подход для трудолюбивых разработчиков. Ну и в гонке качества даже уже на средних по размеру играх практически всегда выигрывают трудолюбивые из-за намного более низкого процента брака.

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

К счастью, писать парсерные игры меня побудил не хайп, а скажем так творческая необходимость. Хотел сделать игру детектив, промучился год и в один прекрасный момент понял, что в рамках меню реализовать ее интересно не получится. Забросил. В голове была мягко говоря не совсем правдоподобная картина относительно геймдизайна таких игр — хотелось реализовать в текстовом виде ужас графических старых квестов именуемый пиксельхантинг и заставить детектива искать скрытые пути на уровне логики. Сейчас уже понимаю как это было глупо и бесчеловечно по отношению к игроку.

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