Добавить в корзинуПозвонить
Найти в Дзене

Анатомия "сложности". Или ещё раз о наболевшем.

Вообще, про сложность я уже писал, так что постараюсь сильно не повторяться. Но для начала, всё же то, что нелишне повторить. Что НЕ УВЕЛИЧИВАЕТ сложность (в интересующих нас границах): - искусственное затягивание боёв (и в целом - избыточное увеличение и без того нечестных значений)
- опора на послезнание
- жёсткая привязка к рандому
- рутина
- косяки ГУИ ... и что эту сложность увеличивает на самом деле:
- наблюдаемая вариативность
- непредсказуемое поведение
- необходимость постоянной адаптации
- сокращение бесполезных опций (и замена их на полезные)
- ограниченность ключевого ресурса (на грани спорных решений)
- гандикап в разумных пределах (осталось только выяснить границы разумности, да) ... и что я лично считаю нечестным (но сие субъективно):
- выцеливание пикселей/фреймов анимации без индикации в экшенах - это требует комментария. Вообще, я считаю сие злом абсолютным, но именно в рамках игр реакции (коие не есть мой профиль) - это правомерная сложность, поскольку требует именно
Оглавление

Вообще, про сложность я уже писал, так что постараюсь сильно не повторяться.

Сложность и с чем её едят
Стратегия геймдизайна23 декабря 2022

Но для начала, всё же то, что нелишне повторить. Что НЕ УВЕЛИЧИВАЕТ сложность (в интересующих нас границах):

- искусственное затягивание боёв (и в целом - избыточное увеличение и без того нечестных значений)
- опора на послезнание
- жёсткая привязка к рандому
- рутина
- косяки ГУИ

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

... и что я лично считаю нечестным (но сие субъективно):
- выцеливание пикселей/фреймов анимации без индикации в экшенах - это требует комментария. Вообще, я считаю сие злом абсолютным, но именно в рамках игр реакции (коие не есть мой профиль) - это правомерная сложность, поскольку требует именно основных навыков. Почему я считаю это нечестным (не однозначно плохим - а именно спорным) - потому что реагировать можно на что-то, а именно этого объекта данные механики и не предлагают. То есть "среагируй на то, не знаю на что".
- излишне дальние предсказания для стратегий. Это тоже зло - потому что предельно сближает их с головоломками (которые не-игры). Технически, можно записать их и в "послезнание" - но это может быть и не так, вся необходимая информация может быть и на виду. Но даже если такой глубокий просчёт и не требует послезнания - он просто черезчур детерминирован. Попросту возникает контрпаттерн на "
чем проще поведение противника - тем меньше нужно его считать". Да, логически - это не так. Но побеждать противника, переигрывая его в чистом предсказательном поле (где кремниевые мозги априорно должны быть сильнее) - нереально. Поэтому речь идёт о каком-то варианте узаконненного обмана правил (не механик, а именно правил - поскольку механики, строго говоря, не обязаны реализовывать их в полном объёме).

И есть ещё один фактор, которым периодически злоупотребляют (зачастую несознательно). И который я склонен отнести к последней категории.

Проблемы памяти.

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

Вы не найдёте сответствующих галочек в меню настройки сложности (если оно есть). И внутри игры этот параметр чаще всего будет неизменен (причина - игроки его всё равно не всегда обрабатывают честно, поэтому степень его влияния несколько неочевидна). Однако этот момент может превратить простую игру в очень сложную (в теории). А сложную - в совершенно иначе сложную.

О чём речь?

Начнём с простого. Вот вы, допустим - ведьмак Геральт из Ривии. Вы убили грифона, в бестиарии появилась соответствующая запись, теперь вы знаете его статы, так? Стоп. Вопрос первый: почему следующий грифон идентичен предыдущему? Вопрос второй: почему вы не знали его статы раньше - ведь грифонов совершенно точно убивали и до этого (и даже ваш персонаж до того, как попасть под ваше управление)?

Ответ на первый вопрос - потому что это не так, ибо у грифонов автолевелинг потому что это игровая условность. Ответ на второй вопрос - потому что это игровая условность потому что нуу, это иначе неинтересно. В случае крафтинга в Скайриме это ещё очевиднее - мы запоминаем рабочие рецепты, если нашли их методом проб и ошибок (или узнали из каких-то иных источников и проверили актуальность этой информации). Следующее прохождение перезапустит историю - и секреты мастерства нужно будет открывать заново. И вот тут - момент спорный. Допустим, у игрока - феноменальная память и он запоминает все открытые рецепты. В этом случае механика "поиск рецептов через пробы и ошибки" просто не работает - она вчистую обходится на естественном послезнании (про другой способ и говорить не нужно - но сейчас не о том речь). А раз так - есть ли в ней смысл? Очевидно, если у нас нулевая реиграбельность - то есть, но если это не так (а это предполагается что всё-таки не так)? Вот то-то же.

Интерлюдия. Не всё так однозначно.

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

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

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

Продолжим, впрочем.

Анатомия.

