«Метель» — и нашим, и вашим
В рамках ЗОК-2019, Петром Косых, при участии Pakowacz, была выпущена парсерная игра «Метель», представляющая собой нечто вроде мистической рождественской истории с некоторыми аллюзиями на «Снежную королеву» Андерсена. Правда каюсь, лично у меня самая первая мысль была про «Трогательную историю» Джерома Клапки Джерома из-за несколько картонного начала, но возможно у меня было просто слишком весёлое настроение и вообще не тот настрой, так как я был подогрет обещаниями сложных пазлов и готовился к серьёзному бою с игрой, а не к вступлениям подобного рода.
Ну и давайте определимся с самого начала. Если вы ждёте от этой игры старых добрых экшен-квестов от Петра в стиле «добро должно быть с кулаками», то вынужден вас разочаровать — это совсем не про это. Лихого побивания злодеев подручными предметами здесь не будет, да и проблемы скорей внутри героев, чем снаружи.
(Рецензия написана по версии игры 1.2)
Игра состоит из вступления, в котором показан ваш конфликт с матерью, и основной части, посвящённой сюрреалистическим приключениям в волшебном зеркальном мире вечной зимы.
Честно говоря, описал я это не очень хорошо, но это потому, что жанрово «Метель» — это в сущности сказка, а сюжеты сказок часто в пересказе выглядят как наркотический бред. Их надо просто читать и всё, ну или играть, как в нашем случае.
Впрочем, назвать текст в полной мере минималистичным всё же нельзя, потому что в нём встречаются отдельные литературные описания, а также есть небольшие элементы фрактального повествования, когда можно получить какие-то необязательные элементы истории за счёт более глубокого изучения мира. Правда для этого вам надо обладать определёнными навыками игры в парсеры, так как часть этих элементов открываются уже не самым базовым набором команд.
В общем эстетического удовольствия от текста ждать вряд ли стоит, но мешать он вам точно не будет, а в играх, особенно парсерных, это самое главное.
После вступления начинается основная часть игры в зеркальном мире, где прорезаются уже полноценные квестовые механики. Правда стоит отметить, что местами, действительно, как нам и анонсировали, пара пазлов реализована не очень логично, подразумевая для своего решения далеко не самые очевидные способы взаимодействия с предметами. Это, конечно, совсем не «суповые кастрюли», но тоже ничего хорошего. Данный негативный момент усугубляется ещё очень маловариативным игровым миром, представляющим собой практически коридор локаций с небольшим числом объектов в каждой. То есть модель мира «Метели» имеет малое фазовое пространство, так что когда игрок застревает с каким-то пазлом, то у него нет возможности позаниматься чем-то ещё и заняться проверкой альтернативных гипотез, и геймплей превращается просто в перебор глаголов в текущем тупике.
Впрочем, здесь есть одно очень важное замечание. Дело в том, что некоторые пазлы как раз имеют очень красивые и изящные решения, просто выбивающиеся из общего антуража детской сказки, так как основываются на строгих физических взаимодействиях с расширенной симуляцией мира, например, как пазл со снежным ветром. Так что если вы застряли, то одно из двух: либо вы споткнулись на нелогичном пазле, либо вам не хватает логических способностей для суперлогичного пазла.
Спойлерить я, пожалуй, не буду, просто скажу, что в замке все пазлы, на мой взгляд, уже логичны, так что если вы застряли там, то проблема в вас.
Правда есть ещё один недостаток, заключающийся в том, что решения некоторых пазлов основываются на неявных взаимосвязях событий, когда нужное изменение мира происходит только после какого-то действия, логически слабо связанного с его последствиями. До криминала эта идея не доведена, но дальше в эту сторону я бы никому из парсерных авторов двигаться не советовал.
Кстати, игра собрана на версии Метапарсера, где у вас уже будут работать все традиционные сокращения и команды взаимодействия со списком объектов, типа «взять всё». Впрочем, последнее мне понадобилось только один раз для взаимодействия с бардачком, так как большого числа объектов в игре нет, но всё равно приятно, когда вводишь не задумываясь, а оно работает. В общем, как минимум, один игрок это заметил и оценил.
Правда в жанровом отношении «Метель» довольно неоднозначна, начинаясь как повествовательный парсер, а потом предлагая ряд чистокровных квестовых пазлов. Поэтому это лотерея: понравится она любителям чистых реализаций этих геймплейных подходов или нет. Однако с точки зрения объективных критериев игра сделана очень аккуратно, так что боятся не стоит, и надо просто попробовать всем.
Ну и давайте определимся с самого начала. Если вы ждёте от этой игры старых добрых экшен-квестов от Петра в стиле «добро должно быть с кулаками», то вынужден вас разочаровать — это совсем не про это. Лихого побивания злодеев подручными предметами здесь не будет, да и проблемы скорей внутри героев, чем снаружи.
«Старенький синий седан едет по заснеженной трассе. Внутри машины — двое.
Ведёт машину усталая женщина лет 35. На заднем сидении справа сидит её дочь — девочка-подросток.
Девочка прислонилась лбом к холодному стеклу. Мать продолжает начатый разговор…
— Вот увидишь, тебе там понравится.
Что тебя ждёт за снежной пеленой?»
(Рецензия написана по версии игры 1.2)
Сюжет
Вы играете за тринадцатилетнюю девочку-подростка Веру, страдающую от дефицита родительского внимания и конфликта со своей матерью. В результате некого мистического происшествия вы оказываетесь в зеркальном мире, из которого вам предстоит вернуться, преодолев ряд испытаний и пересмотрев своё отношение к матери.Игра состоит из вступления, в котором показан ваш конфликт с матерью, и основной части, посвящённой сюрреалистическим приключениям в волшебном зеркальном мире вечной зимы.
Честно говоря, описал я это не очень хорошо, но это потому, что жанрово «Метель» — это в сущности сказка, а сюжеты сказок часто в пересказе выглядят как наркотический бред. Их надо просто читать и всё, ну или играть, как в нашем случае.
Литературная составляющая
Игра написана очень простым языком. Местами откровенно рубленными предложениями. Возможно это обусловлено желанием экономить экранное место для показа картинок, а может автор в этот раз просто решил сделать так без дополнительных причин.Впрочем, назвать текст в полной мере минималистичным всё же нельзя, потому что в нём встречаются отдельные литературные описания, а также есть небольшие элементы фрактального повествования, когда можно получить какие-то необязательные элементы истории за счёт более глубокого изучения мира. Правда для этого вам надо обладать определёнными навыками игры в парсеры, так как часть этих элементов открываются уже не самым базовым набором команд.
В общем эстетического удовольствия от текста ждать вряд ли стоит, но мешать он вам точно не будет, а в играх, особенно парсерных, это самое главное.
Игровая механика
Игра начинается очень вяло, как типичный повествовательный парсер, причём, не самый лучший. Мы заперты в единственной слабо детализированной локации, где от нас ожидается выполнение определённой последовательности действий для продвижения сюжета, а сама эта последовательность никакой объективной логики не имеет. На этом этапе игры у вас есть два крайних варианта: можно либо оперативно перепахать всю локацию вдоль и поперёк, пользуясь опытом бывалого парсерного игрока, тогда вы дёрните за все нужные триггеры, либо долго мучать игру даже просто однообразными повторяющимися командами, накручивая счётчик ходов, пока она не начнёт вам подсказывать команды буквально прямым текстом. Это самый ужасный момент игры, но я бы советовал его перетерпеть, потому что дальше будет бодрее. Вообще это вступление чем-то напоминает более безопасный вариант начала Photopia («Фотопии»), и, если кто не в курсе, для многих любителей парсеров подобное сравнение — это совсем не комплемент.После вступления начинается основная часть игры в зеркальном мире, где прорезаются уже полноценные квестовые механики. Правда стоит отметить, что местами, действительно, как нам и анонсировали, пара пазлов реализована не очень логично, подразумевая для своего решения далеко не самые очевидные способы взаимодействия с предметами. Это, конечно, совсем не «суповые кастрюли», но тоже ничего хорошего. Данный негативный момент усугубляется ещё очень маловариативным игровым миром, представляющим собой практически коридор локаций с небольшим числом объектов в каждой. То есть модель мира «Метели» имеет малое фазовое пространство, так что когда игрок застревает с каким-то пазлом, то у него нет возможности позаниматься чем-то ещё и заняться проверкой альтернативных гипотез, и геймплей превращается просто в перебор глаголов в текущем тупике.
Впрочем, здесь есть одно очень важное замечание. Дело в том, что некоторые пазлы как раз имеют очень красивые и изящные решения, просто выбивающиеся из общего антуража детской сказки, так как основываются на строгих физических взаимодействиях с расширенной симуляцией мира, например, как пазл со снежным ветром. Так что если вы застряли, то одно из двух: либо вы споткнулись на нелогичном пазле, либо вам не хватает логических способностей для суперлогичного пазла.
Спойлерить я, пожалуй, не буду, просто скажу, что в замке все пазлы, на мой взгляд, уже логичны, так что если вы застряли там, то проблема в вас.
Правда есть ещё один недостаток, заключающийся в том, что решения некоторых пазлов основываются на неявных взаимосвязях событий, когда нужное изменение мира происходит только после какого-то действия, логически слабо связанного с его последствиями. До криминала эта идея не доведена, но дальше в эту сторону я бы никому из парсерных авторов двигаться не советовал.
Кстати, игра собрана на версии Метапарсера, где у вас уже будут работать все традиционные сокращения и команды взаимодействия со списком объектов, типа «взять всё». Впрочем, последнее мне понадобилось только один раз для взаимодействия с бардачком, так как большого числа объектов в игре нет, но всё равно приятно, когда вводишь не задумываясь, а оно работает. В общем, как минимум, один игрок это заметил и оценил.
В итоге
Откровенно говоря, от моего личного идеала парсерной игры «Метель» довольно далека, потому что не имеет целого ряда особенностей, которые, на мой взгляд, раскрывают главные конкурентные преимущества парсеров по сравнению со всеми остальными: большое фазовое пространство логичных состояний мира, многовариативное взаимодействие с физической моделью мира, параллелизация решения пазлов и прочее. Однако она ближе к этому идеалу, чем многие другие, так что даже я в целом доволен, что в неё поиграл, а уж менее привередливые так и вообще могут оказаться в восторге.Правда в жанровом отношении «Метель» довольно неоднозначна, начинаясь как повествовательный парсер, а потом предлагая ряд чистокровных квестовых пазлов. Поэтому это лотерея: понравится она любителям чистых реализаций этих геймплейных подходов или нет. Однако с точки зрения объективных критериев игра сделана очень аккуратно, так что боятся не стоит, и надо просто попробовать всем.
Если Марс был на 99% новеллой. То эта игра планировалась как переходный гибрид, в котором все-таки упор по прежнему делается на сюжет/линейность, но и парсерная часть представлено больше. Не так просто совместить квестовые задачи с сюжетом так, чтобы это смотрелось гармонично. В литературе такой проблемы нет. Я иногда даже думаю, а не попробовать ли просто написать рассказ вместо игры? :)
В общем, я экспериментирую, конечно. Но главное, что и в Марсе и в Метели я сделал примерно то, что хотел. Теперь можно смотреть и думать, куда двигаться дальше. :)
Кстати, нативный интерпретатор INSTEAD для Windows (самая новая версия) периодически подвисает, прекращая принимать команды, так что он то просто не даёт какое-то время что-то вводить, либо подвисает на несколько мгновений во время ввода, так что проглатывается кусок команды, на ввод которой пришлось зависание, и ввод получается неполным. Складывается впечатление, что у него как будто переполняется буфер клавиатуры, как на старых слабых машинах, которые, если быстро ввести много символов, переставали воспринимать новый ввод, пока не переваривали предыдущий. В Метапарсере, где мы постоянно что-то вводим, это очень раздражает.
Кроме того, в некоторых играх в INSTEAD для Windows какие-то проблемы со звуком, например, в «Испытании Марсом» музыка периодически начинает заикаться, а в «Системе» звук фонового шума в начале игры воспроизводится только в левом канале, хотя если проиграть файл bgmus2.ogg напрямую, то там всё нормально. Видно какие-то баги звуковой подсистемы интерпретатора или проблемы со встроенными кодеками ogg.
В общем сказывается, что INSTEAD для Windows как неродной ребёнок, за которым никто не приглядывает. Вы бы нашли где-нибудь машину с Windows и поиграли бы там в INSTEAD, чтобы почувствовать нашу боль.
Я играю без кликов на подсказки и без дополнения по Tab, а целиком вводя команды и обычно довольно быстро целой серией после формулировки гипотез, так что возможно сталкиваюсь с проглатыванием ввода чаще среднестатистического игрока на Метапарсере.
Проще наверное будет воспроизвести проблему со звуком в левом канале в игре "Система". Она у меня проявляется на постоянной основе на всех конфигурациях, так что, подозреваю, мало зависит от индивидуальных особенностей. Остальные файлы там, кстати, проигрываются нормально, а проблема только на bgmus2.ogg, так что возможно есть какой-то плохо перевариваемый INSTEAD'ом вариант кодирования OGG.
Ещё есть неприятная мелочь, когда в транскрипте теряются отдельные команды при смене сцены. Например, так по-моему происходит при входе в купол в «Испытании Марсом», где команда входа в купол в лог не попадает, с диалогами, кажется, такая же проблема. В общем функция записи логов в Метапарсере сейчас местами работает неудовлетворительно. В файл должен железно попадать весь ввод и весь вывод. Ну а в консольный вариант Метапарсера надо потом ещё встроить режим запуска с указанием файла, откуда будут в качестве команд автопрохождения браться строки, начинающиеся со знака ">", чтобы туда можно было бы скармливать любой пользовательский лог в сыром виде. Правда перед этим надо будет ещё перестать отправлять в лог HTML-теги или обучить консольный Метапарсер игнорировать их в этом режиме.
Ок, быстрый ввод. Попробую посмотреть. Может быть, фейдинг съедает? Ну там, картинка в этот момент меняется?
> Например, так по-моему происходит при входе в купол в «Испытании Марсом», где команда входа в купол в лог не попадает, с диалогами, кажется, такая же проблема
Этот баг я точно фиксил, надо изучать с какой версией собрано испытание…
У меня такое со всеми играми на Метапарсере бывало, в том числе с очень простым оформлением.
Не сказать, чтобы прямо постоянно, но за «Метель» было штук 20 проглатываний отдельных нажатий внутри команды, и штук 5 длительных зависаний на несколько секунд. Ну и это на несколько сотен команд.
Воспроизвести специально не получается, даже если я начинаю вводить много команд очень быстро. То есть там есть какие-то факторы, возникающие лишь периодически.
В web у людей вроде тоже самое бывает и чаще, но я в web не играю, так что это с чужих слов.
А ещё я нигде не нашёл полного списка горячих клавиш интерпретатора. В doc только описательный ReadMe и документация для разработчиков игр. Что-то подсмотрел в обучающей игре, что-то подобрал методом тыка, но наверное это не всё.
Вот это мне и хочется воспроизвести. В вебе, там понятно, многое может быть. А вот на настольном PC там вообще детская загрузка. 3-5% даже с анимацией. Так что мне бы конечно хотелось максимально подробную информацию…
Я убрал там автодополнение полностью и вернул стандартное поведение сборщика мусора.
Слабо вероятно, что это оно. Но хочется хоть как то диагностировать проблему.
Попробуешь?
Возможно причина именно в автодополнении. На ввод каждого символа Метапарсер рассчитывает новый список подходящих команд, ну и если, например, вводить 3 символа, а потом автодополнять, как принято на INSTEAD, то таких расчёта делается 3, а если вводить полную команду из 15 символов, как делаю я, то таких расчётов 15, плюс если это быстро и сразу несколько команд, то движок как раз и может захлёбываться. Также, поскольку для разных наборов символов получаются разные списки, то возможно этим объясняется, что иногда расчёты легче, а иногда тяжелее, из-за чего заморозка интерфейса имеет плавающий характер.
Ну это так, абстрактная гипотеза, высосанная из пальца. Впрочем, если есть возможность как-то профилировать INSTEAD, то будет не лишним посмотреть, наблюдается ли там эффект просадки производительности на вводе длинных команд при включённом автодополнении.
Кстати, я ещё играю с записью транскрипта, возможно это тоже значимый фактор.
Нужно открыть main3.lua найти autocompl = false и заменить его на = true.
Если будет тормозить — это оно. Если нет — то это сборщик мусора. Посмотришь? :)
P.S. игру я за это время значительно обновил, исправив основные косяки, но это сейчас к делу не относится. :)
Кстати, на других платформах я привык возможности уточняющего ввода:
Метапарсер же контекст предыдущей команды в случае реакции на неё уточняющим вопросом, не сохраняет. Приходиться перевводить команду целиком, что не очень удобно.
Это может оказаться не такой простой доработкой, а также вступить в конфликт с функциональностью осмотра объекта по простому вводу его названия, но я бы советовал над этим задуматься.
Кроме того, привычка ввода таких неполных команд произрастает из ещё одной функциональности, характерной для других платформ, и по-моему отсутствующей в Метапарсере, а именно автодополнение команд в случае отсутствия их многозначной трактовки.
Если в зоне досягаемости в принципе есть только один объект, для которого команда «дать деньги» является валидной, то ввод «дать деньги» будет автоматически дополнен и выполнен.
Правда для этого в стандартной библиотеке должен быть механизм управления валидными командами, то есть должна быть сущность реакции-затычки и сущность функционально значимой реакции.
Ну и спасибо за «взять всё», но оно пока работает не очень хорошо, потому что нет рекурсивного обхода всех контейнеров локации, предметы из которых доступны для взаимодействия, например, надо обязательно уточнять «из бардачка». Всё-таки желательно, чтобы уточнение контейнера было опционным, а не обязательным, а без уточнения формировался список доступных объектов рекурсивным обходом по локации и всем её контейнерам.
> Метапарсер же контекст предыдущей команды в случае реакции на неё уточняющим вопросом, не сохраняет
Да, знаю про это. Это все вопрос того, куда движется мп. Пока я не стал этого делать во имя простоты и предсказуемости. Я не знаю, может быть что то будет.
> Если в зоне досягаемости в принципе есть только один объект, для которого команда «дать деньги» является валидной, то ввод «дать деньги» будет автоматически дополнен и выполнен.
Да и про это я думаю фоном. Пока не определился как лучше это делать. Но, конечно, оно напрашивается. Эту вещь явно не сложно сделать. Но опять вроде как нарушается идея — сделать просто, но предсказуемо. Ну вот есть протопарсер, где это возведено в абсолют. А так -я получается я пытаюсь делать копию информа/тадса. Меня это смущает.
> Ну и спасибо за «взять всё», но оно пока работает не очень хорошо, потому что нет рекурсивного обхода всех контейнеров локации,
Да, ты верно это заметил. Я сделал пока это специально. Рекурсивный взять показался мне опасным. Если ты предложишь подходящий алгоритм на словах, я подумаю. Просто вот пример. Я в поле- есть машина. Она — контейнер. Я пишу взять все. Должен ли я пытаться взять машину? Или только зайти внутрь? Но как быть с чемоданом, например? Или если доступность есть — то надо брать изнутри? Но мне кажется тут начинаются неожиданности… И может стать так как в информе. Страшно ее использовать. Но тут, жду твоих идей.
A — контейнер открытый
B,C — внутри A
D — внутри B
Что брать? И в какой последовательности/
Например — идем вглубь, во все доступные места (открытые контейнеры, и supporter). Не берем контейнеры и суппортеры, но берем их содержимое.
Вот этот приведенный мной алгоритм мне не нравится.
Соответственно функция проверки нахождения объекта в инвентаре также должна быть рекурсивной, чтобы кубик в коробке также считался объектом в инвентаре, если сама коробка в инвентаре.
Если же «взять всё» вводится с уточнением, типа «из бардачка», то всё то же самое, но весь этот рекурсивный обход мы начинаем не с локации, а с уточнённого контейнера.
Тогда можно делать. :)
Понятно, что в случае с бардачком кажется все клево, но в общем случае — как то мощно слишком. Подумаю…
Да, движимость контейнера — это ключевой момент. Если объект недвижимый, то его в список для «всё» не записываем, хотя если он при этом контейнер, то внутрь заглядываем. Везде контейнеры, конечно, в широком смысле, то есть и поверхности тоже.
В движимые контейнеры вообще-то тоже можно заглядывать и сканировать объекты в них. Но это уже вопрос личного виденья логики движка: надо ли пытаться брать содержимое движимого контейнера, если сам контейнер в инвентарь не помещается в случае существования в симуляции мира веса, объёма и лимитов на вместимость. Если нет, то содержимое движимых контейнеров не сканируем, а если да, то сканируем, чтобы попытаться потом взять содержимое отдельно, если весь контейнер забрать не вышло.
Здесь, на мой взгляд, просто неправильно смоделирован мир. Зачем машину делать контейнером? У вас и замок контейнером, а комнаты замка контейнерами в контейнере замка?
Машина должна быть фиксированным объектом сцены, для которого просто назначен обработчик команды «залезть в машину», который перебрасывает игрока в отдельную локацию солона автомобиля.
Если возможность осмотреть скрипку внутри машины, находясь вне машины, считается логичной, то логичной можно считать и возможность взять эту скрипку, не находясь в машине, в том числе и через «взять всё».
Впрочем, возможность исключить объект из списка по «всё» в любом случае полезна.
Например, в игре одежда может быть реализована отдельным объектом, допустим, тот же скафандр в «Другом Марсе», после чего может возникнуть необходимость исключить одежду из списка объектов для команды «бросить всё». Если такой механизм будет, то с его помощью можно будет уже реализовать и исключение скрипки из списка по «всё» в нужной ситуации.
Причём, эту настройку лучше привязывать не к объекту, а к глаголу. Потому что, например, штаны, лежащие на диване, желательно забирать по «взять всё», но вот сбрасывать их по «бросить всё» уже может быть нежелательно, то есть нужен контроль за глагольным контекстом.
Можешь заменить mp.lua на этот: dropmefiles.com/gVKS3
Снова включить автодополнение, (начать игру заново — обязательно) и проверить?
Вообще, может удобней лично по почте?
Есть ощущение, что вроде не так плохо, как в первый раз, но точно периодически в такой конфигурации подвисает. То есть хуже, чем тогда, когда автодополнение отключено.
Можно и по почте — tseikovets@rambler.ru
Если раскрывать этот вопрос подробнее, то механика воздействия через плюсы и минусы рассчитана на людей, руководствующихся очень примитивными атавистическими инстинктами, в частности, желанием социального одобрения, в общем в этом аспекте психологически до сих пор практически обезьян, на инстинктивном уровне боящихся изгнания из стаи. Когда человек это понимает, то плюсы и минусы в Интернете уже невозможно воспринимать всерьёз, но, как обычно и бывает, достаточной рациональностью мышления и уровнем интеллекта обладают единицы. В общем, если хотите быть вне системы, навязываемой современными социальными медиа, то осознайте это и перестаньте воспринимать все эти лайки и дислайки в Интернете всерьёз, особенно в маленьких сообществах, где из-за тесных социальных связей главенствуют факторы личных отношений, а не хотя бы противоборство ценностных точек зрения, как на площадках с тысячными аудиториями, где все просто технически не могут друг с другом перезнакомиться и сформировать сильные фракции чисто по социальным связям.
Впрочем, для кого-то возможно эти плюсы и минусы являются средством психологической разрядки в состоянии фрустрации, поэтому не так уж они и бесполезны, если каким-то эмоциональным людям становится легче.
Если постоянно думать над необходимостью социального одобрения для всех видов активностей, то у нас получится бесконечный цикл: мотивирующие отзывы на игры, мотивирующие реакции на отзывы, мотивирующие реакции на реакции на отзывы… Где-то всё-таки надо остановиться и сказать «вот здесь мне уже всё равно». Я предлагаю всем сделать это хотя бы на втором уровне, то есть на реакциях на отзывы, хотя в идеале хобби должно игнорировать всё это на самом первом уровне, но для этого надо быть чуть меньше обезьяной, руководствующейся инстинктами, и чуть больше человеком, руководствующимся разумом, что для многих оказывается сложно.
Регулирующая функция плюсов и минусов здесь поломана из-за неуравновешенных пользователей. Присутствие поста на главной странице у нас не является признаком качества и востребованности материала. Именно поэтому я сплошняком читаю RSS всех публикаций, а не RSS с главной.
Если завтра сюда придёт человек, например, проделавший большую работу по сравнению платформ, напишет подробный материал с разбором плюсов и минусов, указав на конкретные недостатки, то его дружно запинают фанаты практически всех платформ — каждый за свою, а в комментариях будет просто шабаш, хотя мало кто из этих людей будет иметь сопоставимых с ним уровень комплексных знаний по поднятому вопросу, и на главной с большой долей вероятности такого материала не будет. Это при том, что даже если у него будут ошибки, его надо плюсовать, потому что это актуальная тема, которую надо просто продолжать аргументировано обсуждать в комментариях. Нормальное обсуждение может быть ценнее материала, ставшего поводом для этого обсуждения.
Люди тут в массе своей оценивают не качество изложения точки зрения, пусть и противоположной, или же актуальность поднятой проблемы, а именно эмоциональное принятие или неприятие позиции автора. Материалы трактуются не как приглашение к дискуссии, а как личное оскорбление, если автор высказывает противоположное мнение или по иррациональным соображениям воспринимается как не имеющий право на мнение по какому-то вопросу, например, потому что не является членом какого-то чата. Бывает что люди взрываются просто от какого-то слова, например, кому-нибудь вполне может не понравиться ваше упоминание Иисуса в обзоре на «Хомяка Семёна», и он будет минусовать только по этому поводу, даже не дочитав до конца и проигнорировав весь контекст. Плюс к рейтингу привязаны какие-то дискриминационные вещи, типа запрета публикаций и комментирования, так что на IFHub, в отличие, например, от iFiction, минусы — это де-факто именно инструмент травли несогласных и гнобления неугодных, а не просто безвредное улюлюканье толпы.
Именно поэтому я, например, из принципа за всю жизнь не поставил на IFHub ни одного плюса и ни одного минуса, потому что считаю систему здесь поломанной из-за большинства пользователей с неправильным эмоциональным подходом и не хочу поддерживать этот фарс. Сходите почитайте разъяснения в правилах — с таким подходом вы один из тех, кто сломали здесь институт оценивания публикаций и вынуждают людей вычитывать весь поток самостоятельно, потому что рейтинг оценок неадекватен.
В общем, на мой взгляд, вы неправы. Пожалуй, вас надо заминусовать, чтобы вы разрыдались и больше здесь не показывались со своим неправильным мнением. :-)
Так вот, в социуме обычно ценят доброжелательность и не любят снобизм и высокомерие. Что, обычно и отражается в оценках. Комментарии от высокомерных снобов, в результате, падают в рейтинге, а их авторы (если вовремя не одумаются) — лишаются возможности писать и комментировать. Такая вот саморегулирующаяся система. По мне, так довольно разумная.
Минусовать меня вы вольны, конечно. Особенно, если это даст вам необходимую эмоциональную разрядку. А я волен минусовать вас. Как и плюсовать, разумеется.
IFhub — это не площадка для неформального общения, это коллективный UGC-блог, где подразумевается, что мы имеем некоторый пул подготовленных публикаций, отрейтингованых по качеству освещения проблемы, а не по личному отношению сообщества к данной проблеме.
Ваш подход — это всё равно что в редакционной коллегии научного политологического журнала будут заворачивать все статьи от авторов с либеральной позицией, игнорируя качество исследования. Да, очень удобное информационное гетто, но первоначальная суть утрачивается.
Лично для меня так наоборот самые интересные материалы с оценочным компонентом — это аргументированная критика того, что я люблю, или подробное объяснение прелести того, что мне не нравится.
Неужели вам было бы не интересно прочитать статью «Почему FireURQ говно», ну, разумеется, при условии содержания, более эмоционально взвешенного, чем заголовок? Да, вы бы может не согласились, но ведь интересно, что же людям не нравится. Может это дало бы какую-то пищу для размышлений.
Я не понимаю, как можно с интересом читать исключительно повторение своих собственных взглядов и сливаться в экстазе резонирующих эмоций со всеми окружающими, а вы стремитесь именно к этому на IFHub, игнорируя первоначальную суть системы оценки, а именно маркировку востребованности поднятой темы.
О доброжелательности тоже говорить не приходится, потому что главные хамы сообщества как раз из лагеря эмоционально невоздержанных, в том числе и на IFHub.
Именно поэтому трудно относиться к местным оценкам всерьёз, потому что в интеллектуальном смысле оценивающие не вызывают уважения и ощущения глубины мысли, к которой можно было бы прислушаться, пускай это и кажется снобизмом.
Хорошо, мне-то всё равно, а вот читатели в лице rudeger'а расстраиваются. Мы же вроде для них всё это здесь делаем?
Впрочем, давайте лучше хотя бы о парсерах, если не о «Метели». Рационально переубеждать людей, руководствующихся эмоциями, и наоборот — это ведь довольно глупое занятие.
Видите ли, я отношусь к людям, для которых форма общения зачастую важнее содержания. Обычно я стараюсь наладить общение с человеком, но если он, образно выражаясь, продолжает тыкать в меня острой палочкой, вызывая негативную эмоциональную реакцию, и я вижу, что ему это нравится, я прекращаю общение. Потому что неудобства перевешивают пользу. Да и пользы обычно не много, так как люди, находящие удовольствие в раздражении собеседника, обычно довольно-таки ограниченные.
Я убеждён, что вполне возможно обмениваться взглядами, даже противоположными, а уважительной и доброжелательной форме. Конечно, самому прилагать усилия и не считать собеседника априори глупее или ущербнее себя.
Тогда выходят посты с ошибками, неточностями и упрощениями, под которыми начинается лента на несколько десятков комментариев с разбором, а ошибся ли автор. Если новые читатели не прочитают всё под статьёй, то будут писать новые комменты и указывать на те же странности.
По-моему, нейтральной оценки должно быть достаточно: количество комментариев, даже оффтопа — тоже показатель популярной темы. Соглашусь что минусовать не стоит.
А люди, которые голосуют — это не те же, которые комментируют. Например, у этой статьи уже почти вдвое больше оценок, чем комментаторов.
1) Что такое «большое фазовое пространство логичных состояний мира»? На примерах, если не затруднит.
2) Что такое «многовариативное взаимодействие с физической моделью мира» как преимущество парсера? Если имеется в виду то, что можно по-разному взаимодействовать с объектами игрового мира, то ведь это и в менюшных играх есть (условно говоря, меч можно взять и потом использовать как оружие, а можно его продать; запертый сундук можно взломать, а можно открыть ключом, и т.д.).
3) Что за «прочие» преимущества парсеров?
Заранее предупреждаю: я не троллю, а действительно интересуюсь. Вообще я прежде всего интересуюсь книгами-играми и менюшными играми, а в парсеры играл почти только спектрумовские.
У игр с глубоким моделированием мира, где можно брать всякие предметы, перекладывать их в разные места, как-то их комбинировать и прочее, фазовое пространство получается достаточно большим.
Однако просто возможность полизать стены или встать на стол в гостиной и на нём попрыгать как таковой ценности не представляет. Важно, чтобы эти состояния были логично обусловлены игровой ситуацией.
И вот если пазлы в игре логично обуславливают большое количество возможностей по совершению каких-либо действий, то это и есть большое фазовое пространство логичных состояний.
Например, вы перед расщелиной, через которую надо перебраться. Неподалёку есть лес. А ещё у вас есть верёвка.
При должной реализации, всё это позволяет создать достаточно большое фазовое пространство логичных состояний мира.
Можно пробовать перепрыгнуть. Можно пробовать закрепить верёвку, спуститься вниз и поискать прохода там. Можно сходить в лес и исследовать возможность притащить дерево для перебрасывания через расщелину. Закрепление верёвки и поиски бревна могут тянуть за собой следующие подзадачи.
Если пытаться описать всё это в интерфейсе с явным выбором действий, то либо интерфейс перегрузится десятками опций для выбора, либо выборов окажется немного, так что победные стратегии будут достаточно очевидны и не будут являться существенным вызовом логике игрока.
Парсеры же с их интерфейсом и возможностями по глубокому моделированию мира позволяют достаточно органично обыграть подобную игровую ситуацию, сделав её очень интерактивной.
Игроку надо будет выдумывать варианты решения и проверять их осуществимость, а поскольку логичных состояний мира довольно много, то это будет долгий увлекательный процесс, по крайней мере, для тех, кому нравятся пазлы.
Парсерный интерфейс позволяет эргономично реализовать практически любое количество возможных действий над каждым объектом, а интерфейс с явным выбором команд от этого перегрузится до неиграбельного состояния. Кстати, в том числе и в видеоиграх, а не только в текстовых, потому что информативно визуализировать возможности десятков действий с выбором невозможно, например, какими-то иконками, всплывающими по клику мышки на изображении.
При этом, парсер сосредоточен на типовых физических действиях, типа взять, бросить, залезть, сломать и так далее, поэтому речь и идёт о физической модели мира.
Скажем, дерево можно трясти, подкапывать, рубить, обламывать с него ветки, попытаться на него залезть, расковырять кору и набрать сока и так далее. В какой-нибудь игре про человека на необитаемом острове всё это может быть логичным.
Однако парсер становится мало играбельным на нетиповых действиях, выходящих за рамки простого физического взаимодействия, поэтому фразы диалогов или сложные поступки лучше выбирать из меню, чем пытаться загнать в парсер. То есть не идёт речи о том, что парсер лучше для любой текстовой игры.
Например, возможность построения игровой механики за счёт неявности команд управления. Допустим, у вас игра-детектив, где надо осматривать место преступления, и ключ к решению в том, что преступник попал в комнату через окно.
Если вы расписываете это через меню, то игрок уже из списка вариантов получает практически спойлер в виде команд осматривания окна, клумбы за окном, сравнения следов с клумбы с ботинками жильцов дома и прочего. В парсерном же интерфейсе ему ещё надо додуматься до нужных действий, а если вы обеспечили достаточно большое фазовое пространство логичных состояний, то игроку ещё надо будет походить и попроверять разные гипотезы, по началу представляющиеся равновероятными возможностями решения пазла.
Многие из этих вещей можно пытаться реализовать в меню, и люди регулярно этим занимаются, но лучше всего они получаются именно в парсерах, если уметь их писать.
Однако это система взглядов, которой придерживаюсь я, тогда как существуют альтернативные школы мысли.
Например, кто-то считает, что пазлы усложняют геймплей, а игрока не нужно заставлять думать; кто-то считает, что раздувание фазового пространства — это плохо, особенно если реальное решение у пазла только одно, а остальные логичные варианты тупиковы; кто-то считает, что и в парсерном интерфейсе вполне уместны сложные неочевидные команды, как в меню, просто с подсказкой их прямым текстом в тексте игры, так что надо просто прочитать с экрана и ввести.
Такие игры существуют, но, на мой взгляд, в их случае парсер никак особенно не оправдан и не имеет каких-либо конкурентных преимуществ перед другими формами: видео, аудио или текст с меню. Фактически подобные парсеры просто подражают механикам, которые лучше реализуются в другой форме.
Возвращаясь к игре «Метель», я был бы готов сказать нечто подобное и про неё, что использование парсера в ней ничем неоправданно, если бы не несколько пазлов, которые как раз используют именно преимущества парсерного интерфейса, например, в пещере или нижнем зале замка.
Одна из любимых игр — Лидия. Написана на метапарсере 2. Фактически, это как раз вариант «прочитай» и введи сложное действие. И в теории — ложится на меню идеально.
Так вот, парсер и тут тоже даёт дополнительную степень погружения. Никита с этим не согласен. Любители CYOA тоже. Но для меня — это так.
Почему? Наверное потому, что в таком случае игра напоминает 3-д книжку раскладушку. Открыл — а там целый мир из декораций. Сам факт, что я могу читать текст и писать хотя бы даже осмотреть что то. Или поговорить с кем-то, это совсем не то же самое, что повесить на эти объекты ссылки. Формально-логическое сравнение тут не прокатывает. Формально — да, можно все сделать ссылками. Или меню из глаголов (чем и был в сущности метапарсер2). Но по факту, воздействие совсем другое. Сужу по собственному опыту. Поэтому я все-таки не согласен с тем, что парсер это только олдскульное моделирование. :)
Парсерная игра выглядит просто как текст, и это огромное приемущество для меня. Любая кнопка это фактор раздражения. Именно поэтому, например, в Вахте я пытался решить проблему за счет моноцветности.
Мне нужен интерактивный текст, но без ссылок! Как, кроме парсера этого достичь? Да, Никита пишет связанно и логично, но эта логика работает не для всех. Она все-равно преломляется через какие-то индивидуальные вещи. Так что стори-дривен парсер должен жить. У меня все :)
Первые два пункта по сути описывают одно и то же — сложные операции с миром игры и многовариантность результата таких операций. В играх с меню такое тоже встречается (например, «Домовой поможет» с КРИЛ-2018) и, на мой взгляд, в этих ситуациях меню как раз больше поможет игроку. Насчет перегруженности «менюшного» интерфейса в таких случаях — по-моему, тут уместнее говорить о перегруженности ИГРОКА информацией о состоянии мира и доступных действиях. И если меню еще как-то помогает игроку (показывает инвентарь, наличие ключевых слов, доступные действия), то парсер в тех же условиях заставляет игрока держать все в голове или вести записи самостоятельно.
А вот третий пункт (неоткрытость доступных действий) и то, что добавил Петр (минимум интерфейса на экране), — да, уже преимущества. То, что игрок должен сам догадаться, что ему делать и КАК делать, — делает интригой даже простые цепочки действий. «Туман войны» в текстовом виде. А минимум интерфейса на экране помогает атмосферности игры, и вдобавок дает очарование минимализма.
В меню есть несколько подходов, которые позволяют ещё долго бороться с комбинаторным взрывом возможных команд, когда команда собирается в два клика: либо выводится список действий, по клику на которые выпадает список объектов, к которым можно применить данное действие, либо же наоборот — выводится список объектов (или они помечаются ссылками в тексте), по клику на которые выпадает список возможных действий.
Однако когда счёт действий и объектов начинает идти на десятки, и подход с глагольным меню перестаёт выглядеть удобно.
> Парсер же продолжает с этим справляться, причём, одинаково и для 20 и для 100 возможных команд, просто предъявляя некоторые требования к игроку по пониманию синтаксиса и принципов вводимых игровых инструкций.
Нет, конечно же никто в голове ничего не держит и ничего не записывает. Состояние мира описывается игрой при помощи процедурной генерации текста: положили в игре книгу на стол, и теперь игра автоматически изменит описание, выводя информацию, что на столе находится книга. Все описания динамически подстраиваются для соответствия любому возможному состоянию мира. Эта та работа, для которой и нужна хорошая парсерная платформа, а также прямые руки разработчика игры. Можно пройти половину игры, сохраниться, загрузить через пол года и без проблем продолжать. Впрочем, это не столько свойство парсерных игр, сколько игр с моделированием мира, то есть гипертекстовый point-and-click на классическом INSTEAD также работает с процедурной генерацией описаний состояний мира.
Опытный игрок в парсеры разве что в голове имеет некий стандартный словарь команд из нескольких десятков типовых действий, которые и без того достаточно очевидны. У многих из нас этот словарь образовался естественным образом, то есть мы начинали с нуля и просто играли, поэтому это вполне самостоятельно осваиваемый навык. Я освоился в первой парсерной игре минут за 15. Да и сейчас уже можно найти справку по типовым глаголам, в том числе прямо внутри игры, так что за пару минут можно нивелировать всю разницу в предварительных знаниях, отличающих опытных игроков от начинающих. В том же Метапарсере такой справочник так и вообще может быть частью интерфейса, хотя это иногда работает как спойлер, потому что может подсказать нетипичную команду, до которой так надо было бы доходить логически, исходя из игровой ситуации, например, «сверлить». За эту спойлерность подсказки Метапарсера многие как раз и не любят.
Вообще научиться играть в парсеры намного проще, чем, например, в шахматы, но почему-то никто не считает, что на шахматной доске надо написать список возможных ходов и комбинаций. :-)
С одной стороны это удобство (и компромисс), с другой — это все-таки немного нарушает кристальную простоту интерфейса парсера.