Gamedev Андрей Верещагин
22 950

Как работать с игровыми циклами

Правильная постановка целей для игрока.

В закладки

Игорь Соловьёв, директор продуктового департамента студии Rocket Jump, написал для DTF колонку о работе с игровыми циклами на основе своего выступления в Высшей школе бизнес-информатики НИУ ВШЭ. В тексте он охватил основные понятия об игровых циклах и их ключевой роли в разработке геймплея.

Игровой цикл — это одно из базовых понятий, на котором в значительной степени строится структура игры. Он состоит из трех частей:

  1. действие;
  2. обратная связь на действие (как правило, награда);
  3. прогресс.

Простейший пример игрового цикла можно найти в любой RPG:

  • мы убиваем монстров и получаем за это золото;
  • на полученное золото покупаем улучшенную экипировку;
  • благодаря новой экипировке можем сражаться с более сильными монстрами.

Циклы выполняют важнейшую роль в формировании структуры игры. Они управляют всеми действиями пользователей, определяя, чем, когда и ради чего они будут заниматься в игре.

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

  • по времени (ожидание постройки зданий в стратегиях);
  • по деньгам (покупка дополнительных усилений исключительно за реальные деньги);
  • по игровой активности — по сути, тоже блокировка по времени, но уже по проведённому непосредственно в игре (для получения значимых наград в больших RPG нужно играть долго и активно);
  • по навыку (игры с уклоном в киберспорт);
  • по неигровым действиям (просмотр рекламы, подписка на страницы проекта в соцсетях).

В зависимости от модели распространения вашей игры, вы можете использовать набор блокировок разного типа в нужном вам соотношении.

Если проект — F2P-ферма, то в ней, скорее всего, фигурируют блокировки по времени, деньгам и игровой активности.

Сюжетная RPG с сотней часов геймплея ограничивает игроков по навыку и активности, рассказывая долгую историю и регулярно подбрасывая более мощных соперников. Таким образом, пользователи не «съедят» весь контент игры за 60 долларов слишком быстро и не заскучают на пути к финалу.

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

Цели

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

На практике мы используем простую классификацию целей по двум основным признакам — тип и субъект награды. Классификация даёт четыре вида целей.

Мы в Rocket Jump используем эту структуру и с помощью неё разрабатываем системы наград и экономики в наших играх.

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

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

Субъект — это тот, на кого направлена награда: либо игрок получает её для себя, либо для группы пользователей, к которой он принадлежит (самый распространенный вариант — кланы).

Особенности каждого типа целей:

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

  • Статусные индивидуальные. У статусных целей гораздо более узкая аудитория, по одной простой причине — далеко не всем людям сильно важен их статус в игре. Однако ориентированные на статус игроки готовы бороться за место под солнцем и активно вкладывать в игру время и деньги, в гораздо больших объёмах, чем остальные. В этом и есть ценность статусных целей.

  • Контентные социальные. Аналог контентных индивидуальных, но уже не для «меня», а для «нас». Это то, что соклановцы или участники группы зарабатывают во время совместной игры. Чаще всего — баффы или перманентные бонусы для членов клана, а если социальные системы развиты в игре хорошо, то и что-то более заметное. Например, клановые замки или города.

  • Статусные социальные. Аналогичны статусным индивидуальным.

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

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

Действия

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

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

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

Прогресс и иерархия циклов

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

Рассмотрим пример. Снова классическая RPG. Игрок берёт квест, который гласит — чтобы получить легендарный меч, нужно полгода заходить в игру каждый день и убивать 10 кабанов. Будет ли пользователь выполнять это задание? Вряд ли. Пускай награда и хороша, но находится она слишком далеко, а между ней и игроком — месяцы унылого монотонного гринда.

Ударимся в другую крайность — «легендарка» выдается в награду за убийство 500 кабанов. Усилий — максимум на пару дней. Итог плачевный — весь сервер ходит с одним и тем же мечом, никто не испытывает особой радости от потраченных сил, баланс разрушен.

А теперь представим, что получение меча — постепенный и чётко структурированный процесс, в который входит несколько более простых и краткосрочных квестов с различными механиками, промежуточными наградами и понятными целями, например:

  1. убей 10 кабанов — получи кольцо;
  2. собери 10 колец, убей босса — получи шапку;
  3. собери 10 шапок, убей супер-босса — получи меч;

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