С точки зрения дизайна и простой логики единственный "контейнер", для которого должны подниматься вопросы сохранения и переноса информации - это прохождение/кампания. На первый взгляд кажется совершенно естественным, что в рамках этого действа происходит накопление информации - и всё сводится к вопросам переноса этих знаний вовне. Но даже так - есть тонкости. Во-первых, кампания может не быть привязана к одному персонажу (и даже к цепочке непрерывно взаимодействующих персонажей). Так что перенос знаний внутри неё выглядит уже не интуитивно очевидным, а некой условностью. А где возникает условность - там можно гнуть здравый смысл как угодно.

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

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

И вот тут вылезают сущности, которые в контексте логики кажутся лишними. А именно игровая сессия и период непрерывной активности. Зачем тут второе - условно понятно: информация отображается пока является актуальной (то есть в течение порождающей её активности). Неявно это требует того, чтоб информация, актуальная для разных акивностей, хранилась/отображалась каким-то иным образом. Первое же - это обобщение второго на совокупность активностей (с тем же допущением). В самом деле, за пределами боя обычно не нужно знать, сколько урона вам нанесла крыса третьего уровня. И тем более, вам не нужно это знать в следующем забеге (или через несколько их). Поэтому таким образом можно избежать собственно долговременного хранения очевидно избыточной информации. Уфф, вроде, разобрались. Или нет?

Проблема-то в чём?

Любое допущение - шаг по скользкому склону. Один сделать просто, потом второй, а потом всё летит куда-то не туда. А тут у нас аж два в одном. Во-первых, уверены ли мы, что верно разделили кратковременную информацию и долговременную? Во-вторых, а как быть с информацией, актуальной внутри активности в принципе?

Взять ту же крысу - урон действительно вне комбата малоинтересен. А вот что бой с крысами требует пяти потов для снятия эффектов - уже актуально для выбора следующего противника (более того, в комбате, как раз, актуальность этого факта сильно меньше). Знание, что летающего демона убил не паладин, а охотник, может внезапно понадобиться в диалоге через игровую неделю. Знание, что рукоять типа 2 с клинком типа 7 дают меч с уроном 12-14, не актуально вне крафтинга - но оно актуально в крафтинге и между его сессиями. Исчезание этой информации из доступа - неприятно.

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

Ах да, "в лучшем случае" - а его нам кто-то обещал? На практике через раз мы увидим, что автосохранение сделано в начале боя, а не до него. Что шаблонов тупо не предусмотрено. Что в диалоге вспомнить события прошлой главы ровно одна попытка. Да ладно вам, событий прошлой главы - текста прошлого диалога квеста вам тоже не покажут, даже если это важно. Стражник описал путь к пещере, а ты его забыл - беги к нему обратно и переспрашивай. Ой, это был не стажник, а маг перед смертью - ну, сам виноват, надо было конспектировать в блокнотик. Не нравится - ладно, держи маркер на карте. Ой, а от какого квеста этот маркер? А ты не совсем охренел, игрок? Губу он раскатал, может, тебе ещё описание квеста куда-то сохранить? Что, тебе всё ещё нужны тексты диалогов, так как ты забыл, что именно пообещал мстительному божеству? Пшолвон казуал!

Почему это вообще аспект сложности?

Более того, почему это в принципе аспект игрового дизайна? Пока что это кажется просто неудачным УИ-решением. Делающим игру не сложнее, а муторнее. Но...

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

Во-вторых, иногда можно посмотреть на проблему под другим углом. (Не)повторение ранее детерминированно сделанного таким образом, конечно, не переоценить (это как было абсолютным злом - так и осталось). А вот вопросы к контексту - можно попробовать.

Взять, скажем, информацию, что "летающего демона убил охотник". Допустим, определённый диалог спрашивает у вас "кто убил того конкретного демона". Что может значить ответ? Награду? Испытание? Проверку памяти? Как часто в принципе актуален именно последний вариант? Я вот лично вообще не вспомню ничего подобного. Выдать ненужный бонус - запросто, поставить в безнадёжный бой - аналогично. Но это, так или иначе, ролевые решения. Если ролевые решения не работают - это проблема дизайна на принципиально ином уровне. Вы пообещали демонам вырезать половину населения деревни, а теперь в диалоге с жителями не можете вспомнить, какую именно половину? Это же уникальный шанс обмануть демона.

Ладно, повеселились - и хватит. На самом деле, этот ролеплей никто никогда не делает именно ролеплеем (в этом случае, как раз, никаких проблем с наличием доступа к информации не будет - ибо обман может быть и сознательный) - это просто вопрос награды/сложности. О, а вот и она, родимая. Впрочем, убогость притягивания всё ещё очевидна.

А теперь к вещам серьёзным. Почему мы имели проблему до сих пор - потому что игра наши решения помнит (или, как минимум, в состоянии наказать игрока за забывчивость), а мы - нет. Но это половина беды - вторая половина кроется в том, что мы соревнуемся с этой игрой, по сути. И эта несимметирчность вызывает недовольство. А если её нет? Нет, это не предполагает забывчивость игры - всего лишь соревнование с другими игроками. Как в этом случае может помочь память/знание о собственных решениях? Я вам сейчас расскажу.

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

Заключение.

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

Так что продолжение возможно, но не гарантируется.