документация
July 26, 2022

LtF Диаграмма

Любая игра состоит из набора механик, которые объединяются в системы, которые в свою очередь и образуют игру. У многих начинающих разработчиков есть желание добавить всё что-угодно в игру, потому что «это ж блин классная штука!». У бизнес акул желание убрать как можно больше, чтобы попасть в намеченные сроки. Вопрос! Можно ли как-то понять значимость фичи? Да, можно, и именно диаграмма Джеффа Чена в этом и может помочь.

Оставить волнения. Рассматриваемая диаграма будет полезенее.

Кто такой Чен? Дизайнер, который когда-то работал в Activision, где и придумал данный подход. Во время анализа чужих игр (чем он и занимался в рабочее время) он понял, что значимость фичи надо измерять совместно с другими фичами, то есть измерять влияние одной фичи на другие.

Так сформировался принцип: «Любая фича в игре ценна только в той мере, в какой она влияет (или находится под влиянием) на другие фичи игры». Ключевой идеей здесь является концепция «влияния». Одна фича находится под влиянием другой только в том случае, если она каким-то образом задействуется её.

Введем следующие обозначения:

  • => влияние одной фичи на другую;
  • <=> совместное влияние.

Например, если в игре можно убивать монстров, чтобы получать экспу, чтобы становиться сильнее, чтобы убивать более классных монстров, получаем: Комбат => XP => Прокачка => Комбат. Более простой пример: если мир вокруг изменяем, то он подвержен влиянию, например, в Minecraft: Инструменты => Мир, иначе система мира не находится под влиянием (но может влиять!)

Диаграмма ресурсов в виде цикла.

Попробуем изобразить всё это в виде диаграммы, а не кор-лупа (или любого другого лупа). Каждая фича — прямоугольник, связи — стрелки.

Полная диаграмма выдуманной Action / Adventure игры (почти как Ratchet and Clank):

Пример LtF диаграммы для выдуманной игры.

Получается, что чем больше стрелок указывает на какой-либо блок, тем важнее этот блок для общего дизайна. Интересная особенность этой диаграммы заключается в том, что, взяв общее среднее число ссылок на фичи (количество линков, разделенные на количество фич), получим отношением ссылок к фичам или просто Links-to-Features / score. Это число является показателем того, насколько связаны между собой ваши функции. Перефразировав принцип, озвученный выше: чем больше LtF, тем лучше. Точно так же для «категорий» фич можно посчитать LtF, чтобы определить, какие части вашей игры вносят наибольший вклад. Например, LtF категории «world» — единица (не фичи!).

Если бы при разработке выдуманной игры потребовалось что-то фичекать, то можно было, например, пожертвовать хабом или испытаниями и наградами за них, так как их вклад в LtF минимален.

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

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

  1. Бессмысленно выделять прокси ресурсы или производные, потому что это просто +1 фича и +1 линк. Например, в оригинале был Level от XP, но ведь Level — это просто более удобный вид представления XP;
  2. Стрелок получается очень много, поэтому имеет смысл рассматривать системы на разных уровнях. Например, бой можно рассмотреть более детально и понять, какие механики внутри него более значимые, а какие менее;
  3. У экономических систем заведомо больше LtF, так как связей банально больше, чем у мировых, поэтому сравнивать их между собой не совсем корректно;
  4. Имеет смысл разделять действия и ресурсы на 2 группы поменьше: core и meta, чтобы отслеживать всё по отдельности (см. пункт 2);
  5. Наличие большого LtF — не залог успеха, это простой большой LtF.

Кстати, в оригинале диаграмма называется «Chen Diagram», но это название уже забито за особой диаграммой для баз данных, поэтому пусть будет диаграмма LtF.