Идеальный пример обширного, грамотно структурированного иерархичного цикла — процесс сборки легендарных предметов в World of Warcraft. Квесты на открытие Врат Ан’Киража или создание Тёмной Скорби — отличный материал для изучения этого принципа.

Подытожим: игроки должны четко осознавать, чем им нужно заниматься в игре в краткосрочной, среднесрочной и долгосрочной перспективах — и что они за это получат.

Проектирование структуры циклов

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

Выделим основные этапы:

  • В первую очередь добавляем контентные индивидуальные цели. Одно из распространенных решений этой задачи — добавить сюжетные миссии, проходя которые игрок открывает новые типы юнитов. Для возможности прогресса добавим также возможность улучшать свои войска, ну а поскольку мы работаем в рамках F2P — добавим блокировки по времени и деньгам. В принципе, в таком виде игра уже жизнеспособна, если её механика достаточно интересна для аудитории, и вам удалось произвести достаточное количество контента (уровни, юниты и так далее) и грамотно встроить блокировки.

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

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

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

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

Подобные схемы очень помогают в процессе разработки контролировать свои действия и доработки в игре. Схема не гарантирует, что в реальности всё будет работать идеально. Однако если что-то выглядит спорно на схеме, то и в игре оно скорее всего работать не будет.

Если всё получилось

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

Пользователи же получают игру, в которой им легко разобраться. Это звучит банально, да. Но люди очень быстро забросят проект, если они не понимают, как в него, собственно, играть. Ваша задача — обеспечить разнообразие целей (в зависимости от ЦА проекта) и доходчиво объяснить аудитории, как этих целей достигать.

Алгоритм работы

В заключение — упрощенный алгоритм работы с циклами:

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

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

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

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

#геймдизайн #опыт

{ "author_name": "Андрей Верещагин", "author_type": "editor", "tags": ["\u0433\u0435\u0439\u043c\u0434\u0438\u0437\u0430\u0439\u043d","\u043e\u043f\u044b\u0442"], "comments": 20, "likes": 93, "favorites": 100, "is_advertisement": false, "subsite_label": "gamedev", "id": 14957, "is_wide": false }
{ "id": 14957, "author_id": 22254, "diff_limit": 1000, "urls": {"diff":"\/comments\/14957\/get","add":"\/comments\/14957\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/14957"}, "attach_limit": 2, "max_comment_text_length": 5000 }

20 комментариев 20 комм.

Популярные

По порядку

Написать комментарий...

Сергей Арапов

5

Спасибо за практический материал! Нравится продуманный подход "Рокетов" к разным вопросам и то, что они делятся им с другими.

Ответить

DoorInSummer .

3

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

Ответить

Vadim Pletnyakov

DoorInSummer
0

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

Ответить

DoorInSummer .

Vadim
0

Вот хотелось бы общение видеть на первом месте, а не задание "твой сад увядает зайди проверь" или "собери грядку". Именно в ММО, потому что игры с грядками отличные и нужны многим игрокам. Но в ММО хочется видеть больше социальных игр. Нужны зависимости игроков от других игроков, но избежать возможностей сговора или делать такой заговор рискованным мероприятием.

Ответить

Иван Иванов

2

Статья должна называться: "Заработок денег в игровой индустрии, путём создания шаблонной игры, тип которой уже всех зае**л". Смысл делать игры таким образом, ради заработка денег? А может нужно делать качественную, интересную игру, по типу компьютерных, поэкспериментировать с управлением, чтобы сделать его удобным на сенсоре и продавать полную версию за небольшие деньги. А в статье этой я чётко вижу "Юбисофт" или "ЕА" разработчика.

Ответить

Ilya Hinzburh

2

Статья отличная, особенно для меня как для начинающего геймдизайнера. Большое спасибо! Лично я считаю, что игровые циклы в основном помогают дизайнеру документировать то, что он и так держит в голове, а также объяснить это другим :)
Хочу выделить три момента, которые мне не понравились:
1). Почему-то ни слова не сказано об эмоциях игроков, а ведь именно они являются движущей силой игровых циклов. Когда игрок завершает цикл, он должен испытывать какую-то положительную эмоцию. Понятно, что исследование эмоций выходит за рамки статьи, но хоть пару слов об этом стоило сказать, а то нарисовать циклы теперь может каждый новичок, а вот объяснить, почему они не работают - далеко не любой :)
2). Почему "блокировки"? Вы же не блокируете цикл, а просто выставляете дополнительные условия. Назовите их, например, требованиями (requirements).
3). Пример с кабанами можно было сделать лучше. Во-первых, во втором случае кабанов придется убить вдвое больше (целую тысячу). Во-вторых, игроку явно не нужно 10 шапок и 10 колец, так что после первой же шапки и первых двух колец процесс превращается в тот же Grind, за исключением эпических сражений с боссами. Следовало выдавать игроку разное снаряжение (возможно, из одного комплекта), которое не только отметит его прогресс в этом цикле, но и усилит его персонажа в других циклах. Кроме того, победы над боссами приносят массу эмоций и заставляют ценить трофеи.

Остальное понравилось безоговорочно. Еще раз спасибо!

Ответить

theq theq

–2

Первые 15 минут, первой лекции, первого года обучения, курса "Введение в геимдизайн" любого западного ВУЗа. Тут кто-то Remedy лохами называл?

Ответить

Nikita Novokreschenov

theq
0

Ты так говоришь, как будто это что-то плохое.
Или у нас любой может взять и ебануть в западный вуз учиться на ГД?

Ответить

Денис Коростылёв

1

Очень интересно было почитать. Спасибо большое за статью

Ответить

Helmdubo Helmdubo

1

спасибо за интересный материал

Ответить

Artem Shved

–1

Спасибо за то что поделились наработками.

а просто потому, что «было круто бы сделать вот это»

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

Ответить

Denis

Artem
1

Каким боком маркетинговое исследование отменяет необходимость в специалисте по ui/ux у себя или на аутсорсе?
И каким образом это относится к выделенной цитате, лол.

Ответить

Artem Shved

Denis
0

Эх, ладно, давайте разжую...

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

А что мешает взять, например, десять удачных клонов вашей игры и вывести из них то, что подойдёт проекту?

Как было сказано, подход "абы круто" часто у начинающих. Окау, согласен, он есть. Но почему же эти будущие Кодзимы, делают так странно. Они берут часть проекта успешного (Ну или же просто им он понравился.) и решают переделать. Так? Но при этом, до конца его не разобрав, они после жалуются о маленьких показателях того же ретеншена.
Эх, это как воровать яблоки, но при этом набивать всего один карман из четырёх доступных:(
Ладно, дальше.
Каким боком маркетинговое исследование отменяет необходимость в специалисте по ui/ux у себя или на аутсорсе?

Никаким. Кто сказал что исследование что-то отменяет в принципе?
Если ты начинающий разработчик, и у тебя есть бюджет на специалистов столь узкоспециализированных, то пожалуйста. Используй их.
Но если у тебя есть, допустим, только главный кейс людей, то естественно что художник возьмёт на себя UI а UX уже будет совместно художник/гд.
И тут то идёт переплёт между первым пунктом и вторым. Если гд плохо разобрал похожие проекты, и ставит всё на бум...ему помогут только ненужные вложения. А ведь мог полазить, поискать рефы, поискать подобные статьи и тогда вкладываться в игру мечты.

P/S Ах да, только не надо говорить что решили делать что-то совершенно новое, и похожего не существует. Это как 36 видов драматических коллизий.

Ответить

Denis

Artem
1

Абсолютно согласен, помимо "крутой идеи", нужно быть достаточно смышленым манагером и достаточно исследовать свой (и не только) рынок. Одного творчества мало.

Другое дело, я не считаю вопрос "что-то новое" или "как вон там" важным. Вопрос продаж зачастую зависит исключительно от качества реализации и скилов в продажах. Последнее превалирует.

Касательно UI/UX не согласен. Это достаточно важный элемент, на котором не стоит экономить. Без полемики: наличие рукастого дизайнера штука полезная и, к моему большому сожалению, как ни парадоксально, не частая среди художников. Норм художник не равно норм десигнер. Это разное.
С тем, что визуал жрет деньги как пес я согласен, ну а что делать?
Компромиссы не всегда есть гуд.

Ответить

Artem Shved

Denis
0

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

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

Ответить

Дмитрий Калинин

0

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

Ответить

Джей Доу

0

По заголовку подумалось, что речь идет о game loop применительно к программированию.

Ответить

Vadim Pletnyakov

0

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

Ответить
0

Прямой эфир

Подписаться на push-уведомления
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]