#Интервью
Разговор о геймплейных принципах игры, работе в команде и процессе разработки.
Считает игры произведениями искусства и старается донести эту идею до широких масс. В свободное время стримит, рисует и часами зависает в фоторежимах.
Уже несколько лет группа энтузиастов работает над 4X-стратегией в стилистике тёмного фэнтези — Will&Reason. Это масштабная вселенная с процедурно генерируемым миром, в котором игрок развивает свою уникальную цивилизацию, начиная с ранних времён. Чтобы понять, как авторам удалось воплотить столь амбициозную задумку на практике, мы связались с людьми, задействованными в проекте. На вопросы Skillbox Media отвечали Артём Копыл (основатель команды, программист), Вячеслав Банщиков (сценарист), Анастасия Игумнова, Виктория Елгина, Дмитрий Савин (2D-художники) и Сергей Воробьёв (3D-моделлер).
В первой части интервью вы узнаете:
— Артём, будучи программистом, ты мог просто трудиться на высокооплачиваемой должности и не сталкиваться с проблемами разработки собственной игры. Что побудило тебя начать этот проект?
Артём Копыл
Игры меня интересовали всегда. Занимался шахматами в детстве и даже дошёл до мастера спорта, а видеоиграми увлекался ещё со времён Dendy. В моём институте среди студентов-программистов разработка игр считалась крутым занятием. Эта тенденция совпала с моими целями и идеями, и я решил действовать.
— Твой выбор пал на разработку 4Х-стратегии из-за личной симпатии к этому жанру?
Артём Копыл: Не совсем, всё вышло немного спонтанно. Начну с того, что любовь к 4Х-стратегиям у меня была всегда, это один из моих любимых жанров наряду с RPG. Civilization — одна из первых компьютерных игр, которые понравились мне в детстве. В моём институте было сообщество студентов, мечтающих о собственном проекте. Нас было шесть-семь человек. Мы организовали встречу, чтобы обсудить формат будущей игры. Коллективно пришли к выводу, что делать 4X-стратегию проще. Наша оценка сложности в корне не соответствовала действительности.
— Неудивительно, что коллектив распался после такого «открытия». Но ты остался верен идее?
Артём Копыл: Люди, которые вписались в проект, покинули его уже спустя две недели, за исключением одного человека, с которым мы вместе сделали редактор карт. Через некоторое время он тоже оставил разработку по семейным обстоятельствам. Так я остался один со всеми наработками, но решил, что проект нужно довести до ума. Год-полтора я просто сидел и изучал Unity в свободное время — на тот момент это был один из лучших бесплатных 3D-движков, хотя почти все руководства по нему были на зарубежных ресурсах. За этот период я перенёс свой редактор карт в 3D.
Благодаря полученным знаниям я написал свой фреймворк для генерации ландшафта, который разместил сначала на «Пикабу», а затем и на других ресурсах. После публикации наработок откликнулись энтузиасты. Так как у меня на руках уже была основа для игры, я предложил людям принять участие в проекте. Так постепенно собралась наша команда. Даже сейчас в студии остались люди ещё с первого набора — например, художница Анастасия.
Один из первых артов проекта. Изображение: арт к Will&Reason / официальная группа игры во «
ВКонтакте»
— Ты набрал команду на «Пикабу»?
Артём Копыл: Не только. Я также размещал посты на Gamedev.ru и на форуме Unity. Потом мы завели группу во «ВКонтакте», и к нам подтянулись люди из разных тематических сообществ. Но именно первая, большая часть, конечно, пришла с «Пикабу», и наш коллектив сформировался уже через две недели. Всего было около 30 желающих, но не все они остались. Как минимум половина из них хотели работать с нами.
— Сколько лет разрабатывается Will&Reason, если за точку отсчёта взять стадию формирования идеи?
Артём Копыл: Формально разработка длится уже лет пять, если учитывать период, когда я трудился над игрой в одиночку. Совместно с командой — более двух лет. На самом деле посчитать сложно, так как первое время мы уделяли проекту свободное время после основной работы. Я работаю над игрой фултайм уже год-полтора, а остальные участники занимаются ею по возможности. Иногда это очень хорошо получается.
— Если всё-таки взять в расчёт первую цифру, выходит пять лет чистого энтузиазма. У вас вообще нет никакого финансирования?
Артём Копыл: У нас принципиально нет финансирования. Если говорить о краудфандинге, в теории можно организовать сбор средств. И не исключено, что мы пойдём на тот же Kickstarter, но не с пустыми руками, а с демоверсией. Игроки должны понимать, что за проект мы делаем. Тогда их вера в игру будет намного сильнее. Даже когда разработчик питчит идею издателю, готовая сборка на ноутбуке вызывает больше доверия, чем просто слова, подкреплённые лишь красивыми картинками.
Не исключено, что найдутся и инвесторы. Есть пара заинтересованных компаний, которые ждут от нас билда. Исходя из этого будем смотреть. Но на данный момент разработка действительно идёт на полном энтузиазме. И все расходы на игру покрыты из собственных средств. Когда у меня была высокооплачиваемая работа, я мог нанять фрилансеров, но это были не серьёзные и долгосрочные контракты, а скорее заказ нескольких артов. Сейчас студия это не практикует, за исключением каких-то мелочей.
Концепты зданий. Изображение: арт к Will&Reason / официальная группа игры во «
ВКонтакте»
— При таких условиях не обойдётся без текучки специалистов…
Артём Копыл: Это правда. Через Will&Reason прошло много людей, я даже затрудняюсь назвать точное количество… Наверное, человек пятьдесят. Причины бывают разные. Большинство людей уходят после первой же задачи, когда на каком-то этапе они понимают, что не справятся. Иногда меняются жизненные приоритеты: семья, работа, учёба. Или человеку просто тяжело в глобальном проекте. Кто-то ушёл насовсем, кто-то приходил, уходил и возвращался. Но есть костяк команды из пяти-шести человек, которые пришли почти на старте и работают до сих пор.
— Исходя из этого — как вы решаете проблему с незаконченной работой человека, который покинул проект?
Артём Копыл: Большая часть команды отвечает за художественное направление. Это либо 3D-моделлеры, либо 2D-художники. Прежде чем уйти, они всегда заканчивают свои работы. Если речь идёт о коде, то был момент, когда разный уровень программистов тормозил рабочий процесс. Например, на момент первых публикаций о проекте я уже устраивался на работу в качестве Senior-специалиста. А в команду приходили джуны. Соответственно, они только начинали свой путь, и это сказывалось на коде. В дальнейшем некоторые из специалистов достигли хорошего уровня. Например, наш программист Виталий пришёл в проект, имея небольшой опыт, и сейчас он на стыке Middle и Senior.
Бывает так, что человек прокачивает свои навыки в работе над проектом. А кто-то не может, и часть его работы остаётся. В начале из-за этого код в проекте был очень связанным, но я отрефакторил практически весь код (примерно 95%) и разбил проект на модули, чтобы разные части отключались для проведения тестирования. Сейчас я даже не ищу программистов: хорошего специалиста-энтузиаста найти очень сложно, а в остальных случаях нужны деньги.
С новичками тяжело: придётся больше объяснять, чем работать, и мне проще решить задачу самому. Хотя у меня тоже не всегда бывает гладко со временем, так как в качестве подработки я параллельно веду занятия по Unity. Думаю, с появлением финансирования мы наберём недостающие кадры и будет легче.
Скриншот: личный архив Артёма Копыла
— То есть у вас уже есть какие-то задумки по дальнейшему развитию студии?
Артём Копыл: Если говорить о росте до полноценной компании, то, скорее всего, мы продолжим работу на удалёнке плюс откроем офис. У меня есть опыт преподавания, можно развиваться и в этом направлении: обучать программистов и привлекать их в работу над актуальной игрой и теми, которые появятся в будущем. Скажу больше: многие новички после участия в проекте уже нашли работу. Я получал от них сообщения, где они называли конкретные задачи в разработке игры, которые помогли им в трудоустройстве. Это приятно. Я думаю, что участие в таком проекте, как Will&Reason, для новичков геймдева — большой стимул.
Вячеслав Банщиков: Именно с такой целью я и пришёл в этот проект. До этого вообще не было никакого опыта, просто интерес к геймдеву. Нашёл группу во «ВКонтакте», спросил Артёма: «Нужен ли такой зелёный, необстрелянный?» Мне ответили: «Давай попробуем». Правда, потом я переписывал один и тот же текст по 10 раз, но это пошло только на пользу.
— Артём, ты упомянул, что тебе нравится «Цивилизация», но при задумке
4Х-стратегии ты явно не стремился создать очередной клон. Что новое ты хотел привнести в жанр?
Артём Копыл: Я большой любитель фильмов и книг, посвящённых фэнтези-тематике. Какое-то время даже увлекался исторической реконструкцией и ролевыми играми. Поэтому меня интересовала разработка проекта с уникальной вселенной. При этом, несмотря на наличие классических фэнтези-элементов, хотелось каких-то новых изобретений и технологий в рамках фэнтезийного мира, которые часто встречаются в литературе и кинематографе. Таким образом, систематизировав контент из книг и разных фэнтези-вселенных, мы собрали некий конструктор. С ним пользователь мог отыграть различные ситуации, которые ещё не встречал в играх, но о которых наверняка задумывался.
Фильм «Хроники хищных городов» вдохновил разработчиков на создание похожих технологий в Will&Reason. Кадр: фильм «Хроники хищных городов»
— Почему ты начал не с проработки мира и сеттинга Will&Reason, а с редактора карт? Техническая основа в данном случае важнее?
Артём Копыл: Да, потому что на разных ресурсах в Сети существует миллион статей с кейсами, когда люди тоже начинают даже с более масштабных концепций, чем наша. Но после обдумывания идеи процесс заходит в тупик. Разработчики собирают команду и понимают, что не продвинутся дальше без финансирования. Старт с технической части был своеобразной проверкой, смогу ли я работать в таком темпе и есть ли у концепции какая-то основа. Когда выяснилось, что процесс пошёл и функционирует, а сама идея интересна не только мне, но и другим людям, в том числе различным компаниям, я понял, что можно продолжать и накидывать на основу идеи, которые сформировались за время, проведённое в других играх.
— Уникальность каждого жителя мира была уже на раннем этапе разработки?
Артём Копыл: Изначально я хотел, чтобы каждый юнит в мире игры обладал уникальными навыками, параметрами и мог стать кем угодно. В перспективе из таких жителей игрок мог собрать армию или рабочий класс. Было интересно проверить эту задумку на практике. В идеале я хотел связать всё это каким-то образом с искусственным интеллектом, чтобы у каждого жителя был свой характер. Для тех лет это были безумные идеи. Я довольно сумбурно расписывал их в вышеупомянутом первом посте на «Пикабу». В дальнейшем мы обсуждали и формировали эту концепцию с командой в течение нескольких месяцев, пытались довести её до ума. Сейчас мы уже частично от неё отказались, но какие-то намётки остались — например, кастомизация юнитов с собственными навыками и инвентарём.
— В Will&Reason каждый игрок выбирает свой путь развития. Расскажите, как это происходит.
Артём Копыл: Для начала я объясню, чем это развитие обусловлено. Мир Will&Reason — это калька с нашего мира. Народы, которые в нём проживают, пока условно разделены на южан, северян и жителей центральной полосы. На данный момент мы рассматриваем только человеческую расу. Возможно, позже мы добавим другие виды, но пока речь идёт только о людях.
Юниты в игре отличаются внешне в зависимости от территорий. Изображение: арт к Will&Reason / официальная группа игры во «
ВКонтакте»
Игрок начинает на этапе очень раннего Средневековья. На карте существуют различные поселения с племенами, которые никак не развиваются, потому что их всё устраивает. В какой-то момент они сталкиваются с необычными явлениями, монстрами, аномалиями, катаклизмами и понимают, что противостоять этой напасти можно только развивая технологии.
Всего существует три направления развития на выбор. Если игрок выберет путь науки и изучения мира, со временем его народ станет фракцией Технократов, которые эволюционируют до эпохи стимпанка. Можно отдать предпочтение железной дисциплине и силе воли, и за счёт этого появится фракция Воинов. Также есть направление, которое на ранних этапах напоминает шаманизм и со временем приводит к появлению фракции Магов. При этом большую роль играет территориальное расположение. Если это северяне, то в итоге получатся Северные Маги, — и так далее. Различия не только визуальные, но и геймплейные.
Концепты героев на разных территориях карты. Изображение: арт к Will&Reason / официальная группа игры во «
ВКонтакте»
Помимо этого, есть дерево технологий с возможностью прокачки различных элементов. Например, если речь идёт о передвижных городах Технократов, то им можно настроить платформы и источники энергии: уголь, ядовитое топливо, электричество, колёса, гусеницы, механические «ноги» — все эти модули игрок изучает в процессе сессии. За счёт разнообразия комбинаций получается множество вариантов развития.
— Будут ли гибридные фракции? Например, Маги-технократы и так далее?
Артём Копыл: Изначально такая возможность была, но пока мы её убрали, поскольку контента и так много. Вместо этого будут универсальные ветки, доступные всем. Например, приручение существ: в игре есть ездовые животные. Та же алхимия доступна Магам и Технократам. Всё это, конечно, развивается не так сильно, как нам бы того хотелось. Если в будущем у нас появится финансирование и большой штат, мы сможем реализовать весь потенциал подобных вещей.
— У вас заявлено пять временных эпох, через которые проходит цивилизация. Как происходит переход в новую стадию развития и что для этого необходимо?
Артём Копыл: Во время прохождения кампании игрок набирает очки определённого вида. Например, если он предпочитает воевать, то накапливает военные очки. То же самое происходит и с другими фракциями. В итоге набирается некоторое количество очков, и советник предлагает выбрать направление. От этого можно отказаться и вложить больше усилий в прокачку нужной ветки, чтобы дойти до желаемого уровня развития. Аналогично и с деревом технологий: существуют варианты, ведущие в разные стороны, и у каждой из фракций есть своя уникальная ветвь развития. В первые две эпохи идёт общее развитие, а с третьей оно поделено на три основных направления. Таким образом, набор очков и развитие веток даёт игроку возможность сделать правильный выбор.
Игра в стартовой фазе. Скриншот: личный архив Артёма Копыла
— В Will&Reason существует проработанный пантеон богов. С какой мифологией его можно сравнить?
Артём Копыл: Как и народы, религиозные направления в игре основаны на реальных пантеонах. Религия северян напоминает скандинавскую мифологию. И мы использовали образы богов из известных мифов в качестве референсов для нашей игры. Например, есть бог правосудия Форсети, который в скандинавской мифологии часто изображался с копьём. От того, какой стороной он его держал, зависело окончательное решение спора. У нас есть похожий бог с посохом, но его образ не просто позаимствован, а обусловлен лором до мелочей — даже существует объяснение, откуда взялся посох у этого божества.
В религии жителей центральной полосы есть отсылки к греческой и кельтской мифологии. Боги южан напоминают о Древнем Египте и кочевых племенах… Ничего нового мы тут не придумали. Но у каждого божества в нашей игре есть свой характер и способности для взаимодействия. Бог может прогневаться на игрока или, наоборот, поддержать его. Это влияет на дальнейшие бонусы в игровой сессии.
— Что за катаклизмы происходят в игре и как им противостоять?
Артём Копыл: Самые простые — глобальное потепление и похолодание. Визуально это выглядит как смена текстур на карте с применением VFX. Скажем, через каждый ход снег или пустыня заполняет несколько тайлов земли.
Существует несколько вариантов противостоять катаклизмам. Первый — через собственные технологии. Если Технократам в результате вышеописанных событий стало некомфортно жить в текущей зоне, с помощью технологии передвижных городов они переносят базу на более плодородное место. В свою очередь, маги поднимут свой город в воздух, если у них будет такая возможность. А воины, согласно концептам, применяют способности, связанные с мутациями, рунами и энергетическими барьерами. Всё это работает через развитие технологий. Если игрок делает упор на религию, он может договориться с божеством, которому поклоняется на протяжении игры.
Полный список катаклизмов ещё дорабатывается. Обязательно будут нашествия монстров и ментальная болезнь, сводящая людей с ума. Можно провести аналогию со Stellaris: там есть немало испытаний и несколько вариантов конца света.
— Насколько это частое явление? Катаклизмы направлены только на игрока или способны насолить враждебным участкам?
Артём Копыл: Они действуют на всю карту и постепенно увеличивают область своего действия. Люди замечают это и понимают, что аномальные события будут только усиливаться. К концу игры происходит глобальный ивент на половину карты, который насолит всем, кто окажется в зоне поражения. Это одна из основ игры — избежать урона и подставить под удар противника.
Концепт-арт животного, мутировавшего под воздействием катаклизма. Изображение: арт к Will&Reason / официальная группа игры во «
ВКонтакте»
— Поговорим о процедурной генерации ландшафта в Will&Reason. Как она влияет на геймплей, респаун, карту и так далее?
Артём Копыл: Это не инновация для игр такого плана. Если посмотреть на «Цивилизацию» или другую подобную стратегию — там обязательно есть процедурная генерация в том или ином виде. В таких играх важна реиграбельность, чтобы во время каждой партии у игрока было ощущение нового мира. В противном случае ему наскучит геймплей после первых двух игр на одинаковой карте. Поэтому процедурная генерация важна. Более того, у нас есть и бесконечный мир, который мы не используем на данный момент, но технически он реализован.
Эта девятиминутная демонстрация с генерацией ландшафта заинтересовала народ, потому что выглядит достаточно амбициозно. Когда-нибудь мы добавим эту бесконечность в игру. Если говорить конкретно о процедурной генерации, то в начале кампании у нас создаётся уникальная карта с процедурно расставленными горами, холмами, реками. Также в разных местах генерируются деревни — базовые племенные поселения для завоевания. Осматривая эти места, игрок ориентируется на ресурсы, расположенные рядом с ней, и на поселенцев: у каждого народа есть определённые особенности и характер. Эти опции тоже процедурно генерируются. Есть характер, профессия, дающая определённые бонусы, различные способы поклонения богам. Проанализировав все эти факторы, игрок поселяется в той деревне, где ему выгоднее. После того как он выполнит квест, деревня присоединяется к нему и становится основой первой фракции.
Разработка новой системы рек. Скриншот: игра Will&Reason
— У процедурной генерации есть обратная сторона, когда в результате возникают нелепые баги. Вы часто сталкиваетесь с такими проблемами?
Артём Копыл: Да, у нас есть огромная папка со скринами подобных багов, накопившихся за годы разработки. Естественно, мы всё это исправляем. Мне кажется, что в стратегиях такие изъяны влияют на игру меньше. Вот чего по-настоящему сложно добиться — правдоподобной карты. Если мы успеем всё исправить, вряд ли на релизе будут баги, когда берег резко превращается в какую-нибудь сушу. Но могут остаться проблемы в плане ограничения игрока в передвижении, как, например, это случается с круговыми грядами гор. Кстати, я часто сталкивался с этим в Civilization. Как вариант, игра на старте может закинуть фракцию на земли без ресурсов. Такое тоже бывает. Но всё зависит именно от количества времени, которое мы потратим на эти исправления. Нет ничего такого, что нам не по силам починить.
Иллюстрация на тему героев. Изображение: арт к Will&Reason / официальная группа игры во «
ВКонтакте»
— В игре заявлены герои. Какую роль они выполняют?
Артём Копыл: Герой — это персонаж, с которого игрок начинает партию. После присоединения фракции этих героев можно нанимать уже в процессе. Кто-то погибает, кто-то приходит и так далее. Сейчас есть 12 классов героев — и у каждого своя специфика. Есть всем известные классы — такие как воин, маг, охотник. Так как лор у нас нацелен на трайбализм раннего Средневековья, у нас может быть условный охотник на монстров, но не будет паладина.
Игрок решает, чем займётся его герой: будет постоянно воевать в поле или сидеть в городе, чтобы выполнять заказы и получать мирные бонусы, как в профессии кузнеца. Классы можно комбинировать; есть карточка с определёнными скиллами (сейчас их по девять штук) — в основном с пассивными. Некоторые из этих пассивных скиллов вместе дают активный скилл, последних намного меньше. Таких карт может быть сразу несколько. Мы даже планируем кросс-карточные скиллы: когда комбинация открытых навыков из двух разных карт даёт уникальную активную способность. Такого в игре ещё нет, но пока я просто приведу пример: если, скажем, объединить карты вора и охотника, получится активный скилл теневой стрелы.
— Если у классов такая система развития, то дерево технологий собирается ещё более необычным способом — с помощью нодов по аналогии с блюпринтами в UE4. Как вы к этому пришли?
Артём Копыл: Это довольно экспериментальная вещь. В любой пошаговой стратегии дерево технологий обычно проработано заранее. Всё выстраивается в цепочку от первой эпохи до последней, и игрок постепенно изучает то, что нужно. Само дерево не меняется. В редких случаях бывают режимы, когда технологии можно перемешать, как, например, в Civilization. За счёт этого получается некий рандом. При этом заранее известно, что есть четыре цепочки, по которым идёт путь развития.
Встречается и другой подход, когда древа нет, но есть накопительные технологии, как это было во второй части Crusader Kings, — к примеру, строительство кораблей первого, второго и третьего уровней.
Мы пробовали разные варианты, но дерево технологий — это такая вещь, которую вряд ли можно сделать лучше, чем в «Цивилизации», и в каком-то плане это будет уже вторично. Накопительные технологии показались нам слишком простыми. Но если Will&Reason делает акцент на выбор игрока и этот выбор влияет на игровой процесс, почему бы не применить это и к технологиям? Так появилось динамическое древо, где каждая новая технология представляет собой карточку и подключается к текущей ветке. Как разработчики, мы часто сталкиваемся с такими системами нодов, а пользователь практически ничего о них не знает.
Пример визуального скриптинга с помощью блюпринтов в Unreal Engine. Скриншот: PatientZero / Habr
Начали тестировать, оказалось интересно. Были огрехи, но мы их исправили. У нас не так просто состыковать ноды друг с другом из-за разных категорий: есть мирные, промышленные, военные. Соответственно, каждая технология изучается, исходя из её подключения к другой карточке той же спецификации: военные подключаются к военным, мирные к мирным и так далее.
— Что будет, если игрок зайдёт в тупик и не сможет объединить карточки?
Артём Копыл: Такие ситуации встречались, и мы решали это двумя способами. На некоторых основополагающих технологиях существуют универсальные ноды — например, Правительство. Это схоже с «Цивилизацией», где были универсальные ячейки политического курса. Также у нас есть такой параметр, как Совет. Грубо говоря, это представители разных фракций из городов игрока, которые его склоняют на ту или иную фракционную сторону. Кто-то из них за Магов, кто-то за Воинов и так далее. Они выдают квесты, и наградой за выполнение задания может быть замена нодов на определённых технологиях.
Если всё складывается совсем печально, у игрока есть возможность поменять кое-какие ноды и цвета, чтобы в редких случаях соединить, скажем, мирную технологию с военной. Также есть технологии с двойным нодом, которые подключаются через мир или через войну. Например, технология верховой езды используется как в мирных целях, так и в военных. А за подключение игрок получает бонус за одну или другую сторону.
— Ноды появляются в процессе кампании и зависимы друг от друга?
Артём Копыл: Да, это как без математики не может появиться теория относительности. С точки зрения логики технология позднего уровня не может выпасть до изучения предыдущей. Поэтому те технологии, которые получает игрок, выпадают в процессе изучения других. Изначально игроку неизвестны зависимости между ними. Здесь мы ориентируемся на Stellaris: там нет древа, но есть технологии, выпадающие случайным образом. Игрок, в свою очередь, идёт гуглить подсказки с зависимостями. Мы хотим реализовать нечто похожее.
На практике, скорее всего, будут какие-то косяки. Будем тестировать на фокус-группах, проверять, что интересно, а что нет. Мы постараемся максимально автоматизировать процесс сборки нодов, чтобы игроку было комфортно.
Скриншот: игра Will&Reason
— Вы говорили, что в новой сессии игрок может найти упоминания о прошлых неудачных попытках. Как реализована эта «память» игры?
Артём Копыл: Пока это никак не реализовано, всё на стадии концепта. Но вообще, существует определённая память, которая ассоциирует игру с конкретной картой. Если копать глубже, то у каждой карты есть несколько сидов (seed) — определённых наборов чисел, из которых генерируется карта. Они есть в той же Civilization. Есть базовое число — как правило, оно большое. В нём зашифрован ландшафт и расположение всех объектов на карте. Соответственно, сиды, на которых играл пользователь, запоминаются. И для каждого сида хранится список пройденных игр, включая несколько параметров. Это индекс того тайла, на котором стояли города игрока, их значения, кем он играл и на каком уровне остановился. Количество данных о предыдущих сессиях можно увеличивать.
Если такая механика понравится пользователям, в перспективе её можно протестировать и развить до серьёзных, более глубоких вещей.
— Вы уделяете очень много внимания таким деталям, как экипировка юнитов, характеристики жителей деревень и так далее. Не боитесь, что игрок может просто проигнорировать такую скрупулёзность?
Артём Копыл: Нет, не боимся, потому что делаем игру для разных людей. Есть игроки более хардкорные, которые любят покопаться в циферках, бесконечно менять экипировку юнита ради единичных статов, смотрят лучшие сочетания и тому подобное. Они получат такую возможность в Will&Reason. Это не даст ощутимого перевеса, но небольшое преимущество всё-таки будет. Возможно, это мотивирует кого-то к детальной кастомизации.
Также существует ряд игроков, которым это не нужно, потому что они пришли за атмосферой. Для них будет функционал автоматизированной экипировки: нашёл сундук с лутом — нажал кнопку — игра автоматически ставит лучшую броню и оружие. Или такая вещь, как пресеты юнитов в городах: не нужно каждый раз перетаскивать всю экипировку. У игрока уже есть набор лучших юнитов для использования. Поэтому мы не боимся, что кто-то проигнорирует наши задумки.
Модели оружия для разных народов в Will&Reason. Изображение: иллюстрации из артбука к игре Will& Reason / официальная группа игры во «
ВКонтакте»
Вячеслав Банщиков: Добавлю, что здесь ситуация схожа с серией Dark Souls, когда мало кто из игроков знаком с лором и сюжетом игры. Кто-то в неё играет из-за дизайна локации, а кто-то ради челленджа, основанного на собственных правилах. Здесь принцип тот же самый. Одни игроки любят детальное изучение, а другие не будут заморачиваться. Но мы ещё планируем всё это тестировать.
* * *
Во второй части интервью мы продолжим обсуждение Will&Reason с разработчиками и поговорим о художественной составляющей игры, работе с Unity, мультиплеере, тонкостях маркетинга и планах на будущее.
Кто вы в мире геймдева? Узнайте на бесплатном курсе ➞
Вы на практике попробуете 3 профессии: геймдизайнера, 2D-художника и разработчика на Unity. Создадите свою первую игру в стиле Mario.
Узнать больше
<!DOCTYPE html>
<html class="l-html" lang="ru">
<head>
<script>
mindbox = window.mindbox || function() { mindbox.queue.push(arguments); };
mindbox.queue = mindbox.queue || [];
mindbox('create', {
endpointId: 'skillbox.skillboxMediaWebsite'
});
</script>
<script src="https://api.s.mindbox.ru/scripts/v1/tracker.js" async></script>
<script>window.yaContextCb = window.yaContextCb || []</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>
<!-- Google Tag Manager -->
<script async data-skip-moving="true" type="text/javascript">
/** Google Tagmanager */
;(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start':
new Date().getTime(), event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-NLCGQ25');
window.dataLayer = window.dataLayer || [];
function gtag() {
window.dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'GTM-NLCGQ25');
</script>
<!-- End Google Tag Manager -->
<!-- Retail Rocket -->
<script type="text/javascript">
var rrPartnerId = "6048a0d097a52514f050731f";
var rrApi = {};
var rrApiOnReady = rrApiOnReady || [];
rrApi.addToBasket = rrApi.order = rrApi.categoryView = rrApi.view =
rrApi.recomMouseDown = rrApi.recomAddToCart = function() {};
(function(d) {
var ref = d.getElementsByTagName('script')[0];
var apiJs, apiJsId = 'rrApi-jssdk';
if (d.getElementById(apiJsId)) return;
apiJs = d.createElement('script');
apiJs.id = apiJsId;
apiJs.async = true;
apiJs.src = "//cdn.retailrocket.ru/content/javascript/tracking.js";
ref.parentNode.insertBefore(apiJs, ref);
}(document));
</script>
<!-- End Retail Rocket -->
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<meta name="google-site-verification" content="UA-kf725UpqwkHenFmDQ05SW115fL9UdD9uXiFy-ibQ"/>
<meta name="robots" content="index, follow"/>
<link rel="dns-prefetch" href="//fonts.googleapis.com">
<link rel="shortcut icon" href="/favicon.ico">
<link rel="canonical" href="https://skillbox.ru/media/gamedev/intervyu-s-razrabotchikami-strategii-will-reason-chast-1/">
<link rel="preload" href="https://marketplace.canva.com/EAD2962NKnQ/2/0/1600w/canva-rainbow-gradient-pink-and-purple-zoom-virtual-background-_Tcjok-d9b4.jpg" as="image" />
<link rel="preload" href="https://via.placeholder.com/1170x250/92c952" as="image" />
<link rel="preload" href="https://via.placeholder.com/768x250/40E0D0" as="image" />
<link rel="preload" href="https://via.placeholder.com/375x250/ffbcee" as="image" />
<title>Развитие как путь к спасению. Интервью с разработчиками стратегии Will&Reason. Часть 1 / Skillbox Media</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="keywords" content="игры, инди, игровая индустрия, разработка игра, стратегия" />
<meta name="description" content="Разговор о геймплейных принципах игры, работе в команде и процессе разработки." />
<link href="/bitrix/cache/css/s1/media/kernel_main/kernel_main_v1.css?177096852510536" type="text/css" rel="stylesheet" />
<link href="/bitrix/js/ui/fonts/opensans/ui.font.opensans.css?16341171742599" type="text/css" rel="stylesheet" />
<link href="/bitrix/js/main/popup/dist/main.popup.bundle.css?163411696226345" type="text/css" rel="stylesheet" />
<link href="//cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/css/swiper.min.css" type="text/css" rel="stylesheet" />
<link href="/bitrix/cache/css/s1/media/page_a1ad23d5ae1fea4c6ac7c690c80a4763/page_a1ad23d5ae1fea4c6ac7c690c80a4763_v1.css?1771490810746236" type="text/css" rel="stylesheet" />
<link href="/bitrix/cache/css/s1/media/template_176a7c2453ad8025fa7d27f65ba6a4b1/template_176a7c2453ad8025fa7d27f65ba6a4b1_v1.css?1771490810442835" type="text/css" data-template-style="true" rel="stylesheet" />
<script type="text/javascript">if(!window.BX)window.BX={};if(!window.BX.message)window.BX.message=function(mess){if(typeof mess==='object'){for(let i in mess) {BX.message[i]=mess[i];} return true;}};</script>
<script type="text/javascript">(window.BX||top.BX).message({'JS_CORE_LOADING':'Загрузка...','JS_CORE_NO_DATA':'- Нет данных -','JS_CORE_WINDOW_CLOSE':'Закрыть','JS_CORE_WINDOW_EXPAND':'Развернуть','JS_CORE_WINDOW_NARROW':'Свернуть в окно','JS_CORE_WINDOW_SAVE':'Сохранить','JS_CORE_WINDOW_CANCEL':'Отменить','JS_CORE_WINDOW_CONTINUE':'Продолжить','JS_CORE_H':'ч','JS_CORE_M':'м','JS_CORE_S':'с','JSADM_AI_HIDE_EXTRA':'Скрыть лишние','JSADM_AI_ALL_NOTIF':'Показать все','JSADM_AUTH_REQ':'Требуется авторизация!','JS_CORE_WINDOW_AUTH':'Войти','JS_CORE_IMAGE_FULL':'Полный размер'});</script>
<script type="text/javascript" src="/bitrix/js/main/core/core.js?1634117028565340"></script>
<script>BX.setJSList(['/bitrix/js/main/core/core_ajax.js','/bitrix/js/main/core/core_promise.js','/bitrix/js/main/polyfill/promise/js/promise.js','/bitrix/js/main/loadext/loadext.js','/bitrix/js/main/loadext/extension.js','/bitrix/js/main/polyfill/promise/js/promise.js','/bitrix/js/main/polyfill/find/js/find.js','/bitrix/js/main/polyfill/includes/js/includes.js','/bitrix/js/main/polyfill/matches/js/matches.js','/bitrix/js/ui/polyfill/closest/js/closest.js','/bitrix/js/main/polyfill/fill/main.polyfill.fill.js','/bitrix/js/main/polyfill/find/js/find.js','/bitrix/js/main/polyfill/matches/js/matches.js','/bitrix/js/main/polyfill/core/dist/polyfill.bundle.js','/bitrix/js/main/core/core.js','/bitrix/js/main/polyfill/intersectionobserver/js/intersectionobserver.js','/bitrix/js/main/lazyload/dist/lazyload.bundle.js','/bitrix/js/main/polyfill/core/dist/polyfill.bundle.js','/bitrix/js/main/parambag/dist/parambag.bundle.js']);
BX.setCSSList(['/bitrix/js/main/lazyload/dist/lazyload.bundle.css','/bitrix/js/main/parambag/dist/parambag.bundle.css']);</script>
<script type="text/javascript">(window.BX||top.BX).message({'AMPM_MODE':false});(window.BX||top.BX).message({'MONTH_1':'Январь','MONTH_2':'Февраль','MONTH_3':'Март','MONTH_4':'Апрель','MONTH_5':'Май','MONTH_6':'Июнь','MONTH_7':'Июль','MONTH_8':'Август','MONTH_9':'Сентябрь','MONTH_10':'Октябрь','MONTH_11':'Ноябрь','MONTH_12':'Декабрь','MONTH_1_S':'января','MONTH_2_S':'февраля','MONTH_3_S':'марта','MONTH_4_S':'апреля','MONTH_5_S':'мая','MONTH_6_S':'июня','MONTH_7_S':'июля','MONTH_8_S':'августа','MONTH_9_S':'сентября','MONTH_10_S':'октября','MONTH_11_S':'ноября','MONTH_12_S':'декабря','MON_1':'янв','MON_2':'фев','MON_3':'мар','MON_4':'апр','MON_5':'май','MON_6':'июн','MON_7':'июл','MON_8':'авг','MON_9':'сен','MON_10':'окт','MON_11':'ноя','MON_12':'дек','DAY_OF_WEEK_0':'Воскресенье','DAY_OF_WEEK_1':'Понедельник','DAY_OF_WEEK_2':'Вторник','DAY_OF_WEEK_3':'Среда','DAY_OF_WEEK_4':'Четверг','DAY_OF_WEEK_5':'Пятница','DAY_OF_WEEK_6':'Суббота','DOW_0':'Вс','DOW_1':'Пн','DOW_2':'Вт','DOW_3':'Ср','DOW_4':'Чт','DOW_5':'Пт','DOW_6':'Сб','FD_SECOND_AGO_0':'#VALUE# секунд назад','FD_SECOND_AGO_1':'#VALUE# секунду назад','FD_SECOND_AGO_10_20':'#VALUE# секунд назад','FD_SECOND_AGO_MOD_1':'#VALUE# секунду назад','FD_SECOND_AGO_MOD_2_4':'#VALUE# секунды назад','FD_SECOND_AGO_MOD_OTHER':'#VALUE# секунд назад','FD_SECOND_DIFF_0':'#VALUE# секунд','FD_SECOND_DIFF_1':'#VALUE# секунда','FD_SECOND_DIFF_10_20':'#VALUE# секунд','FD_SECOND_DIFF_MOD_1':'#VALUE# секунда','FD_SECOND_DIFF_MOD_2_4':'#VALUE# секунды','FD_SECOND_DIFF_MOD_OTHER':'#VALUE# секунд','FD_SECOND_SHORT':'#VALUE#с','FD_MINUTE_AGO_0':'#VALUE# минут назад','FD_MINUTE_AGO_1':'#VALUE# минуту назад','FD_MINUTE_AGO_10_20':'#VALUE# минут назад','FD_MINUTE_AGO_MOD_1':'#VALUE# минуту назад','FD_MINUTE_AGO_MOD_2_4':'#VALUE# минуты назад','FD_MINUTE_AGO_MOD_OTHER':'#VALUE# минут назад','FD_MINUTE_DIFF_0':'#VALUE# минут','FD_MINUTE_DIFF_1':'#VALUE# минута','FD_MINUTE_DIFF_10_20':'#VALUE# минут','FD_MINUTE_DIFF_MOD_1':'#VALUE# минута','FD_MINUTE_DIFF_MOD_2_4':'#VALUE# минуты','FD_MINUTE_DIFF_MOD_OTHER':'#VALUE# минут','FD_MINUTE_0':'#VALUE# минут','FD_MINUTE_1':'#VALUE# минуту','FD_MINUTE_10_20':'#VALUE# минут','FD_MINUTE_MOD_1':'#VALUE# минуту','FD_MINUTE_MOD_2_4':'#VALUE# минуты','FD_MINUTE_MOD_OTHER':'#VALUE# минут','FD_MINUTE_SHORT':'#VALUE#мин','FD_HOUR_AGO_0':'#VALUE# часов назад','FD_HOUR_AGO_1':'#VALUE# час назад','FD_HOUR_AGO_10_20':'#VALUE# часов назад','FD_HOUR_AGO_MOD_1':'#VALUE# час назад','FD_HOUR_AGO_MOD_2_4':'#VALUE# часа назад','FD_HOUR_AGO_MOD_OTHER':'#VALUE# часов назад','FD_HOUR_DIFF_0':'#VALUE# часов','FD_HOUR_DIFF_1':'#VALUE# час','FD_HOUR_DIFF_10_20':'#VALUE# часов','FD_HOUR_DIFF_MOD_1':'#VALUE# час','FD_HOUR_DIFF_MOD_2_4':'#VALUE# часа','FD_HOUR_DIFF_MOD_OTHER':'#VALUE# часов','FD_HOUR_SHORT':'#VALUE#ч','FD_YESTERDAY':'вчера','FD_TODAY':'сегодня','FD_TOMORROW':'завтра','FD_DAY_AGO_0':'#VALUE# дней назад','FD_DAY_AGO_1':'#VALUE# день назад','FD_DAY_AGO_10_20':'#VALUE# дней назад','FD_DAY_AGO_MOD_1':'#VALUE# день назад','FD_DAY_AGO_MOD_2_4':'#VALUE# дня назад','FD_DAY_AGO_MOD_OTHER':'#VALUE# дней назад','FD_DAY_DIFF_0':'#VALUE# дней','FD_DAY_DIFF_1':'#VALUE# день','FD_DAY_DIFF_10_20':'#VALUE# дней','FD_DAY_DIFF_MOD_1':'#VALUE# день','FD_DAY_DIFF_MOD_2_4':'#VALUE# дня','FD_DAY_DIFF_MOD_OTHER':'#VALUE# дней','FD_DAY_AT_TIME':'#DAY# в #TIME#','FD_DAY_SHORT':'#VALUE#д','FD_MONTH_AGO_0':'#VALUE# месяцев назад','FD_MONTH_AGO_1':'#VALUE# месяц назад','FD_MONTH_AGO_10_20':'#VALUE# месяцев назад','FD_MONTH_AGO_MOD_1':'#VALUE# месяц назад','FD_MONTH_AGO_MOD_2_4':'#VALUE# месяца назад','FD_MONTH_AGO_MOD_OTHER':'#VALUE# месяцев назад','FD_MONTH_DIFF_0':'#VALUE# месяцев','FD_MONTH_DIFF_1':'#VALUE# месяц','FD_MONTH_DIFF_10_20':'#VALUE# месяцев','FD_MONTH_DIFF_MOD_1':'#VALUE# месяц','FD_MONTH_DIFF_MOD_2_4':'#VALUE# месяца','FD_MONTH_DIFF_MOD_OTHER':'#VALUE# месяцев','FD_MONTH_SHORT':'#VALUE#мес','FD_YEARS_AGO_0':'#VALUE# лет назад','FD_YEARS_AGO_1':'#VALUE# год назад','FD_YEARS_AGO_10_20':'#VALUE# лет назад','FD_YEARS_AGO_MOD_1':'#VALUE# год назад','FD_YEARS_AGO_MOD_2_4':'#VALUE# года назад','FD_YEARS_AGO_MOD_OTHER':'#VALUE# лет назад','FD_YEARS_DIFF_0':'#VALUE# лет','FD_YEARS_DIFF_1':'#VALUE# год','FD_YEARS_DIFF_10_20':'#VALUE# лет','FD_YEARS_DIFF_MOD_1':'#VALUE# год','FD_YEARS_DIFF_MOD_2_4':'#VALUE# года','FD_YEARS_DIFF_MOD_OTHER':'#VALUE# лет','FD_YEARS_SHORT_0':'#VALUE#л','FD_YEARS_SHORT_1':'#VALUE#г','FD_YEARS_SHORT_10_20':'#VALUE#л','FD_YEARS_SHORT_MOD_1':'#VALUE#г','FD_YEARS_SHORT_MOD_2_4':'#VALUE#г','FD_YEARS_SHORT_MOD_OTHER':'#VALUE#л','CAL_BUTTON':'Выбрать','CAL_TIME_SET':'Установить время','CAL_TIME':'Время','FD_LAST_SEEN_TOMORROW':'завтра в #TIME#','FD_LAST_SEEN_NOW':'только что','FD_LAST_SEEN_TODAY':'сегодня в #TIME#','FD_LAST_SEEN_YESTERDAY':'вчера в #TIME#','FD_LAST_SEEN_MORE_YEAR':'более года назад'});</script>
<script type="text/javascript">(window.BX||top.BX).message({'WEEK_START':'1'});</script>
<script type="text/javascript">(window.BX||top.BX).message({'LANGUAGE_ID':'ru','FORMAT_DATE':'DD.MM.YYYY','FORMAT_DATETIME':'DD.MM.YYYY HH:MI:SS','COOKIE_PREFIX':'BITRIX_SM','SERVER_TZ_OFFSET':'10800','UTF_MODE':'Y','SITE_ID':'s1','SITE_DIR':'/','USER_ID':'','SERVER_TIME':'1771664655','USER_TZ_OFFSET':'0','USER_TZ_AUTO':'Y','bitrix_sessid':'acef71bf1d4ae04ff54ea8dfd7b16d56'});</script>
<script type="text/javascript" src="/bitrix/js/main/date/main.date.js?159955296434530"></script>
<script type="text/javascript" src="/bitrix/js/main/popup/dist/main.popup.bundle.js?1634116962109107"></script>
<script type="text/javascript" src="/bitrix/js/main/core/core_date.js?163411653136080"></script>
<script type="text/javascript" src="/bitrix/js/ui/vue/vue2/prod/dist/vue.bundle.js?1635848017173206"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/js/swiper.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/fingerprintjs2/2.1.0/fingerprint2.min.js"></script>
<script type="text/javascript">BX.setCSSList(['/bitrix/js/main/core/css/core_date.css','/setka/css/setka_skillbox.css','/local/templates/.default/components/bitrix/news.detail/article/style.css','/static/css/newarticle.css','/local/templates/media/libs/jquery.formstyler.css','/local/templates/media/fonts/graphik-font/stylesheet.css','/static/css/main.css','/local/templates/media/template_styles.css']);</script>
<script src="https://cdn.skillbox.pro/frontend-libs/promo-banner/5.10.1/banner-plugin.min.js"></script>
<script type="text/javascript" async src="https://relap.io/api/v6/head.js?token=sI73Ph6a5BnkqK2o"></script>
<meta property="og:title" content="Развитие как путь к спасению. Интервью с разработчиками стратегии Will&Reason. Часть 1" />
<meta property="og:description" content="Разговор о геймплейных принципах игры, работе в команде и процессе разработки." />
<meta property="og:url" content="https://skillbox.ru/media/gamedev/intervyu-s-razrabotchikami-strategii-will-reason-chast-1/" />
<meta property="og:type" content="article" />
<meta property="og:site_name" content="skillbox.ru" />
<meta property="og:locale" content="ru_RU" />
<meta property="og:image" content="https://248006.selcdn.ru/main/iblock/4ca/4ca7f64288a0802ed45d26fac419eb22/76cd3bc110c1d5701c80d13a26539aaf.jpg" />
<meta name="relap-image" content="https://248006.selcdn.ru/main/iblock/4ca/4ca7f64288a0802ed45d26fac419eb22/76cd3bc110c1d5701c80d13a26539aaf.jpg" />
<meta property="og:image:width" content="600" />
<meta property="og:image:height" content="315" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:image" content="https://248006.selcdn.ru/main/iblock/4ca/4ca7f64288a0802ed45d26fac419eb22/76cd3bc110c1d5701c80d13a26539aaf.jpg" />
<meta property="vk:image" content="https://248006.selcdn.ru/main/iblock/b1e/b1efbcdeba208c707067d939104df4d1/92f66fba2a624b104667323deb1db095.jpg" />
<meta property="article:author" content="Леон Балбери" />
<meta property="article:tag" content="Интервью" />
<meta property="article:section" content="Геймдев" />
<script type="text/javascript" src="/static/js/vendor.js?1771489421543641"></script>
<script type="text/javascript" src="/local/assets/js/common.js?177148933727419"></script>
<script type="text/javascript" src="/static/js/main.js?1771489421125222"></script>
<script type="text/javascript" src="/local/templates/media/js/main.js?17714893372418"></script>
<script type="text/javascript" src="/local/components/prmedia/popup.subscribe/templates/.default/script.js?17714893376820"></script>
<script type="text/javascript" src="/local/templates/.default/components/bitrix/news.detail/article/infinity.js?177148933713735"></script>
<script type="text/javascript" src="/local/templates/.default/components/bitrix/news/articles/script.js?1771489337246"></script>
<script type="text/javascript" src="/setka/js/setka_skillbox.js?1771489337106775"></script>
<script type="text/javascript" src="/local/templates/.default/components/bitrix/news.detail/article/script.js?17714893377503"></script>
<script type="text/javascript">var _ba = _ba || []; _ba.push(["aid", "84a6082a990bbac8858fb733b97bed30"]); _ba.push(["host", "skillbox.ru"]); (function() {var ba = document.createElement("script"); ba.type = "text/javascript"; ba.async = true;ba.src = (document.location.protocol == "https:" ? "https://" : "http://") + "bitrix.info/ba.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ba, s);})();</script>
</head>
<body>
<div class="js-sticky-delimiter"></div>
<div class="bx-panel"></div>
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NLCGQ25" height="0" width="0"
style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
<svg class="app-svg-visually-hidden" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<path id="def-arrow-down-a" d="M223 20813l4 5 4-5z"/>
<path id="def-arrow-a" d="M1044.6 803.2a.81.81 0 01-.5.18.8.8 0 01-.8-.8v-3.24c-2.97.1-5.17.88-6.52 2.3a4.86 4.86 0 00-1.39 3.29.8.8 0 01-.75.83h-.04a.79.79 0 01-.79-.74c-.22-3.78.69-6.76 2.69-8.84a10.76 10.76 0 016.81-3.07v-3.3a.8.8 0 011.29-.63l7.91 6.39a.8.8 0 010 1.25zm.3-11.73v2.42a.5.5 0 01-.03.1.8.8 0 01-.05.21.78.78 0 01-.47.42.67.67 0 01-.25.05h-.01c-.06 0-3.93-.04-6.46 2.62-.8.85-1.4 1.87-1.74 2.99 1.79-1.7 4.55-2.57 8.21-2.57.44 0 .8.36.8.8v2.4l5.85-4.72z"/>
<path id="def-be-a" d="M55.6 29.58h6.12v-1.59H55.6zm.64 5.74s.26-2.23 2.58-2.23c2.32 0 2.26 2.23 2.26 2.23zm-3.23 1.27S52.56 42 58.72 42c0 0 5.26.37 5.26-3.81H61.4s-.09 1.59-2.58 1.59c0 0-2.58.17-2.58-2.55l7.74-.01c-.08-.32.9-6.42-5.16-6.36-5.77.05-5.81 5.73-5.81 5.73zm-10.34 2.8v-4.24H47s1.7.16 1.7 2.24c0 1.76-1.06 1.99-1.7 2zM47 29.61s1.16.06 1.16 1.62-.76 1.64-1.49 1.64h-4v-3.26zm4.33 1.3c0-2.68-1.81-3.91-4.26-3.91H39v15.01h8.07s4.92.15 4.92-4.43c0 0 .22-3.73-2.9-3.73 0 0 2.24-.25 2.24-2.94z"/>
<path id="def-briefcase-a" d="M855 13538c0-1.7 1.3-3 3-3s3 1.3 3 3v7c0 1.7-1.3 3-3 3s-3-1.3-3-3v-7z"/>
<path id="def-comments-a" d="M752 8958l-4 4v-12a1 1 0 011-1h11a1 1 0 011 1v7a1 1 0 01-1 1zm12-6v13l-3.2-4H751l2-2h9v-8h1c1 0 1 .45 1 1z"/>
<path id="def-eaye-a" d="M630 8956.22c0 1.04-3.58 5.21-8 5.21s-8-4.26-8-5.21c0-1.05 3.58-5.22 8-5.22s8 4.17 8 5.22zm-5 0h-3v-3.13a3.13 3.13 0 100 6.26 3.07 3.07 0 003-3.13z"/>
<path id="def-file-a" d="M493 9457a2 2 0 01-1.98-2v-16a2 2 0 011.98-2h19.82c1.13 0 2.07.87 2.15 2v16a2.15 2.15 0 01-2.15 2zm0-18v8.83l5.3-4.59a.98.98 0 011.35.05l5.34 5.39 3.27-2.48a.98.98 0 011.36.16l3.35 4.07V9439zm19.97 14.55l-4.27-5.18-3.21 2.43c-.4.3-.95.26-1.3-.09l-5.3-5.35-5.9 5.1v4.54h19.98zm-6.1-10.55a1.98 1.98 0 113.97.04 1.98 1.98 0 01-3.97-.04z"/>
<path id="def-gplus-a" d="M466 10169a4 4 0 013.87-3.99 4.14 4.14 0 012.93.99c-.33.36-.67.71-1.03 1.04-.72-.42-1.58-.75-2.41-.46a2.52 2.52 0 00-1.67 3.23c.41 1.35 2.09 2.1 3.4 1.52a2.22 2.22 0 001.33-1.51c-.78-.01-1.56 0-2.34-.03v-1.36h3.9a4.45 4.45 0 01-.83 3.2c-1 1.28-2.88 1.66-4.4 1.16a4 4 0 01-2.75-3.79z"/><path id="def-gplus-b" d="M476.34 10166h1.32l.01 1.33H479v1.33l-1.33.01v1.33h-1.33l-.01-1.33H475v-1.33l1.33-.01.01-1.33z"/>
<path id="def-inst-a" d="M1480.93 332c-3.5 0-3.95.02-5.32.07-1.37.07-2.3.28-3.14.6-.84.34-1.57.77-2.28 1.5a6.36 6.36 0 00-1.5 2.28 9.84 9.84 0 00-.6 3.14c-.07 1.37-.07 1.82-.07 5.32s.02 3.96.07 5.32c.07 1.37.28 2.31.6 3.14.34.85.77 1.58 1.5 2.29a6.51 6.51 0 002.28 1.5c.82.3 1.77.53 3.14.6 1.37.07 1.82.07 5.32.07s3.96-.02 5.32-.07a9.48 9.48 0 003.14-.6 6.14 6.14 0 002.29-1.5 6.36 6.36 0 001.5-2.29c.3-.81.53-1.77.6-3.14.07-1.36.07-1.82.07-5.32s-.02-3.95-.07-5.32a9.48 9.48 0 00-.6-3.14 6.14 6.14 0 00-1.5-2.28 6.36 6.36 0 00-2.29-1.5 9.84 9.84 0 00-3.14-.6c-1.38-.05-1.82-.07-5.32-.07zm0 2.32c3.45 0 3.85.02 5.22.07 1.27.05 1.94.26 2.4.45.6.25 1.03.52 1.48.97.45.45.73.89.97 1.5.18.44.39 1.14.45 2.39.07 1.37.07 1.76.07 5.21s-.01 3.85-.07 5.22a6.55 6.55 0 01-.45 2.4c-.24.6-.52 1.03-.97 1.48-.45.45-.88.73-1.49.97-.45.18-1.14.39-2.39.45-1.37.07-1.77.07-5.22.07-3.45 0-3.84-.01-5.21-.07a6.55 6.55 0 01-2.4-.45 4.11 4.11 0 01-1.49-.97 4.11 4.11 0 01-.97-1.49 7.52 7.52 0 01-.45-2.39c-.07-1.37-.07-1.77-.07-5.22 0-3.45.02-3.84.07-5.21.05-1.27.26-1.95.45-2.4.25-.6.52-1.04.97-1.49.45-.45.89-.72 1.5-.97a7.52 7.52 0 012.39-.45c1.35-.05 1.76-.07 5.21-.07z"/><path id="def-inst-b" d="M1480.93 349.2a4.3 4.3 0 110-8.59 4.3 4.3 0 010 8.6zm0-10.93a6.62 6.62 0 100 13.24 6.62 6.62 0 000-13.24z"/><path id="def-inst-c" d="M1486.27 338.01a1.54 1.54 0 113.09 0 1.54 1.54 0 01-3.09 0z"/>
<path id="def-like-down-a" d="M1004.33 543.66c-1.1 0-2.45-.86-2.61-3.31-.05-1.41.11-2.82.48-4.19h-2.96c-2.15 0-3.42-1.35-3.42-2.67 0-.39.05-.77.17-1.13a2.4 2.4 0 01-.99-2.03 2.35 2.35 0 011.02-2.05c-.12-.34-.18-.7-.17-1.06.86-.6 1.2-1.7.86-2.7 0-2.52 3.45-2.52 4.57-2.52h2.85c1.3.06 2.56.4 3.71 1 .67.36 1.41.6 2.18.67h3.23c.25 0 .5.11.65.31.12.14 1.1 1.47 1.1 4.69.03 1.8-.28 3.6-.9 5.31a.83.83 0 01-.67.5c-.03 0-3.27.4-4.85 1.98a10.32 10.32 0 00-2.8 5.94 1.4 1.4 0 01-1.45 1.26zm-6.84-10.17c0 .34.52 1 1.75 1h4.06a.83.83 0 01.8 1.1c-.5 1.5-.73 3.07-.72 4.65.08 1.1.44 1.6.79 1.72a11.94 11.94 0 013.23-6.67c1.57-1.58 4.2-2.18 5.32-2.38.41-1.37.62-2.8.61-4.24a8.18 8.18 0 00-.56-3.34h-2.75c-1-.07-1.97-.35-2.85-.81a7.53 7.53 0 00-3.04-.85h-2.85c-1.32 0-2.9.15-2.9.85-.02.11.02.22.09.3a.73.73 0 01.75.77.92.92 0 01-.85.87.85.85 0 00-.85.77c-.05.22.01.44.17.6.42.07.71.45.67.88a.87.87 0 01-.86.77.77.77 0 00-.83.85.8.8 0 00.87.85c.46.01.82.4.81.85 0 .43-.33.78-.76.8-.09.21-.12.44-.1.66z"/>
<path id="def-like-up-a" d="M944.67 520c1.1 0 2.45.87 2.61 3.32.05 1.4-.11 2.82-.48 4.18h2.96c2.15 0 3.42 1.36 3.42 2.67 0 .39-.05.77-.17 1.14a2.4 2.4 0 01.99 2.02c.04.81-.35 1.59-1.02 2.05.12.34.18.7.17 1.07-.86.6-1.2 1.7-.86 2.69 0 2.52-3.45 2.52-4.57 2.52h-2.85a8.94 8.94 0 01-3.71-.99 5.67 5.67 0 00-2.18-.67h-3.23a.83.83 0 01-.65-.32c-.12-.14-1.1-1.47-1.1-4.68-.03-1.81.28-3.62.9-5.32a.83.83 0 01.67-.5c.03 0 3.27-.4 4.85-1.98a10.32 10.32 0 002.8-5.93 1.4 1.4 0 011.45-1.27zm6.84 10.17c0-.34-.52-1-1.75-1h-4.06a.83.83 0 01-.8-1.1c.5-1.5.73-3.07.72-4.65-.08-1.1-.44-1.6-.79-1.72a11.94 11.94 0 01-3.23 6.67c-1.57 1.58-4.2 2.19-5.32 2.38a14.38 14.38 0 00-.61 4.25 8.18 8.18 0 00.56 3.33h2.75c1 .07 1.97.35 2.85.82.94.49 1.98.78 3.04.85h2.85c1.32 0 2.9-.15 2.9-.86a.35.35 0 00-.09-.3.73.73 0 01-.75-.77.92.92 0 01.85-.87c.44 0 .81-.33.85-.77a.65.65 0 00-.17-.6.81.81 0 01-.67-.87.87.87 0 01.86-.78.77.77 0 00.83-.85.8.8 0 00-.87-.85.83.83 0 01-.81-.85c0-.43.33-.78.76-.8.09-.21.12-.43.1-.66z"/>
<path id="def-like-a" d="M701.32 8960.32a.95.95 0 01-.95.95h-5.72c-.96 0-1.92-.95-2.87-.95h-.95v-6.68c.04-.6.4-1.12.95-1.36a4.78 4.78 0 002.87-4.37v-.96a.95.95 0 01.95-.95h.95c.53 0 .95.43.95.95v5.73h3.82a.9.9 0 01.96.96zm-14.31.95v-9.54h1.9a.96.96 0 01.97.95v7.64a.96.96 0 01-.96.95zm.99-8.3a.48.48 0 10.88.38.48.48 0 00-.88-.38z"/>
<path id="def-link-a" d="M626.02 1163.93l-.02 15.99 13.02.01v-4a.86.86 0 01.24-.68.9.9 0 01.66-.28 1 1 0 011 1v4.95a1 1 0 01-.29.7 1 1 0 01-.71.29H625a1 1 0 01-.71-.29 1 1 0 01-.29-.7V1163a1 1 0 011-1h3.95a1 1 0 011 1 .89.89 0 01-.93.93z"/><path id="def-link-b" d="M641.95 1171a1 1 0 01-1-1v-5.59l-9.25 9.3a.99.99 0 01-1.41-.01.99.99 0 01.01-1.41l9.24-9.29h-5.56a1 1 0 01-1-1 1 1 0 011-1h7.97a1 1 0 011 1v8a1 1 0 01-1 1z"/>
<path id="def-mail-a" d="M1058 261c0-.6-.4-1-1-1h-14c-.6 0-1 .4-1 1l8 6.5z"/><path id="def-mail-b" d="M1042 262.5v8.5c0 .6.4 1 1 1h14c.6 0 1-.4 1-1v-8.5l-8 6.5z"/>
<path id="def-outside-a" d="M1204.24 9231.16h-10.05c-.92 0-1.67-.75-1.67-1.68v-4.2c0-.46.38-.84.84-.84a.81.81 0 01.8.84v4.2h10.08v-16.8h-10.08v4.2a.81.81 0 01-.8.84.84.84 0 01-.84-.84v-4.2c0-.93.75-1.68 1.67-1.68h10.05c.92 0 1.67.75 1.67 1.68v16.8c0 .93-.75 1.68-1.67 1.68zm-15.56-10.92h11.37a.84.84 0 110 1.68h-11.36l1.91 1.92a.84.84 0 11-1.18 1.2l-3.35-3.36a.86.86 0 01-.24-.6v-.02a.83.83 0 01.24-.58l3.35-3.36a.83.83 0 011.18 0c.33.33.33.87 0 1.2z"/>
<path id="def-pencil-a" d="M1190.84 9818.68a.64.64 0 01-.19.13l-.07.06-4.42 1.82c-.1.05-.21.07-.32.07a.83.83 0 01-.77-1.15l1.84-4.4v-.02a.38.38 0 01.09-.13l.08-.13v-.01l10.82-10.82-.44-.44-3.56 3.57a.83.83 0 01-1.18-1.18l4.16-4.15a.81.81 0 011.17 0l1.03 1.03 1.86-1.86a.84.84 0 011.17 0l2.58 2.58c.33.32.33.85 0 1.18zm-2.88-1.7l-.58 1.41 1.41-.58zm.88-1.47l1.41 1.4 10.24-10.23-1.4-1.4zm12.69-12.68l-1.27 1.27 1.4 1.4 1.28-1.27z"/>
<path id="def-phone-a" d="M732.62 41c-2.25 0-6.37-2.73-10.24-6.78a33.08 33.08 0 01-5.22-6.96c-1.33-2.53-1.52-4.32-.56-5.31l2.91-2.72c.17-.16.4-.24.63-.23.24.02.46.13.61.32l3.79 4.58c.23.28.28.68.12 1.01l-1.47 3.08 5.24 5.48 2.93-1.54a.83.83 0 01.96.12l4.38 3.96c.17.16.28.38.3.63a.97.97 0 01-.22.67l-2.53 3.02c-.33.34-.81.67-1.63.67zm-14.76-17.78c-.15.21-.25 1.09.83 3.15 1.06 2 2.8 4.32 4.93 6.55 3.87 4.06 7.53 6.25 9 6.25.2 0 .3-.04.33-.08l1.94-2.3-3.27-2.95-2.98 1.56a.84.84 0 01-1.01-.17l-6.12-6.42a.92.92 0 01-.16-1.05l1.48-3.12-2.82-3.42z"/>
<path id="def-plus-a" d="M1223.33 4172.67h-6.66v6.66a.67.67 0 01-1.34 0v-6.66h-6.66a.67.67 0 010-1.34h6.66v-6.66a.67.67 0 011.34 0v6.66h6.66a.67.67 0 010 1.34z"/>
<path id="def-search-a" d="M1092.53 24.87a6.7 6.7 0 10-.05 13.4 6.7 6.7 0 00.05-13.4zm12.1 18.85a.95.95 0 01-1.35 0l-5.4-5.43a8.62 8.62 0 111.35-1.35l5.4 5.43c.37.37.37.98 0 1.35z"/>
<path id="def-shape-a" d="M879 13323h-4a1 1 0 01-1-1v-4a1 1 0 011-1h.85c-1.29-8.14-8.38-15.22-16.85-16.81v.81a1 1 0 01-1 1h-4a1 1 0 01-1-1v-.81c-8.47 1.6-15.56 8.67-16.85 16.81h.85a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4a1 1 0 011-1h1.13c1.03-7.24 6.24-13.76 13.07-17h-6.48a1.98 1.98 0 01-1.72 1.01c-.97 0-1.8-.69-1.98-1.65a2 2 0 011.28-2.23 2 2 0 012.42.87H853v-1a1 1 0 011-1h4a1 1 0 011 1v1h12.27a2.01 2.01 0 110 2h-6.47c6.83 3.24 12.04 9.76 13.07 17H879a1 1 0 011 1v4a1 1 0 01-1 1zm-43-4h-2v2h2zm21-21h-2v2h2zm21 21h-2v2h2zm-22.93-12.51a.52.52 0 01.1-.18l.01-.03.03-.03a1 1 0 01.2-.21l.06-.04c.06-.04.12-.08.19-.1l.04-.02.09-.01.05-.01.16-.03.15.03h.04l.11.01.04.02.19.1.02.02.02.01a.92.92 0 01.24.25l.02.03c.04.05.08.12.1.18l.03.05c.02.07 2.33 7.26 8.51 10.59.26.14.45.39.51.68a.97.97 0 01-.2.82 23.7 23.7 0 00-3.99 8.81 8.02 8.02 0 012.21 5.57 1 1 0 01-1 1h-14a1 1 0 01-1-1 8.02 8.02 0 012.21-5.57 23.66 23.66 0 00-3.99-8.8 1 1 0 01.31-1.51c6.21-3.34 8.49-10.52 8.51-10.59l.03-.04zm.93 20.49a6 6 0 00-5.92 5.02h11.84a6 6 0 00-5.92-5.02zm-4.06-.9a8.17 8.17 0 018.12 0 25.8 25.8 0 013.47-7.78 20.33 20.33 0 01-6.53-6.96v6.93a2 2 0 01-.97 3.73 2.03 2.03 0 01-2.03-2 2 2 0 011-1.7v-6.96a20.33 20.33 0 01-6.53 6.96 25.8 25.8 0 013.47 7.78z"/>
<path id="def-strawberry-a" d="M873.26 13427.96a7.49 7.49 0 01-4.13-1.21 20.45 20.45 0 012.02 8.92c0 10.41-17.26 18.25-28.46 18.25-3.71 0-6.53-.86-8.17-2.48l-.1-.1c-3.9-4.01-2.65-13.97.62-21.78 3.77-9.01 9.53-14.39 15.41-14.39 3.1 0 6.17.68 8.97 1.99a8.12 8.12 0 01-.65-1.24c-1.09-2.7-.53-5.87 1.68-9.44a1 1 0 011.11-.45c.21.06 5.12 1.38 6.8 5.49.8 2.19.7 4.61-.29 6.72 1.25-.51 2.58-.79 3.92-.83 5.12 0 7.74 4.75 8.4 7.26a.97.97 0 01-.45 1.1 12.95 12.95 0 01-6.68 2.19zm-36.36 2.36c-3.42 8.19-3.85 16.84-.97 19.69l.08.09c1.26 1.18 3.62 1.82 6.68 1.82a38.27 38.27 0 0017.26-4.82c3.43-1.92 9.18-5.96 9.18-11.43a18.4 18.4 0 00-18.68-18.5c-5.93 0-10.89 6.79-13.55 13.15zm29.59-18.05c-.97-2.38-3.49-3.6-4.73-4.07-1.52 2.71-1.89 5.05-1.12 6.96.96 2.37 3.48 3.6 4.73 4.08 1.52-2.71 1.89-5.05 1.12-6.97zm5.5 7.13c-1.75.08-3.45.6-4.95 1.51.59 1.54 2.36 5.06 6.22 5.06 1.75-.08 3.45-.6 4.94-1.5-.59-1.55-2.36-5.07-6.21-5.07zm-13.43 13.54h3v3h-3zm-4-5h3v3h-3zm2 13h-3v-3h3zm-7-8h3v3h-3zm0-9h3v3h-3zm2 22h-3v-3h3zm-7-8h3v3h-3zm0-9h3v3h-3zm-5 14h3v3h-3zm0-9h3v3h-3z"/>
<path id="def-telegram-a" d="M823.8 272.93l-4.09 20.05c-.3 1.42-1.16 1.76-2.36 1.1l-6.52-4.77-3.13 3c-.55.47-.75.66-1.27.65-.5 0-.74-.3-1.03-1.1l-2.4-7.29-6.26-1.94c-1.01-.32-1.06-1.66.31-2.05l25.01-9.39c1.14-.52 2.18 0 1.74 1.74zm-17.39 18.55l.6-5.26 11.83-10.54c.31-.36.09-.88-.61-.42l-14.24 8.87z"/>
<path id="def-tm-a" d="M1406.46 346.34l13.28-8.34c.65-.44.86.05.57.39l-11.02 9.91-.57 4.96zm16.84-12.16l-23.32 8.83c-1.27.37-1.24 1.62-.3 1.93l5.84 1.82 2.24 6.86c.28.75.5 1.04.96 1.04.49 0 .67-.18 1.19-.62.58-.55 1.5-1.43 2.92-2.83l6.08 4.49c1.12.62 1.92.3 2.21-1.04l3.8-18.85c.41-1.63-.55-2.12-1.62-1.63z"/>
<path id="def-trash-a" d="M1175 9805h-1.09l-1.8 13.12a2.15 2.15 0 01-2.11 1.88h-8a2.14 2.14 0 01-2.1-1.88l-1.78-13.12H1157a1 1 0 010-2h5v-1a3 3 0 013-3h2a3 3 0 013 3v1h5a1 1 0 010 2zm-7-3a1 1 0 00-1-1h-2a1 1 0 00-1 1v1h4zm-7.87 3l1.75 12.9c.02.05.07.09.12.1h8c.06-.01.1-.05.12-.11l1.78-12.89zm6.87 3h2v6h-2zm-4 0h2v6h-2z"/>
<path id="def-triangle-a" d="M1238 6883l7.22 7.22 7.22-7.22z"/>
<path id="def-user-circle-a" d="M1265.24 30.18a10 10 0 01-2.18 10.9 6.94 6.94 0 00-4.7-4.69 5 5 0 10-4.66.01c-2.24.72-4 2.47-4.72 4.71a10 10 0 1116.26-10.93zm-6.22 1.82a3 3 0 11-6-.01 3 3 0 016 .01zm-8.3 10.48c.4-2.6 2.65-4.5 5.28-4.48 2.73 0 5.1 1.96 5.27 4.37l.03.09a9.9 9.9 0 01-10.57.02zM1256 46a12.01 12.01 0 000-24 12 12 0 100 24z"/>
<path id="def-vb-a" d="M955.45 276.38c.68 3.25.79 6.51-.02 9.76-.14.57-.36 1.11-.58 1.65-.84 2.05-2.5 3.13-4.57 3.73-1.63.48-3.31.69-5 .82-.89.07-2.29.03-3.18.02-.76-.01-.55-.04-1.04.45-.96.97-1.84 1.82-2.76 2.84a28 28 0 01-1.35 1.35v-4.93c0-.25-.07-.4-.3-.5-.26-.1-.5-.24-.75-.34a6.95 6.95 0 01-4.35-4.98 19.93 19.93 0 01-.51-6.16c.07-1.4.26-2.79.64-4.15a6.8 6.8 0 013.48-4.25 13.83 13.83 0 014.79-1.47 25.9 25.9 0 019.8.59 8.9 8.9 0 013.5 1.69 6.59 6.59 0 012.2 3.88zm-12.05-1.52c.54.04 1.07.15 1.6.28 1.98.5 3.52 1.53 4.32 3.43.42.99.63 2.02.7 3.08.02.27.15.42.43.42.27-.01.38-.19.39-.43.02-.21.01-.42.01-.64a7.41 7.41 0 00-1.39-4.12c-1.49-1.96-3.43-2.7-6-2.82-.31-.02-.49.1-.51.42-.01.31.21.36.45.38zm4.39 4.61c.11.4.21.81.26 1.22.03.27-.03.64.42.65.32.01.4-.13.43-.67a4.58 4.58 0 00-.68-2.46c-.96-1.52-2.37-2.16-4.16-2.32-.28-.03-.48.08-.52.37-.05.3.14.44.41.48.55.08 1.08.22 1.6.4a3.32 3.32 0 012.24 2.33zm-2.22-1.46a2.29 2.29 0 00-.89-.22c-.38.03-.58.19-.58.45.01.33.3.33.52.39l.27.06c.72.19 1.13.65 1.27 1.36.03.13.04.27.08.4.06.18.18.31.4.31.21-.01.34-.13.39-.32l.04-.35a2.4 2.4 0 00-1.5-2.08zm4.89 7.94c-.78-.65-1.6-1.25-2.47-1.78-1.02-.62-1.77-.45-2.47.49l-.11.14c-.32.39-.72.54-1.22.4a5.89 5.89 0 01-1.51-.74 6.76 6.76 0 01-2.77-3.19c-.35-.82-.19-1.35.54-1.88l.28-.2c.55-.45.68-.89.37-1.52a9.94 9.94 0 00-2.3-3.05 1.3 1.3 0 00-.97-.36 2.9 2.9 0 00-2.62 2.74c-.01.37.08.78.24 1.17 2.23 5.38 6.16 9.1 11.6 11.36.4.17.82.27 1.25.15a3.75 3.75 0 002.55-2.16c.28-.61.14-1.13-.39-1.57z"/>
<path id="def-ynadex-a" d="M471.93 10326.44h-.59c-.92 0-1.8-.64-1.8-2.24 0-1.67.83-2.35 1.68-2.35h.7v4.59zm.92-5.44h-1.6c-1.55 0-2.87 1.13-2.87 3.33 0 1.32.64 2.3 1.78 2.78l-2.13 3.68c-.07.12 0 .21.1.21h1c.08 0 .14-.03.17-.1l1.93-3.6h.7v3.6c0 .05.04.1.1.1h.86c.08 0 .11-.04.11-.1v-9.77c0-.09-.06-.13-.15-.13z"/>
<path id="def-ytube-a" d="M1343.37 349.72v-9.44l6.27 4.72zm-7.81-14.03a3.54 3.54 0 00-3.56 3.51v11.6a3.54 3.54 0 003.56 3.51h19.88a3.54 3.54 0 003.56-3.5V339.2a3.54 3.54 0 00-3.56-3.51h-19.88z"/>
</defs>
<symbol id="icon-arrow-chevron" viewBox="0 0 9 15"><path d="M7.07.862L0 7.93 7.072 15l1.06-1.06-6.011-6.01L8.13 1.922 7.07.862z"/></symbol>
<symbol id="icon-arrow-down" viewBox="0 0 8 5"><use xlink:href="#def-arrow-down-a" transform="translate(-223 -20813)"/></symbol>
<symbol id="icon-arrow-left" viewBox="0 0 18 12"><path d="M.1 6.3c-.1-.3 0-.6.1-.8l4.3-4.3c.3-.3.7-.3 1 0 .3.3.3.7 0 1l-3 3.1h14.1c.4 0 .7.3.7.7 0 .4-.3.7-.7.7H2.5l3.1 3.1c.3.3.3.8 0 1-.2.2-.3.2-.4.3-.2.1-.5 0-.7-.2L.2 6.6c-.1-.1-.1-.2-.1-.3z"/></symbol>
<symbol id="icon-arrow-menu" viewBox="0 0 10 5"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 0l5 5 5-5H0z"/></symbol>
<symbol id="icon-arrow-right" viewBox="0 0 15 12"><path d="M14.19 5.77c.11.26.05.57-.15.78l-4.32 4.33a.72.72 0 01-1.02 0 .72.72 0 010-1.02l3.09-3.1H.69A.72.72 0 010 6.04c0-.38.31-.7.69-.72h11.1L8.7 2.23a.73.73 0 01.33-1.21c.24-.06.51.01.69.19l4.32 4.32a.6.6 0 01.15.24z"/></symbol>
<symbol id="icon-arrow" viewBox="0 0 20 17"><use xlink:href="#def-arrow-a" transform="translate(-1033 -789)"/></symbol>
<symbol id="icon-be" viewBox="0 0 25 16"><use xlink:href="#def-be-a" transform="translate(-39 -27)"/></symbol>
<symbol id="icon-be2-mob" viewBox="0 0 34 34"><path d="M15.426 16.508s1.507-.112 1.507-1.879S15.7 12 14.138 12H9v9.875h5.138s3.137.099 3.137-2.915c0 0 .137-2.452-1.85-2.452zm-4.162-2.753h2.874s.699 0 .699 1.027c0 1.028-.411 1.177-.877 1.177h-2.696v-2.204zm2.742 6.365h-2.742v-2.64h2.874s1.041-.013 1.041 1.357c0 1.142-.761 1.271-1.173 1.283zM23.408 12.582h-4.074v1.216h4.074v-1.216zM21.458 14.513c-3.797 0-3.794 3.793-3.794 3.793s-.26 3.775 3.794 3.775c0 0 3.38.193 3.38-2.626H23.1s.058 1.062-1.584 1.062c0 0-1.737.116-1.737-1.718h5.116s.56-4.286-3.437-4.286zm1.545 2.968h-3.244s.213-1.522 1.738-1.522 1.506 1.522 1.506 1.522z"/></symbol>
<symbol id="icon-be2" viewBox="0 0 56 56"><path d="M27.475 27.946s1.987-.148 1.987-2.479c0-2.33-1.625-3.467-3.685-3.467H19v13.024h6.777s4.137.13 4.137-3.844c0 0 .18-3.234-2.439-3.234zm-5.489-3.631h3.791s.921 0 .921 1.355-.542 1.551-1.156 1.551h-3.556v-2.906zm3.616 8.394h-3.616v-3.48h3.79s1.374-.018 1.374 1.788c0 1.506-1.004 1.677-1.548 1.692zM38.004 22.767H32.63v1.604h5.373v-1.604zM35.432 25.314c-5.009 0-5.004 5.003-5.004 5.003s-.344 4.98 5.004 4.98c0 0 4.456.254 4.456-3.464h-2.292s.077 1.4-2.088 1.4c0 0-2.291.154-2.291-2.266h6.748s.738-5.653-4.533-5.653zm2.037 3.915H33.19s.28-2.008 2.291-2.008c2.013 0 1.987 2.008 1.987 2.008z"/></symbol>
<symbol id="icon-briefcase" viewBox="834 13519 48 44"><path d="M836.5 13563c-1.4 0-2.5-1.2-2.5-2.6v-19.4c0 .6.4 1 1 1h1v18.4c0 .3.2.6.5.6h42.9c.3 0 .5-.3.5-.6v-18.4h1c.6 0 1-.4 1-1s-.4-1-1-1h-1v-10.4c0-.3-.2-.5-.5-.6h-42.9c-.3 0-.5.3-.5.6v10.4h-1c-.6 0-1 .4-1 1v-11.4c0-1.4 1.1-2.5 2.5-2.6H849v1c0 .6.4 1 1 1s1-.4 1-1v-1h14v1c0 .6.4 1 1 1 .3 0 .5-.1.7-.3.2-.2.3-.4.3-.7v-1h12.5c1.4 0 2.5 1.2 2.5 2.6v30.9c0 1.4-1.1 2.6-2.5 2.6h-43zm18.4-21H836v-2h18.9c.6 0 1 .4 1 1s-.4 1-1 1zm25.1-2v2h-18.9c-.6 0-1-.4-1-1s.4-1 1-1H880zm-13-16.8c0-2.3-1.9-4.2-4.2-4.2h-9.6c-2.3 0-4.2 1.9-4.2 4.2v3.8h2v-3.8c0-1.2 1-2.2 2.2-2.2h9.6c1.2 0 2.2 1 2.2 2.2v3.8h2v-3.8z"/><clipPath id="def-briefcase-b"><use xlink:href="#def-briefcase-a" overflow="visible"/></clipPath><g clip-path="url(#def-briefcase-b)"><path stroke-width="4" stroke-miterlimit="50" d="M855 13538c0-1.7 1.3-3 3-3s3 1.3 3 3v7c0 1.7-1.3 3-3 3s-3-1.3-3-3v-7z"/></g></symbol>
<symbol id="icon-burger" viewBox="0 0 20 14"><g fill-rule="evenodd"><path d="M0 0h20v2H0zM0 6h20v2H0zM0 12h20v2H0z"/></g></symbol>
<symbol id="icon-cancel-circle" viewBox="0 0 24 24"><path d="M12 24a12 12 0 110-24 12 12 0 010 24zm0-22a10 10 0 100 20 10 10 0 000-20zm4.71 13.29L13.41 12l3.3-3.29a1 1 0 00-.02-1.4 1 1 0 00-1.4-.02L12 10.59l-3.29-3.3a1 1 0 00-1.4.02 1 1 0 00-.02 1.4l3.3 3.29-3.3 3.29a1 1 0 00.02 1.4 1 1 0 001.4.02l3.29-3.3 3.29 3.3a1 1 0 001.42 0 1 1 0 000-1.42z"/></symbol>
<symbol id="icon-clip" viewBox="0 0 25 22"><path d="M12.1 21.37a1.02 1.02 0 01-.71-1.73L21.74 9.11a4.19 4.19 0 000-5.87 4.04 4.04 0 00-5.78 0l-12 12.21c-.59.49-.94 1.2-.97 1.97.05.49.28.95.63 1.29.31.35.77.53 1.23.48.74-.17 1.4-.57 1.89-1.15l9.42-9.58a.98.98 0 011.41 0c.39.4.39 1.04 0 1.44l-9.42 9.58A5.3 5.3 0 015.1 21.2a3.37 3.37 0 01-2.89-1.05A4.16 4.16 0 011 17.54a4.62 4.62 0 011.55-3.53l12-12.2a6.03 6.03 0 018.6 0 6.24 6.24 0 010 8.74L12.8 21.07a.98.98 0 01-.7.3z"/></symbol>
<symbol id="icon-clock" viewBox="0 0 24 24"><path d="M0 12a12 12 0 1124 0 12 12 0 01-24 0zm2 0a10 10 0 1020 0 10 10 0 00-20 0zm14 5a1 1 0 00.71-1.71L13 11.59V5a1 1 0 00-1-1 1 1 0 00-1 1v7a1 1 0 00.08.38c.05.12.12.24.21.33l4 4c.19.18.45.29.71.29z"/></symbol>
<symbol id="icon-close-menu" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.636 2.303L13.97.636 8.136 6.469 2.303.636.636 2.303 6.47 8.136.636 13.97l1.667 1.667 5.833-5.833 5.833 5.833 1.667-1.666-5.833-5.834 5.833-5.833z"/></symbol>
<symbol id="icon-close" viewBox="0 0 16 15"><g fill-rule="evenodd"><path d="M1.963.045l13.791 12.86-1.364 1.463L.6 1.508z"/><path d="M14.39.045L.6 12.905l1.364 1.463 13.79-12.86z"/></g></symbol>
<symbol id="icon-comments" viewBox="0 0 16 16"><use xlink:href="#def-comments-a" transform="translate(-748 -8949)"/></symbol>
<symbol id="icon-eaye" viewBox="0 0 16 11"><use xlink:href="#def-eaye-a" transform="translate(-614 -8951)"/></symbol>
<symbol id="icon-fb" viewBox="0 0 13 25"><path d="M8.44 25V13.6h3.83l.58-4.45H8.44V6.31c0-1.28.36-2.16 2.2-2.16H13V.18A29.7 29.7 0 009.57 0c-3.4 0-5.73 2.07-5.73 5.87v3.28H0v4.45h3.84V25z"/></symbol>
<symbol id="icon-fb2-mob" viewBox="0 0 34 34"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.415 24.638v-7.131h2.457l.366-2.784h-2.823v-1.776c0-.8.23-1.351 1.411-1.351h1.514v-2.49A21.931 21.931 0 0019.14 9c-2.182 0-3.677 1.295-3.677 3.672v2.051H13v2.784h2.463v7.13h2.952z"/></symbol>
<symbol id="icon-fb2" viewBox="0 0 56 56"><path fill-rule="evenodd" clip-rule="evenodd" d="M30.142 38.625V29.22h3.24l.483-3.671H30.14v-2.343c0-1.056.305-1.782 1.862-1.782H34V18.14a28.937 28.937 0 00-2.902-.14c-2.877 0-4.849 1.708-4.849 4.843v2.706H23v3.671h3.25v9.405h3.892z"/></symbol>
<symbol id="icon-file" viewBox="0 0 24 20"><use xlink:href="#def-file-a" transform="translate(-491 -9437)"/></symbol>
<symbol id="icon-github-mob" viewBox="0 0 34 34"><path d="M17.2 10c-3.978 0-7.2 3.307-7.2 7.386 0 3.263 2.063 6.031 4.923 7.007.36.07.492-.16.492-.355 0-.175-.006-.64-.009-1.256-2.003.445-2.425-.99-2.425-.99-.328-.853-.801-1.081-.801-1.081-.652-.458.05-.449.05-.449.723.052 1.103.761 1.103.761.642 1.13 1.685.803 2.097.615.065-.478.25-.803.456-.988-1.599-.185-3.28-.82-3.28-3.65 0-.806.28-1.464.741-1.981-.08-.187-.324-.938.063-1.955 0 0 .603-.198 1.98.757a6.754 6.754 0 011.8-.25 6.754 6.754 0 011.8.25c1.368-.955 1.971-.757 1.971-.757.387 1.017.144 1.768.072 1.955.46.517.738 1.175.738 1.981 0 2.838-1.683 3.462-3.285 3.644.252.222.486.674.486 1.366 0 .989-.009 1.783-.009 2.023 0 .193.126.424.495.35 2.881-.969 4.942-3.739 4.942-6.997 0-4.079-3.224-7.386-7.2-7.386z"/></symbol>
<symbol id="icon-github" viewBox="0 0 56 56"><path d="M27.913 19C22.436 19 18 23.362 18 28.741c0 4.305 2.84 7.955 6.778 9.242.496.092.677-.21.677-.468 0-.232-.008-.844-.012-1.657-2.758.588-3.34-1.306-3.34-1.306-.45-1.125-1.102-1.425-1.102-1.425-.898-.604.07-.592.07-.592.995.068 1.518 1.004 1.518 1.004.884 1.49 2.32 1.059 2.887.81.09-.63.344-1.059.628-1.302-2.202-.244-4.515-1.082-4.515-4.814 0-1.063.384-1.932 1.02-2.614-.112-.246-.446-1.236.086-2.578 0 0 .83-.26 2.727.999a9.676 9.676 0 012.478-.329 9.676 9.676 0 012.478.329c1.883-1.26 2.714-.999 2.714-.999.532 1.342.198 2.332.099 2.578a3.737 3.737 0 011.016 2.614c0 3.742-2.317 4.566-4.523 4.805.347.293.67.89.67 1.803 0 1.303-.013 2.35-.013 2.667 0 .255.173.56.681.463 3.966-1.279 6.804-4.932 6.804-9.23 0-5.38-4.439-9.741-9.913-9.741z"/></symbol>
<symbol id="icon-gplus" viewBox="0 0 13 8"><use xlink:href="#def-gplus-a" transform="translate(-466 -10165)"/><use xlink:href="#def-gplus-b" transform="translate(-466 -10165)"/></symbol>
<symbol id="icon-head" viewBox="0 0 54 45"><g transform="translate(2 2)" fill-rule="evenodd"><path d="M9.23 19.458v17.61s14.232 8.328 28.462 0V19.231" fill-rule="nonzero"/><path stroke-width="3" fill-rule="nonzero" stroke-linecap="round" stroke-linejoin="round" d="M46.923 13.25L22.99 0 0 14.007l23.179 13.44L46.923 13.25V30"/><path d="M9.23 19.458v17.61s14.232 8.328 28.462 0V19.231" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><circle stroke-width="3" fill-rule="nonzero" stroke-linecap="round" stroke-linejoin="round" cx="47.308" cy="32.692" r="2.692"/><path d="M32.733 18.745c.53.295 1.074.575 1.604.87 1.302.7 2.468-1.164 1.181-1.865-3.694-1.99-7.403-3.98-11.097-5.957-.53-.294-1.075-.575-1.604-.869-1.302-.7-2.468 1.163-1.181 1.864 3.694 1.99 7.403 3.981 11.097 5.957zM36.733 15.745c.53.295 1.074.575 1.604.87 1.302.7 2.468-1.164 1.181-1.865a4281.61 4281.61 0 00-11.097-5.957c-.53-.294-1.075-.575-1.604-.869-1.302-.7-2.468 1.163-1.181 1.864 3.694 1.99 7.403 3.981 11.097 5.957z" fill-rule="nonzero"/></g></symbol>
<symbol id="icon-inst" viewBox="0 0 26 26"><use xlink:href="#def-inst-a" transform="translate(-1468 -332)"/><use xlink:href="#def-inst-b" transform="translate(-1468 -332)"/><use xlink:href="#def-inst-c" transform="translate(-1468 -332)"/></symbol>
<symbol id="icon-instagram-mob" viewBox="0 0 34 34"><path fill-rule="evenodd" clip-rule="evenodd" d="M24.027 20.23a3.801 3.801 0 01-3.797 3.797h-6.433A3.801 3.801 0 0110 20.23v-6.433A3.801 3.801 0 0113.797 10h6.433a3.801 3.801 0 013.797 3.797v6.433zm-7.014-7.052a3.84 3.84 0 00-3.835 3.835 3.84 3.84 0 003.835 3.836 3.84 3.84 0 003.836-3.836 3.84 3.84 0 00-3.836-3.835zm0 6.848A3.016 3.016 0 0114 17.013 3.016 3.016 0 0117.013 14a3.016 3.016 0 013.013 3.013 3.016 3.016 0 01-3.013 3.013zm2.794-7.077c0-.625.509-1.133 1.133-1.133.625 0 1.134.508 1.134 1.133s-.509 1.134-1.134 1.134a1.135 1.135 0 01-1.133-1.134z"/></symbol>
<symbol id="icon-instagram" viewBox="0 0 56 56"><path fill-rule="evenodd" clip-rule="evenodd" d="M37.5 32.492a5.014 5.014 0 01-5.008 5.008h-8.484A5.014 5.014 0 0119 32.492v-8.484A5.014 5.014 0 0124.008 19h8.484a5.014 5.014 0 015.008 5.008v8.484zm-9.25-9.3a5.064 5.064 0 00-5.058 5.058c0 2.79 2.269 5.059 5.058 5.059 2.79 0 5.059-2.27 5.059-5.059 0-2.79-2.27-5.058-5.059-5.058zm0 9.032a3.978 3.978 0 01-3.974-3.974 3.978 3.978 0 013.974-3.974 3.978 3.978 0 013.974 3.974 3.978 3.978 0 01-3.974 3.974zm3.685-9.334c0-.825.67-1.495 1.494-1.495.825 0 1.495.67 1.495 1.495 0 .824-.67 1.495-1.495 1.495-.824 0-1.494-.67-1.494-1.495z"/></symbol>
<symbol id="icon-like-down" viewBox="0 0 20 22"><use xlink:href="#def-like-down-a" transform="translate(-995 -522)"/></symbol>
<symbol id="icon-like-up" viewBox="0 0 20 22"><use xlink:href="#def-like-up-a" transform="translate(-934 -520)"/></symbol>
<symbol id="icon-like" viewBox="0 0 16 16"><use xlink:href="#def-like-a" transform="translate(-687 -8946)"/></symbol>
<symbol id="icon-link" viewBox="0 0 19 21"><use xlink:href="#def-link-a" transform="translate(-624 -1161)"/><use xlink:href="#def-link-b" transform="translate(-624 -1161)"/></symbol>
<symbol id="icon-mail" viewBox="0 0 16 12"><use xlink:href="#def-mail-a" transform="translate(-1042 -260)"/><use xlink:href="#def-mail-b" transform="translate(-1042 -260)"/></symbol>
<symbol id="icon-minus-zoom" viewBox="0 0 26 2"><path stroke-linecap="square" stroke-miterlimit="50" stroke-width="2" d="M1.5 1h23.19"/></symbol>
<symbol id="icon-outside" viewBox="0 0 21 21"><use xlink:href="#def-outside-a" transform="translate(-1185 -9211)"/></symbol>
<symbol id="icon-pencil" viewBox="0 0 20 21"><use xlink:href="#def-pencil-a" transform="translate(-1185 -9800)"/></symbol>
<symbol id="icon-phone" viewBox="0 0 21 22"><use xlink:href="#def-phone-a" transform="translate(-716 -19)"/></symbol>
<symbol id="icon-play-circle" viewBox="0 0 24 24"><path d="M12 24a12 12 0 110-24 12 12 0 010 24zM2 12a10 10 0 1020 0 10 10 0 00-20 0z"/><path d="M11.01 14.52c-.05.28.1.55.35.67.25.13.55.07.74-.14l2.85-2.94c.26-.27.27-.7.02-.98l-2.83-2.94a.69.69 0 00-.75-.13.67.67 0 00-.38.65z"/></symbol>
<symbol id="icon-play-reviews" viewBox="0 0 9 9"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.074 4.507c0 .41-.745.741-.745.741l-5.854 2.91a.619.619 0 01-.563-.054.649.649 0 01-.294-.494V1.392A.586.586 0 01.895.853a.557.557 0 01.595.01l5.839 2.903s.745.331.745.741z"/></symbol>
<symbol id="icon-play" viewBox="0 0 17 17"><path d="M17 9.02c0 .88-1.6 1.59-1.6 1.59L2.84 16.86c-.4.16-.84.12-1.21-.12A1.4 1.4 0 011 15.68V2.33c-.03-.47.2-.92.6-1.16.39-.24.89-.23 1.27.02L15.4 7.43s1.6.71 1.6 1.59z"/></symbol>
<symbol id="icon-plus-zoom" viewBox="0 0 24 24"><path d="M23 13H13v10a1 1 0 01-1 1 1 1 0 01-1-1V13H1a1 1 0 01-1-1 1 1 0 011-1h10V1a1 1 0 011-1 1 1 0 011 1v10h10a1 1 0 011 1 1 1 0 01-1 1z"/></symbol>
<symbol id="icon-plus" viewBox="0 0 16 16"><use xlink:href="#def-plus-a" transform="translate(-1208 -4164)"/></symbol>
<symbol id="icon-search" viewBox="0 0 22 22"><use xlink:href="#def-search-a" transform="translate(-1083 -22)"/></symbol>
<symbol id="icon-shape" viewBox="0 0 48 38"><use xlink:href="#def-shape-a" transform="translate(-832 -13296)"/></symbol>
<symbol id="icon-share" viewBox="0 0 26 24"><path d="M21.03 8a3.95 3.95 0 01-3.02-1.41l-9.08 4.54c.12.55.13 1.11.02 1.66l9.06 4.61a3.98 3.98 0 11-.9 1.79l-9.05-4.61a4 4 0 11-.05-5.22l9.1-4.55A4 4 0 1121.03 8zm0 14a2 2 0 002-2 2 2 0 10-2 2zm-18-10a2 2 0 104 0 2 2 0 00-4 0zm16-8a2 2 0 104 0 2 2 0 00-4 0z"/></symbol>
<symbol id="icon-smile" viewBox="0 0 23 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.5 23.278c-6.351 0-11.5-5.148-11.5-11.5C0 5.427 5.149.278 11.5.278S23 5.427 23 11.778c-.005 6.35-5.15 11.495-11.5 11.5zm0-21.083a9.583 9.583 0 00-9.583 9.583 9.584 9.584 0 1019.167 0A9.599 9.599 0 0011.5 2.195zm-6.613 12.87a7.38 7.38 0 006.613 4.38 7.333 7.333 0 006.613-4.38.957.957 0 00-.93-1.427.96.96 0 00-.796.603 5.277 5.277 0 01-9.774 0 .959.959 0 00-1.726.824zm10.447-3.287a1.917 1.917 0 110-3.833 1.917 1.917 0 010 3.833zM5.75 9.862a1.917 1.917 0 103.833 0 1.917 1.917 0 00-3.833 0z"/></symbol>
<symbol id="icon-socials" viewBox="0 0 40 40"><g fill-rule="evenodd"><circle cx="20" cy="20" r="20"/><path d="M20.021 31h-.485C13.717 31 9 26.08 9 20.009c0-6.07 4.717-10.991 10.536-10.991.309-.024.619-.024.928 0 5.819 0 10.536 4.92 10.536 10.99C31 26.08 26.283 31 20.464 31h-.443zm0-2.198h.316c4.655 0 8.43-3.937 8.43-8.793s-3.775-8.793-8.43-8.793h-.632c-4.655 0-8.43 3.937-8.43 8.793s3.775 8.793 8.43 8.793h.316z"/><path d="M19.382 31C13.648 31 9 26.08 9 20.009c0-6.07 4.648-10.991 10.382-10.991.305-.024.61-.024.914 0 .252.02.488.138.665.33 5.385 5.95 5.385 15.338 0 21.29a.998.998 0 01-1.142.252.992.992 0 01-.437.11zm.322-19.784h-.238c-4.588 0-8.306 3.937-8.306 8.793s3.718 8.793 8.306 8.793a.981.981 0 01.26 0c4.23-5.007 4.23-12.58 0-17.586h-.022z" clip-rule="evenodd"/><path d="M19.91 30.967a1.101 1.101 0 01-.419-.077 1.101 1.101 0 01-1.21-.253c-5.708-5.95-5.708-15.337 0-21.288a1.1 1.1 0 01.704-.33 6.664 6.664 0 011.012 0C26.074 9.02 31 13.94 31 20.01S26.074 31 19.997 31l-.088-.033zm-.353-19.783a13.177 13.177 0 000 17.585c.091-.012.184-.012.275 0 4.861 0 8.802-3.936 8.802-8.792s-3.94-8.793-8.802-8.793h-.275z" clip-rule="evenodd"/><path d="M27.944 17H11.056C10.473 17 10 16.552 10 16s.473-1 1.056-1h16.888c.583 0 1.056.448 1.056 1s-.473 1-1.056 1zM27.944 25H11.056C10.473 25 10 24.552 10 24s.473-1 1.056-1h16.888c.583 0 1.056.448 1.056 1s-.473 1-1.056 1z"/></g></symbol>
<symbol id="icon-strawberry" viewBox="0 0 49 48"><use xlink:href="#def-strawberry-a" transform="translate(-832 -13406)"/></symbol>
<symbol id="icon-telegram" viewBox="0 0 29 24"><use xlink:href="#def-telegram-a" transform="translate(-795 -271)"/></symbol>
<symbol id="icon-telegram2-mob" viewBox="0 0 34 34"><path d="M14.95 19.329l-.25 3.528c.358 0 .514-.154.7-.34l1.683-1.607 3.486 2.553c.64.356 1.09.168 1.263-.588L24.12 12.15c.204-.946-.341-1.316-.964-1.084l-13.452 5.15c-.918.357-.904.869-.156 1.1l3.44 1.07 7.988-4.998c.375-.25.717-.112.436.137L14.95 19.33z"/></symbol>
<symbol id="icon-telegram2" viewBox="0 0 56 56"><path d="M25.848 30.985l-.331 4.653c.473 0 .678-.203.924-.447l2.22-2.121 4.598 3.367c.843.47 1.437.223 1.665-.776l3.018-14.143.001-.001c.268-1.247-.45-1.734-1.272-1.428L18.929 26.88c-1.211.47-1.193 1.145-.206 1.451l4.536 1.411 10.536-6.593c.495-.328.946-.146.575.182l-8.522 7.653z"/></symbol>
<symbol id="icon-tm" viewBox="0 0 26 22"><use xlink:href="#def-tm-a" transform="translate(-1399 -334)"/></symbol>
<symbol id="icon-trash" viewBox="0 0 20 21"><use xlink:href="#def-trash-a" transform="translate(-1156 -9799)"/></symbol>
<symbol id="icon-triangle" viewBox="0 0 16 8"><use xlink:href="#def-triangle-a" transform="translate(-1237 -6883)"/></symbol>
<symbol id="icon-tw" viewBox="0 0 18 15"><path d="M18 1.75c-.66.3-1.37.5-2.12.59A3.7 3.7 0 0017.5.27c-.71.43-1.5.74-2.34.91a3.68 3.68 0 00-6.39 2.56c0 .3.03.58.09.85A10.45 10.45 0 011.25.69 3.75 3.75 0 002.4 5.68a3.67 3.67 0 01-1.68-.47v.05a3.75 3.75 0 002.97 3.67 3.51 3.51 0 01-1.67.06 3.7 3.7 0 003.45 2.6A7.33 7.33 0 010 13.14a10.37 10.37 0 005.66 1.68c6.79 0 10.51-5.7 10.51-10.64l-.01-.49A7.35 7.35 0 0018 1.76z"/></symbol>
<symbol id="icon-twitter-mob" viewBox="0 0 34 34"><path d="M24.406 12.386a6.16 6.16 0 01-1.702.466 2.937 2.937 0 001.3-1.632c-.572.34-1.202.58-1.873.715a2.952 2.952 0 00-5.109 2.02c0 .233.02.458.068.672a8.36 8.36 0 01-6.087-3.089 2.957 2.957 0 00.908 3.947 2.917 2.917 0 01-1.335-.363v.032a2.967 2.967 0 002.366 2.902c-.24.066-.502.097-.774.097-.189 0-.38-.01-.56-.05a2.981 2.981 0 002.76 2.057 5.934 5.934 0 01-3.661 1.26c-.242 0-.475-.011-.707-.04a8.314 8.314 0 004.53 1.325c5.435 0 8.406-4.502 8.406-8.404 0-.13-.004-.257-.01-.382a5.89 5.89 0 001.48-1.533z"/></symbol>
<symbol id="icon-twitter" viewBox="0 0 56 56"><path d="M38 21.828c-.707.31-1.46.515-2.244.615a3.874 3.874 0 001.713-2.153 7.783 7.783 0 01-2.47.943 3.894 3.894 0 00-6.738 2.664c0 .308.026.605.09.887a11.025 11.025 0 01-8.028-4.074 3.922 3.922 0 00-.533 1.969 3.9 3.9 0 001.73 3.237 3.847 3.847 0 01-1.76-.48v.043a3.913 3.913 0 003.12 3.827 3.887 3.887 0 01-1.02.129c-.25 0-.502-.015-.738-.067.505 1.543 1.937 2.677 3.64 2.714a7.827 7.827 0 01-4.83 1.66c-.32 0-.626-.013-.932-.052a10.966 10.966 0 005.976 1.748c7.167 0 11.086-5.938 11.086-11.085a9.95 9.95 0 00-.014-.503A7.77 7.77 0 0038 21.828z"/></symbol>
<symbol id="icon-user-circle" viewBox="0 0 24 24"><use xlink:href="#def-user-circle-a" transform="translate(-1244 -22)"/></symbol>
<symbol id="icon-vb" viewBox="0 0 25 27"><use xlink:href="#def-vb-a" transform="translate(-931 -270)"/></symbol>
<symbol id="icon-view-list" viewBox="0 0 15 15"><path d="M0 6V0h15v6zm0 9V9h15v6z"/></symbol>
<symbol id="icon-view-tile" viewBox="0 0 15 15"><path d="M0 6V0h6v6zm9 0V0h6v6zm0 9V9h6v6zm-9 0V9h6v6z"/></symbol>
<symbol id="icon-vk" viewBox="0 0 22 14"><path d="M10.61 13.8h1.3s.39-.04.59-.27c.19-.2.18-.59.18-.59s-.02-1.8.78-2.07c.8-.26 1.82 1.75 2.91 2.52.81.58 1.44.46 1.44.46l2.89-.05s1.52-.09.8-1.33c-.06-.1-.42-.92-2.15-2.59-1.82-1.75-1.58-1.47.61-4.5 1.33-1.84 1.87-2.97 1.7-3.45-.16-.46-1.14-.34-1.14-.34l-3.26.02s-.24-.03-.42.08-.29.36-.29.36-.52 1.43-1.2 2.64c-1.46 2.57-2.04 2.7-2.27 2.54-.56-.37-.42-1.49-.42-2.28 0-2.49.36-3.52-.71-3.79A5.26 5.26 0 0010.43 1c-1.16-.01-2.15.01-2.7.29-.38.19-.66.61-.49.63.22.03.71.14.97.51.33.47.32 1.53.32 1.53s.19 2.92-.45 3.29c-.44.25-1.04-.26-2.34-2.59-.66-1.19-1.16-2.5-1.16-2.5s-.1-.25-.27-.38c-.21-.16-.5-.21-.5-.21l-3.1.02s-.47.01-.64.22c-.15.19-.01.58-.01.58s2.43 5.89 5.17 8.87c2.52 2.72 5.38 2.54 5.38 2.54z"/></symbol>
<symbol id="icon-vk2-mob" viewBox="0 0 34 34"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.79 21.913h.947a.77.77 0 00.436-.201.795.795 0 00.13-.459s-.016-1.399.573-1.608c.588-.209 1.336 1.351 2.13 1.954.297.259.68.383 1.063.346l2.123-.032s1.116-.073.589-1.03a7.642 7.642 0 00-1.582-2.002c-1.337-1.35-1.153-1.134.451-3.473.978-1.424 1.367-2.3 1.245-2.67a.866.866 0 00-.832-.257l-2.4.016a.463.463 0 00-.305.056.702.702 0 00-.214.282 15.134 15.134 0 01-.886 2.042c-1.062 1.978-1.49 2.082-1.665 1.962-.405-.29-.306-1.15-.306-1.77 0-1.913.268-2.717-.511-2.926a4.053 4.053 0 00-1.123-.12 4.804 4.804 0 00-1.987.225c-.275.144-.48.466-.351.49.273.03.524.167.703.386.165.37.246.774.237 1.182 0 0 .145 2.26-.329 2.54-.32.194-.764-.2-1.719-1.993a17.581 17.581 0 01-.848-1.938.803.803 0 00-.198-.29.84.84 0 00-.367-.16l-2.276.016a.723.723 0 00-.466.169.581.581 0 00-.016.442s1.788 4.559 3.805 6.859c.99 1.217 2.427 1.931 3.95 1.962z"/></symbol>
<symbol id="icon-vk2" viewBox="0 0 56 56"><path fill-rule="evenodd" clip-rule="evenodd" d="M28.274 34.074h1.25c.213-.024.413-.117.574-.265.117-.177.177-.39.172-.605 0 0-.02-1.845.755-2.12.776-.276 1.763 1.78 2.811 2.576.391.342.895.506 1.4.456l2.802-.042s1.47-.096.775-1.358a10.079 10.079 0 00-2.085-2.64c-1.763-1.782-1.522-1.495.594-4.582 1.29-1.877 1.804-3.033 1.642-3.52a1.143 1.143 0 00-1.098-.34l-3.163.021a.61.61 0 00-.403.075.925.925 0 00-.282.37 19.972 19.972 0 01-1.17 2.694c-1.4 2.61-1.964 2.747-2.196 2.588-.534-.382-.403-1.516-.403-2.333 0-2.524.353-3.584-.675-3.86a5.345 5.345 0 00-1.48-.16 6.336 6.336 0 00-2.62.298c-.363.19-.635.615-.464.646.36.039.691.221.927.51.218.487.325 1.02.312 1.558 0 0 .192 2.98-.433 3.352-.423.254-1.007-.265-2.267-2.63a23.184 23.184 0 01-1.118-2.556 1.06 1.06 0 00-.262-.382 1.109 1.109 0 00-.484-.212l-3.002.021a.953.953 0 00-.615.223.767.767 0 00-.02.583s2.358 6.013 5.018 9.046c1.305 1.606 3.2 2.548 5.209 2.588z"/></symbol>
<symbol id="icon-yandex" viewBox="0 0 5 11"><path d="M4.847 0H3.259C1.7 0 .376 1.169.376 3.438c0 1.36.64 2.364 1.783 2.86L.028 10.092c-.07.123 0 .22.111.22h.99c.083 0 .139-.028.166-.097L3.231 6.49h.697v3.726c0 .041.041.097.097.097h.864c.083 0 .111-.042.111-.11V.138C5 .04 4.944 0 4.847 0zm-.92 5.61h-.584c-.92 0-1.81-.66-1.81-2.31 0-1.719.835-2.42 1.684-2.42h.71v4.73z" fill-rule="nonzero"/></symbol>
<symbol id="icon-ynadex" viewBox="0 0 5 10"><use xlink:href="#def-ynadex-a" transform="translate(-468 -10321)"/></symbol>
<symbol id="icon-ytube" viewBox="0 0 27 20"><use xlink:href="#def-ytube-a" transform="translate(-1332 -335)"/></symbol>
</svg>
<div class="header-banner topBanner" data-type="header" style="display: block; position: sticky; top: 0; z-index: 999;">
<a data-source="207718" data-banner="226288" class="universal-notice js-universal-notice-notice universal-notice--webp universal-notice--bitrix universal-notice--active" href="https://skillbox.ru/sale/main/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_banners_header_all_all_skillbox" target="_blank" style="--banner-bg: #5927E9;--banner-color: #fff;--button-font-color: #000000;--button-bg-color: #FFFFFF;--banner-img-left: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_left/602754/f9ac17dd-a1d4-46c6-aa14-4f7b949defd1.png);--banner-img-left-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_left/602754/f9ac17dd-a1d4-46c6-aa14-4f7b949defd1.webp);--banner-img-center: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.png);--banner-img-center-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.webp);--banner-img-center-mobile: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.png);--banner-img-center-mobile-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_center/602507/232fc4a5-b130-4af2-a629-bdb293a4dd2e.webp);--banner-img-right: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_right/602755/ad7a7fe5-b8d3-47a3-885b-51a7971c12a9.png);--banner-img-right-webp: url(https://cdn.skillbox.pro/mainsite/banners/promo_picture_right/602755/ad7a7fe5-b8d3-47a3-885b-51a7971c12a9.webp);">
<span class="universal-notice__wrapper">
<b class="universal-notice__title">
Скидка до 55% и 3 курса в подарок
</b>
<span class="universal-timer js-universal-notice-timer js-universal-notice-active">
<span class="universal-timer__days js-universal-notice-days">2 дня</span>
<span class="js-universal-notice-hours">13</span>
:<span class="js-universal-notice-minutes">30</span>
:<span class="js-universal-notice-seconds">09</span>
</span>
<span class="universal-notice__button">Выбрать курс</span>
</span>
</a><script>
document.addEventListener('DOMContentLoaded', () => {
// Установите конечную дату
const deadline = new Date();
deadline.setDate(5);
deadline.setHours(0, 0, 0);
// Найдите элементы DOM
var timer = document.querySelector('.universal-timer');
const elDays = timer.querySelector('.js-universal-notice-days');
const elHours = timer.querySelector('.js-universal-notice-hours');
const elMinutes = timer.querySelector('.js-universal-notice-minutes');
const elSeconds = timer.querySelector('.js-universal-notice-seconds');
// Функция обновления таймера
const updateTimer = () => {
const now = new Date();
let diff = Math.max(0, deadline - now);
if (diff === 0) {
let lastDayOfMonth = new Date(now.getFullYear(), now.getMonth() + 1, 0);
let lastDay = lastDayOfMonth.getDate();
if (lastDay - now.getDate() < 4) {
deadline.setMonth(deadline.getMonth() + 1, 1);
} else {
deadline.setDate(deadline.getDate() + 4);
}
diff = Math.max(0, deadline - now);
}
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(diff / (1000 * 60 * 60 * 24));
var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)).toString();
var minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60)).toString();
var seconds = Math.floor((diff % (1000 * 60)) / 1000).toString();
if (timer) {
let dayTitles = ['день', 'дня', 'дней'];
let daySuffix = dayTitles[(days % 100 > 4 && days % 100 < 20) ? 2 : [2, 0, 1, 1, 1, 2][days % 10 < 5 ? days % 10 : 5]]
elDays.innerHTML = days + ' ' + daySuffix;
elHours.innerHTML = hours.padStart(2, '0');
elMinutes.innerHTML = minutes.padStart(2, '0');
elSeconds.innerHTML = seconds.padStart(2, '0');
}
};
updateTimer();
const timerId = setInterval(updateTimer, 1000);
});
</script>
<style>@font-face{font-display:swap;font-family:Graphik;font-weight:500;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Medium.woff2) format("woff2")}@font-face{font-display:swap;font-family:Graphik;font-weight:700;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Bold.woff2) format("woff2")}.universal-notice{position:sticky;z-index:5;top:0;box-sizing:border-box;text-decoration:none;display:none;justify-content:space-between;overflow:hidden;color:var(--banner-color);background-color:var(--banner-bg);font-family:Graphik,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:opacity .25s ease-in-out}.universal-notice--active{display:flex}.universal-notice--bitrix{z-index:1000}.universal-notice *,.universal-notice ::after,.universal-notice ::before{box-sizing:inherit}.universal-notice::after,.universal-notice::before{display:none;width:194px;height:56px;content:"";background-size:194px 56px;background-repeat:no-repeat}.universal-notice--no-webp::before{background-image:var(--banner-img-left)}.universal-notice--no-webp::after{background-image:var(--banner-img-right)}.universal-notice--webp::before{background-image:var(--banner-img-left-webp)}.universal-notice--webp::after{background-image:var(--banner-img-right-webp)}.universal-notice--new-design{position:static;margin:4px;border-radius:16px}.universal-notice--new-design::after,.universal-notice--new-design::before{width:166px;height:48px;background-size:166px 48px}.universal-notice__wrapper{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:12px;padding:12px;width:100%}.universal-notice--new-design .universal-notice__wrapper::after{height:48px}.universal-notice__title{font-weight:500;font-size:15px;line-height:16px}.universal-notice--new-design .universal-notice__title{font-size:14px;line-height:15px}.universal-timer{display:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;font-size:24px;line-height:26px}.universal-notice--new-design .universal-timer{font-size:22px;line-height:24px}.universal-timer__days{margin-right:8px}.universal-notice__button{grid-column:2/3;padding:6px 16px;border-radius:6px;color:var(--button-font-color);background-color:var(--button-bg-color);font-weight:500;font-size:14px;line-height:20px}.universal-notice-sticky{position:fixed;z-index:5;top:0;left:0;width:100%;padding:11px 8px;color:var(--banner-color);background-color:var(--banner-bg);text-align:center;transition:transform .3s ease-in-out;will-change:transform;transform:translateY(-200%)}.universal-notice-sticky--show{transform:translateY(0)}@media (min-width:360px) and (max-width:0px){.universal-notice__wrapper{padding:0 12px;grid-template-columns:1fr 56px auto}.universal-notice__wrapper::after{grid-column:2/3;grid-row:1/2;width:100%;height:56px;background-size:cover;background-repeat:no-repeat;content:""}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 48px auto}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile-webp)}.universal-notice__button{grid-column:3/4}}@media (min-width:360px){.universal-notice__wrapper{padding:0 12px;grid-template-columns:1fr 56px auto}.universal-notice__wrapper::after{grid-column:2/3;grid-row:1/2;width:100%;height:56px;background-size:cover;background-repeat:no-repeat;content:""}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 48px auto}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-mobile-webp)}.universal-notice__button{grid-column:3/4}}@media (min-width:768px){.universal-notice::before{background-position:right center;flex-shrink:0;display:block}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-webp)}}@media (min-width:768px) and (max-width:0px){.universal-notice::before{background-position:right center;flex-shrink:0;display:block}.universal-notice--no-webp .universal-notice__wrapper::after{background-image:var(--banner-img-center)}.universal-notice--webp .universal-notice__wrapper::after{background-image:var(--banner-img-center-webp)}}@media (min-width:1024px){.universal-notice::after,.universal-notice::before{width:250px;height:72px;background-size:250px 72px}.universal-notice--new-design{height:64px;border-radius:32px}.universal-notice--new-design::after,.universal-notice--new-design::before{width:226px;height:64px;background-size:226px 64px}.universal-notice__wrapper{grid-template-columns:1fr 72px auto;grid-gap:24px;padding-right:16px;padding-left:24px}.universal-notice__wrapper::after{height:72px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px auto}.universal-notice--new-design .universal-notice__wrapper::after{height:64px}.universal-notice__title{font-size:24px;line-height:26px}.universal-notice--new-design .universal-notice__title{font-size:22px;line-height:24px}.universal-notice__button{padding:10px 24px;border-radius:8px}.universal-notice-sticky{padding:14px 24px}}@media (min-width:1024px) and (max-width:0px){.universal-notice::after,.universal-notice::before{width:250px;height:72px;background-size:250px 72px}.universal-notice--new-design{height:64px;border-radius:32px}.universal-notice--new-design::after,.universal-notice--new-design::before{width:226px;height:64px;background-size:226px 64px}.universal-notice__wrapper{grid-template-columns:1fr 72px auto;grid-gap:24px;padding-right:16px;padding-left:24px}.universal-notice__wrapper::after{height:72px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px auto}.universal-notice--new-design .universal-notice__wrapper::after{height:64px}.universal-notice__title{font-size:24px;line-height:26px}.universal-notice--new-design .universal-notice__title{font-size:22px;line-height:24px}.universal-notice__button{padding:10px 24px;border-radius:8px}.universal-notice-sticky{padding:14px 24px}}@media (min-width:1280px){.universal-notice::before{flex-shrink:1}.universal-notice::after{background-position:left center;display:block}.universal-notice__wrapper{grid-template-columns:1fr 72px minmax(202px,auto) auto;min-width:940px;max-width:1020px;padding-right:24px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px minmax(202px,auto) auto}.universal-timer.js-universal-notice-active{display:flex}.universal-notice__timer-nuxt{display:flex}.universal-notice__button{grid-column:4/5}}@media (min-width:1280px) and (max-width:0px){.universal-notice::before{flex-shrink:1}.universal-notice::after{background-position:left center;display:block}.universal-notice__wrapper{grid-template-columns:1fr 72px minmax(202px,auto) auto;min-width:940px;max-width:1020px;padding-right:24px}.universal-notice--new-design .universal-notice__wrapper{grid-template-columns:1fr 64px minmax(202px,auto) auto}.universal-timer.js-universal-notice-active{display:flex}.universal-notice__timer-nuxt{display:flex}.universal-notice__button{grid-column:4/5}}@media (min-width:1400px) and (max-width:0px){.universal-notice::before{flex-shrink:0}.universal-notice::after{flex-shrink:0}}@media (min-width:1400px){.universal-notice::before{flex-shrink:0}.universal-notice::after{flex-shrink:0}}</style> </div>
<script>
document.addEventListener("DOMContentLoaded", function(event) {
window.TopBanner = true;
});
$(document).ready(function () {
$.ajax({
url: '/local/ajax/advert.php',
type: 'POST',
data: {
'type': 'top-banner-show',
'id': 226288,
'section_id': 0,
},
success: function (result) {
}
});
});
$(document).on('click', '.header-banner', function () {
$.ajax({
url: '/local/ajax/advert.php',
type: 'POST',
data: {
'type': 'top-banner-click',
'id': 226288,
'section_id': 0,
},
success: function (result) {
}
});
var page = window.location;
var $article = $('section[data-article-text]');
var pageId = $article.data('articleid');
if(pageId === undefined)
{
pageId = 0;
}
window.dataLayer.push({
'event': 'go_to_course',
'courseID': 226288,
'page': page,
'pageID': pageId
});
});
</script>
<header class="header">
<div id="menu" class="header__wrapper container">
<div class="header__logo link-active">
<a href="/media/" class="header__media-main-link">
<img src="/local/templates/media/images/logo/skillbox-media.svg" alt="Skillbox"/>
</a>
<a href="/media/gamedev/" class="header__media-category-link">
<span class="header__media-category js-category ">Геймдев</span>
</a>
</div>
<a href="/media/about-media/" v-if="!isMobile" rel="nofollow" class="menu-nav__link menu-nav__link--about" target="_blank" style="display: none">
Про медиа
</a>
<button v-if="!isMobile" v-show="!isMobile" rel="nofollow" class="toggle-menu header__toggle toggle-menu--course"
@click="openCourseMenu()"
:class="{ 'toggle-menu--active': isOpenCourseMenu }"
style="display: none">
Онлайн-курсы
<svg width="13" height="12" viewBox="0 0 13 12" fill="none" xmlns="http://www.w3.org/2000/svg"
:class="{
'animated-chevron--default': isOpenCourseMenu,
'animated-chevron--active animated-chevron--default': ! isOpenCourseMenu
}"
class="animated-chevron toggle-menu__arrow select-arrow select-arrow--small">
<line x1="6.48415" y1="5.92242" x2="11.4909" y2="10.9291" stroke="currentColor" stroke-width="1.78"
class=" animated-chevron__line animated-chevron__line1 animated-chevron__line1--default"></line>
<line x1="6.3701" y1="5.9224" x2="11.3768" y2="0.915678" stroke="currentColor" stroke-width="1.78"
class="animated-chevron__line"></line>
<line x1="1.36337" y1="10.9291" x2="6.3701" y2="5.9224" stroke="currentColor" stroke-width="1.78"
class="animated-chevron__line animated-chevron__line2 animated-chevron__line2--default"></line>
<line x1="1.47743" y1="0.915681" x2="6.48415" y2="5.9224" stroke="currentColor" stroke-width="1.78"
class="animated-chevron__line"></line>
</svg>
</button>
<a href="https://skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=button_main_skillbox&utm_term=mainskillbox" v-if="!isMobile" v-show="!isMobile" rel="nofollow" class="menu-nav__link menu-nav__link-ml0 menu-nav__link--main" target="_blank" style="display: none">
Главная Skillbox
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.9375 10.0618L9.9161 4.08203" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M3.93811 3.93665H10.0631V10.0616" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
<div v-if="isOpenCourseMenu && !isMobile" class="menu-block menu-block--desktop" @click="closeCourseMenu($event)" style="display: none">
<div class="menu-block__wrapper menu-block__wrapper--desktop">
<div class="menu-block__content vue-container">
<span class="menu-block__title">
Направления обучения
</span>
<ul class="menu-directions menu-block__direction">
<li class="menu-directions__item">
<a href="https://skillbox.ru/courses/?utm_source=media&utm_medium=button&utm_campaign=button_courses_all&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="All directions">
Все направления
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/code/?utm_source=media&utm_medium=button&utm_campaign=button_courses_code&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Code">
Программирование
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/design/?utm_source=media&utm_medium=button&utm_campaign=button_courses_design&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Design">
Дизайн
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/management?utm_source=media&utm_medium=button&utm_campaign=button_courses_management&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Management">
Управление
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/marketing?utm_source=media&utm_medium=button&utm_campaign=button_courses_marketing&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Marketing">
Маркетинг
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/games?utm_source=media&utm_medium=button&utm_campaign=button_courses_games&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="GameDev">
Игры
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/multimedia?utm_source=media&utm_medium=button&utm_campaign=button_courses_multimedia&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="">
Кино и Музыка
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/psychology?utm_source=media&utm_medium=button&utm_campaign=button_courses_psychology&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Психология
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/health?utm_source=media&utm_medium=button&utm_campaign=button_courses_health&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Здоровье
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/spo/?utm_source=media&utm_medium=button&utm_campaign=button_courses_spo&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Цифровой колледж
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/general-development/?utm_source=media&utm_medium=button&utm_campaign=button_courses_general-development&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Education">
Общее развитие
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/engineering/?utm_source=media&utm_medium=button&utm_campaign=button_courses_engineering&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="engineering">
Инженерия
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/english/?utm_source=media&utm_medium=button&utm_campaign=button_courses_english&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="english">
Английский язык
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/other/?utm_source=media&utm_medium=button&utm_campaign=button_courses_other&utm_term=button" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Other">
Другое
</a>
</li>
</ul>
</div>
</div>
</div>
<div v-show="isOpenMenu" class="menu-block" @click="closeMenu($event)" style="display: none">
<div class="menu-block__wrapper">
<div class="menu-block__content vue-container">
<h2 class="menu-block__header">Редакции</h2>
<div class="tab-nav" data-tab-parent="" data-action="index">
<div class="tab-nav__item">
<a class="" data-tab-name="media_nav" data-section-id="0" data-code="All directions" href="/media/">
<img src="/local/templates/media/images/common/menu-icon-mobile-1.png" alt=""/>
Все
</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="/media/topic/history/">
<img src="/local/templates/media/images/common/menu-icon-mobile-19.png"
alt=""/>
Истории</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="8"
data-code="Design"
href="/media/design/">
<img src="/local/templates/media/images/common/menu-icon-mobile-2.png" alt=""/>
Дизайн</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="10"
data-code="Code"
href="/media/code/">
<img src="/local/templates/media/images/common/menu-icon-mobile-3.png" alt=""/>
Код</a>
</div>
<div class="tab-nav__item">
<a class="tab-active"
data-tab-name="media_nav"
data-section-id="18"
data-code="GameDev"
href="/media/gamedev/">
<img src="/local/templates/media/images/common/menu-icon-mobile-4.png" alt=""/>
Геймдев</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="21"
data-code="Business"
href="/media/business/">
<img src="/local/templates/media/images/common/menu-icon-mobile-9.png" alt=""/>
Бизнес</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="9"
data-code="Marketing"
href="/media/marketing/">
<img src="/local/templates/media/images/common/menu-icon-mobile-5.png" alt=""/>
Маркетинг</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="11"
data-code=""
href="/media/management/">
<img src="/local/templates/media/images/common/menu-icon-mobile-6.png" alt=""/>
Управление</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="29"
data-code=""
href="/media/cinemusic/">
<img src="/local/templates/media/images/common/menu-icon-mobile-22.png" alt=""/>
Кино</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="36"
data-code=""
href="/media/music/">
<img src="/local/templates/media/images/common/menu-icon-mobile-23.png" alt=""/>
Музыка</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="34"
data-code=""
href="/media/photo/">
<img src="/local/templates/media/images/common/menu-icon-mobile-20.png" alt=""/>
Проектная фотография</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="17"
data-code="Development"
href="/media/growth/">
<img src="/local/templates/media/images/common/menu-icon-mobile-7.png" alt=""/>
Развитие</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="33"
data-code=""
href="/media/health/">
<img src="/local/templates/media/images/common/menu-icon-mobile-16.png" alt=""/>
Здоровье</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="32"
data-code=""
href="/media/money/">
<img src="/local/templates/media/images/common/menu-icon-mobile-17.png" alt=""/>
Деньги</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="22"
data-code="Education"
href="/media/education/">
<img src="/local/templates/media/images/common/menu-icon-mobile-8.png" alt=""/>
Образование</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="31"
data-code=""
href="/media/edtech/">
<img src="/local/templates/media/images/common/menu-icon-mobile-11.png" alt=""/>
EdTech</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="30"
data-code=""
href="/media/corptrain/">
<img src="/local/templates/media/images/common/menu-icon-mobile-10.png" alt=""/>
Корп. обучение</a>
</div>
<div class="tab-nav__item">
<a class=""
data-tab-name="media_nav"
data-section-id="35"
data-code=""
href="/media/skillbox-blog/">
<img src="/local/templates/media/images/common/menu-icon-mobile-21.png" alt=""/>
Блог Skillbox</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="https://skillbox.ru/media/glossary/">
<img src="/local/templates/media/images/common/menu-icon-mobile-18.png"
alt=""/>
Глоссарий</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="/media/topic/specials/">
<img src="/local/templates/media/images/common/menu-icon-mobile-13.png"
alt=""/>
Спецпроекты</a>
</div>
<div class="tab-nav__item tab-nav__item--custom tab-nav__item--spec"
data-nav-parent-item>
<a
data-tab-name="media_nav"
data-code=""
href="https://skillbox.ru/course/career-guide-free/">
<img src="/local/templates/media/images/common/menu-icon-mobile-15.png"
alt=""/>
Профориентация</a>
</div>
</div>
<h2 class="menu-block__header">Онлайн-курсы</h2>
<ul class="menu-directions menu-block__direction">
<li class="menu-directions__item">
<a href="https://skillbox.ru/courses/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="All directions">
Все направления
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/code/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Code">
Программирование
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/design/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Design">
Дизайн
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/marketing/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Marketing">
Маркетинг
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/management/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Management">
Управление
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/games/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="GameDev">
Игры
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/multimedia/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="">
Мультимедиа
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/psychology/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Development">
Психология
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/general-development/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Education">
Общее развитие
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/engineering/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="engineering">
Инженерия
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/english/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="english">
Английский язык
</a>
</li>
<li class="menu-directions__item">
<a href="https://skillbox.ru/other/" target="_blank"
class="ui-tab ui-tab--link menu-directions__tab ui-tab--small"
data-code="Other">
Другое
</a>
</li>
</ul>
<a href="/media/about-media/" rel="nofollow" class="menu-nav__link">
Про медиа
</a>
<a href="https://skillbox.ru/" rel="nofollow" class="menu-nav__link">
Главная Skillbox
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.9375 10.0618L9.9161 4.08203" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M3.93811 3.93665H10.0631V10.0616" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
</div>
</div>
</div>
<button v-if="isMobile" class="menu-toggle"
@click="openMenu()"
:class="{ 'menu-toggle--opened': isOpenMenu }" style="opacity: 0">
<span v-if="isOpenMenu" class="menu-toggle__line"></span>
<svg v-if="!isOpenMenu" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M24 5.5H0V4H24V5.5ZM24 11.5H0V13H24V11.5ZM24 19H0V20.5H24V19Z" fill="black"/>
</svg>
</button>
</div>
<script>
BX.Vue.create({
el: '#menu',
data: {
isOpenMenu: false,
isOpenCourseMenu: false,
isMobile: false,
isSubOpen: false,
display: 'none'
},
computed: {
isMobile() {
const w = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
return w < 1024;
}
},
methods: {
openMenu() {
this.isOpenMenu = !this.isOpenMenu;
document.getElementsByTagName('body')[0].classList.toggle('scroll-locked');
window.addEventListener('keyup', this.closeMenu);
},
closeMenu(event) {
if (event.target.classList.contains('menu-block') || event.keyCode === 27) {
this.isOpenMenu = false;
document.getElementsByTagName('body')[0].classList.remove('scroll-locked');
window.removeEventListener('keyup', this.closeMenu);
}
},
openCourseMenu() {
this.isOpenCourseMenu = !this.isOpenCourseMenu;
if (this.isOpenCourseMenu) {
document.getElementsByTagName('body')[0].classList.add('scroll-locked');
window.addEventListener('keyup', this.closeCourseMenu);
} else {
document.getElementsByTagName('body')[0].classList.remove('scroll-locked');
window.removeEventListener('keyup', this.closeCourseMenu);
}
},
closeCourseMenu(event) {
if (event.target.classList.contains('menu-block') || event.keyCode === 27) {
this.isOpenCourseMenu = false;
document.getElementsByTagName('body')[0].classList.remove('scroll-locked');
window.removeEventListener('keyup', this.closeCourseMenu);
}
},
openSub() {
this.isSubOpen = !this.isSubOpen;
},
isMobileFn() {
const w = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
this.isMobile = (w < 1024);
}
},
created() {
window.addEventListener("resize", this.isMobileFn);
document.querySelector('.menu-block').style.display = '';
document.querySelector('.menu-toggle').style.opacity = '1';
document.querySelector('.menu-nav__link').style.display = '';
this.display = 'block';
this.isMobileFn();
},
destroyed() {
window.removeEventListener("resize", this.isMobileFn);
}
});
</script>
</header>
<main class="content">
<div class="page style-update">
<div class="page-wrap">
<style>
.article-inner .rr-widget__title {
padding-top: 0 !important;
}
.article-inner div[data-retailrocket-markup-block] {
margin-top: -32px;
display: none;
}
.article-inner {
font-family: 'Graphik';
}
</style>
<div class="under_header_banner" data-type="under_header"><!-- Yandex.RTB R-A-13443663-10 -->
<div id="yandex_rtb_R-A-13443663-10"></div>
<script>
window.yaContextCb.push(() => {
Ya.Context.AdvManager.render({
"blockId": "R-A-13443663-10",
"renderTo": "yandex_rtb_R-A-13443663-10"
})
})
</script>
</div> <div data-area="article" data-title="Развитие как путь к спасению. Интервью с разработчиками стратегии Will&Reason. Часть 1 / Skillbox Media" class=" noFullClass">
<div class="article-inner">
<section class="top-section-detail-page ">
<div class="container">
<div class="article-preview-info">
<div class="article-preview-info__tags ">
<div class="tag article-preview-info__tag">
<a href="/media/gamedev/"
class="tag-item university">
Геймдев </a>
</div>
</div>
<a class="info-hashtag article-preview-info__hashtag" href="/media/topic/interview/">
#Интервью </a>
<ul class="info article-preview__info-box">
<li class="info-item"> <time class="info-text" datatime="#">18 окт 2021</time></li>
<li class="info-item hidden">
<span class="info-icon"><img src="/local/templates/media/images/icons/like.svg" alt=""></span>
<span class="info__text js-article-like-value">0</span>
</li>
</ul>
</div>
<div class="row">
<div class="top-section-detail-page__title-block col-xl-9 col-lg-10">
<div class="article-preview">
<h1 class="article-preview__title">Развитие как путь к спасению. Интервью с разработчиками стратегии Will&Reason. Часть 1</h1>
<p class="article-preview__description">Разговор о геймплейных принципах игры, работе в команде и процессе разработки.</p>
</div>
</div>
</div>
</div>
</section>
<section data-article-text
data-articleId="207718"
data-courseId="263"
>
<div class="container">
<noindex>
<div class="share" data-nosnippet>
<button class="share__handler-btn ">
<span class="share__handler-icon">
<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 4.99902L6 0V2.99805C2.688 2.99805 0 5.68505 0 8.99805V11.498H0.0980225C0.765022 8.91205 3.107 6.99805 5.901 6.99805H6.00098V9.99805L11 4.99902Z" fill="currentColor"/>
</svg>
</span>
<span class="share__handler-text">Поделиться</span>
</button>
<div class="share__list">
<a href="#" class="share__item" data-code="vk">
<span class="share__item-icon share__item-icon--vk">
<svg width="9" height="5" viewBox="0 0 9 5" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.04776 4.98054H4.53996C4.62377 4.97136 4.70279 4.9361 4.76621 4.87951C4.81226 4.81209 4.83594 4.73139 4.83369 4.64925C4.83369 4.64925 4.82574 3.94629 5.1314 3.84125C5.43701 3.73621 5.826 4.51998 6.23879 4.82297C6.39281 4.95308 6.59128 5.01558 6.79053 4.99669L7.89399 4.98054C7.89399 4.98054 8.47355 4.94415 8.19965 4.46339C7.98372 4.08315 7.70589 3.743 7.37799 3.45744C6.68338 2.77872 6.77865 2.8878 7.61219 1.71216C8.12024 0.997077 8.32269 0.556717 8.25918 0.370875C8.14651 0.254767 7.98299 0.205914 7.82655 0.241594L6.58018 0.249674C6.52565 0.241067 6.46984 0.251007 6.42141 0.277954C6.37298 0.314507 6.33466 0.363228 6.31025 0.419356C6.18259 0.772814 6.0287 1.11586 5.8498 1.44552C5.29807 2.43936 5.07579 2.49188 4.98451 2.43128C4.77416 2.28584 4.82574 1.85356 4.82574 1.54248C4.82574 0.580957 4.96468 0.176954 4.55979 0.0719133C4.36879 0.0254376 4.17259 0.00505841 3.97631 0.0113129C3.62834 -0.0214164 3.27745 0.017045 2.94429 0.124433C2.8014 0.197154 2.69423 0.358753 2.76171 0.370875C2.90334 0.385518 3.03406 0.454932 3.12688 0.564795C3.21268 0.750336 3.25481 0.953675 3.24993 1.15868C3.24993 1.15868 3.32535 2.29392 3.07925 2.43532C2.91254 2.53228 2.68232 2.33432 2.18616 1.4334C2.01958 1.11848 1.87243 0.793298 1.74557 0.459754C1.72231 0.404013 1.68704 0.354309 1.64236 0.314316C1.58589 0.272672 1.52066 0.245006 1.45184 0.233514L0.268986 0.241594C0.181167 0.241154 0.0958013 0.271066 0.0268587 0.326434C-0.00595087 0.396174 -0.00882613 0.476652 0.0189202 0.548633C0.0189202 0.548633 0.947737 2.83932 1.99563 3.99477C2.51 4.60651 3.2568 4.96526 4.04776 4.98054Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Vkontakte</span>
</a>
<a href="#" class="share__item" data-code="tw">
<span class="share__item-icon share__item-icon--tw">
<svg width="9" height="7" viewBox="0 0 9 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.52788 0.00144284V0H5.9158L6.05754 0.027414C6.15204 0.0452114 6.23783 0.068535 6.31491 0.0973918C6.39201 0.126249 6.46661 0.159917 6.53872 0.198391C6.61083 0.236864 6.67623 0.276066 6.73492 0.315982C6.79311 0.355422 6.84533 0.397265 6.89158 0.441509C6.93733 0.486237 7.0087 0.49778 7.10568 0.476138C7.20266 0.454495 7.3071 0.424433 7.419 0.38596C7.5309 0.347487 7.64156 0.304201 7.75097 0.256104C7.86039 0.208007 7.92703 0.177469 7.95091 0.164484C7.97428 0.151022 7.98671 0.143808 7.98821 0.142841L7.98969 0.140677L7.99715 0.13707L8.00461 0.133463L8.01207 0.129856L8.01953 0.126249L8.02102 0.124084L8.02326 0.122642L8.02551 0.121199L8.02699 0.119034L8.03445 0.11687L8.04191 0.115427L8.04043 0.126249L8.03818 0.13707L8.03445 0.147891L8.03072 0.158713L8.02699 0.165927L8.02326 0.173141L8.01953 0.183962C8.01705 0.191176 8.01456 0.200793 8.01207 0.212819C8.00959 0.224845 7.98596 0.272935 7.9412 0.357103C7.89644 0.441271 7.84049 0.526637 7.77335 0.613208C7.70621 0.699778 7.64604 0.765182 7.59283 0.809434C7.53911 0.854162 7.50355 0.885421 7.48614 0.903219C7.46874 0.921492 7.4476 0.938323 7.42273 0.953718L7.38543 0.977525L7.37797 0.981132L7.37051 0.984739L7.36902 0.986903L7.36678 0.988346L7.36454 0.989789L7.36305 0.991953L7.35559 0.99556L7.34813 0.999168L7.34664 1.00133L7.3444 1.00277L7.34216 1.00422L7.34067 1.00638L7.33918 1.00855L7.33694 1.00999L7.3347 1.01143L7.33321 1.0136H7.37051L7.57939 0.970311C7.71865 0.941454 7.85168 0.906588 7.9785 0.865705L8.17992 0.800777L8.2023 0.793563L8.21349 0.789956L8.22095 0.786348L8.22841 0.782741L8.23587 0.779134L8.24333 0.775527L8.25825 0.773363L8.27317 0.77192V0.786348L8.26944 0.787791L8.26571 0.789956L8.26423 0.79212L8.26198 0.793563L8.25974 0.795006L8.25825 0.79717L8.25677 0.799334L8.25452 0.800777L8.25228 0.80222L8.25079 0.804384L8.24931 0.806548L8.24706 0.807991L8.24333 0.815205L8.2396 0.82242L8.23736 0.823862C8.23637 0.825305 8.20479 0.866181 8.14262 0.946504C8.08046 1.0273 8.04689 1.06818 8.04191 1.06915C8.03694 1.07059 8.02997 1.0778 8.02102 1.09079C8.01257 1.10425 7.95985 1.15788 7.86287 1.25166C7.76589 1.34545 7.67091 1.42889 7.57791 1.502C7.48441 1.57558 7.43716 1.666 7.43616 1.77325C7.43467 1.88002 7.42895 2.00074 7.419 2.13541C7.40905 2.27007 7.3904 2.41555 7.36305 2.57186C7.3357 2.72817 7.29342 2.90492 7.23623 3.10211C7.17904 3.29929 7.10941 3.49168 7.02735 3.67925C6.94529 3.86681 6.8595 4.03514 6.76998 4.18424C6.68046 4.33334 6.5984 4.45958 6.5238 4.56299C6.4492 4.66639 6.37336 4.76378 6.29626 4.85516C6.21918 4.94654 6.12171 5.04947 6.00384 5.16393C5.88547 5.27791 5.82082 5.34044 5.80988 5.3515C5.79844 5.36208 5.74971 5.40152 5.66365 5.46981C5.57812 5.53858 5.48611 5.60736 5.38763 5.67614C5.28966 5.74443 5.19964 5.80143 5.11758 5.84711C5.03552 5.8928 4.93655 5.94498 4.82067 6.00366C4.70529 6.06282 4.58046 6.11765 4.44618 6.16815C4.3119 6.21865 4.17016 6.26554 4.02096 6.30882C3.87176 6.35211 3.72753 6.38578 3.58827 6.40982C3.44903 6.43387 3.29112 6.45431 3.11456 6.47114L2.84973 6.49639V6.5H2.36483V6.49639L2.30142 6.49279C2.25915 6.49038 2.22433 6.48797 2.19698 6.48557C2.16963 6.48317 2.06643 6.46994 1.88739 6.44589C1.70835 6.42185 1.56785 6.3978 1.4659 6.37375C1.36395 6.34971 1.21225 6.30401 1.01083 6.23668C0.809413 6.16935 0.637087 6.10129 0.493854 6.03252C0.351121 5.96422 0.261601 5.92094 0.225293 5.90266C0.189485 5.88487 0.149201 5.86275 0.10444 5.83629L0.0373001 5.79661L0.0358156 5.79445L0.0335701 5.79301L0.0313321 5.79156L0.0298401 5.7894L0.0223801 5.78579L0.0149201 5.78219L0.0134355 5.78002L0.01119 5.77858L0.00895204 5.77714L0.00746003 5.77497L0.00597548 5.77281L0.00373001 5.77137H0V5.75694L0.00746003 5.75838L0.0149201 5.76054L0.0484902 5.76415C0.0708703 5.76655 0.131796 5.77016 0.231261 5.77497C0.330733 5.77978 0.436412 5.77978 0.548312 5.77497C0.660213 5.77016 0.774605 5.75934 0.891474 5.74251C1.00835 5.72568 1.14636 5.69682 1.30551 5.65594C1.46466 5.61505 1.61087 5.56648 1.74416 5.51021C1.87695 5.45346 1.97144 5.41114 2.02764 5.38324C2.08334 5.35583 2.16838 5.30484 2.28277 5.2303L2.45435 5.11848L2.45584 5.11632L2.45808 5.11487L2.46033 5.11343L2.46181 5.11127L2.4633 5.1091L2.46554 5.10766L2.46779 5.10622L2.46927 5.10405L2.47673 5.10189L2.48419 5.10044L2.48568 5.09323L2.48792 5.08602L2.49017 5.08457L2.49165 5.08241L2.43197 5.0788C2.39219 5.0764 2.35364 5.07399 2.31634 5.07159C2.27904 5.06918 2.2206 5.05836 2.14103 5.03912C2.06146 5.01988 1.97567 4.99103 1.88366 4.95255C1.79165 4.91408 1.70213 4.86838 1.6151 4.81548C1.52807 4.76258 1.46515 4.71857 1.42636 4.68346C1.38807 4.64883 1.33833 4.59978 1.27716 4.53629C1.21648 4.47233 1.16376 4.40668 1.119 4.33934C1.07424 4.27202 1.03148 4.19433 0.990699 4.10633L0.928774 3.97503L0.925044 3.96421L0.921314 3.95339L0.919076 3.94617L0.917584 3.93896L0.928774 3.9404L0.939964 3.94256L1.02202 3.95339C1.07674 3.9606 1.16253 3.963 1.27939 3.9606C1.39627 3.9582 1.47709 3.95339 1.52185 3.94617C1.56661 3.93896 1.59396 3.93414 1.60391 3.93174L1.61883 3.92814L1.63748 3.92453L1.65613 3.92092L1.65762 3.91876L1.65986 3.91731L1.6621 3.91587L1.66359 3.91371L1.64867 3.9101L1.63375 3.90649L1.61883 3.90289L1.60391 3.89928L1.58899 3.89567C1.57904 3.89327 1.56164 3.88846 1.53677 3.88124C1.5119 3.87403 1.44476 3.84757 1.33535 3.80189C1.22594 3.7562 1.1389 3.71171 1.07424 3.66842C1.00943 3.62501 0.947626 3.57754 0.889235 3.5263C0.831047 3.47436 0.767145 3.40751 0.697513 3.32575C0.627888 3.24399 0.565724 3.149 0.511012 3.04079C0.456308 2.93257 0.415277 2.82917 0.387922 2.73058C0.360676 2.63256 0.3427 2.53235 0.334217 2.43119L0.320781 2.27969L0.328241 2.28113L0.335701 2.2833L0.343161 2.2869L0.350621 2.29051L0.358081 2.29412L0.365541 2.29772L0.481172 2.34822C0.558264 2.38189 0.653998 2.41075 0.768383 2.43479C0.882775 2.45884 0.951154 2.47207 0.973534 2.47447L1.0071 2.47808H1.07424L1.07276 2.47592L1.07051 2.47447L1.06828 2.47303L1.06678 2.47087L1.0653 2.4687L1.06305 2.46726L1.06082 2.46582L1.05932 2.46365L1.05186 2.46004L1.0444 2.45644L1.04292 2.45427L1.04067 2.45283L1.03844 2.45139L1.03694 2.44922L1.02948 2.44562L1.02202 2.44201L1.02054 2.43984C1.01905 2.43888 0.99766 2.42349 0.956376 2.39367C0.915592 2.36337 0.872823 2.32418 0.828063 2.27608C0.783303 2.22798 0.738543 2.17749 0.693783 2.12458C0.64894 2.07156 0.609 2.01483 0.574422 1.95505C0.539614 1.89493 0.502806 1.81846 0.464014 1.72564C0.425721 1.6333 0.396627 1.54023 0.376731 1.44645C0.356843 1.35266 0.345653 1.26008 0.343161 1.1687C0.340677 1.07732 0.343161 0.999168 0.350621 0.93424C0.358081 0.869312 0.373001 0.795965 0.395382 0.714206C0.417762 0.632448 0.450093 0.545877 0.492362 0.454495L0.555772 0.317425L0.559502 0.306604L0.563232 0.295782L0.565478 0.29434L0.566962 0.292175L0.568454 0.290011L0.570692 0.288568L0.572938 0.290011L0.574422 0.292175L0.575914 0.29434L0.578152 0.295782L0.580398 0.297225L0.581882 0.29939L0.583374 0.301554L0.585612 0.302997L0.589342 0.310211L0.593072 0.317425L0.595318 0.318868L0.596802 0.321032L0.697513 0.429245C0.764653 0.501387 0.844229 0.581948 0.936234 0.670921C1.02825 0.759894 1.07922 0.806065 1.08916 0.809434C1.09912 0.813279 1.11154 0.824338 1.12646 0.842619C1.14138 0.860417 1.19112 0.902981 1.27567 0.970311C1.36022 1.03764 1.47087 1.1158 1.60764 1.20477C1.74441 1.29375 1.89609 1.38152 2.0627 1.46809C2.22931 1.55466 2.40835 1.63281 2.59982 1.70255C2.7913 1.77229 2.92558 1.81798 3.00266 1.83962C3.07975 1.86127 3.21154 1.88892 3.39804 1.92259C3.58454 1.95625 3.72505 1.9779 3.81954 1.98751C3.91403 1.99713 3.97869 2.00266 4.0135 2.00411L4.06572 2.00555L4.06423 1.99473L4.06199 1.98391L4.04707 1.89373C4.03712 1.83361 4.03215 1.74944 4.03215 1.64123C4.03215 1.53302 4.04085 1.43322 4.05826 1.34184C4.07567 1.25046 4.10178 1.15788 4.13659 1.0641C4.1714 0.970311 4.20547 0.895038 4.23879 0.838291C4.27261 0.78202 4.31687 0.717814 4.37158 0.645671C4.42629 0.573529 4.49716 0.498985 4.58419 0.422031C4.67122 0.345077 4.77069 0.276542 4.88259 0.216426C4.99449 0.15631 5.09769 0.110615 5.19218 0.0793563C5.28668 0.0480971 5.36625 0.0276521 5.4309 0.0180355C5.49556 0.00841898 5.52788 0.00288568 5.52788 0.00144284Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Twitter</span>
</a>
<a href="#" class="share__item" data-code="tg">
<span class="share__item-icon share__item-icon--tg">
<svg width="10" height="7" viewBox="0 0 10 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.39589 3.04852C1.39589 3.04852 5.05491 1.51189 6.32392 0.9708C6.8104 0.754384 8.46012 0.0617918 8.46012 0.0617918C8.46012 0.0617918 9.22155 -0.241191 9.15809 0.494655C9.13692 0.797667 8.96773 1.85815 8.79854 3.00523C8.54472 4.62846 8.26976 6.40316 8.26976 6.40316C8.26976 6.40316 8.22746 6.90097 7.86791 6.98753C7.50836 7.0741 6.91613 6.68455 6.8104 6.59795C6.72577 6.53304 5.22411 5.5591 4.6742 5.08295C4.52614 4.9531 4.35695 4.6934 4.69533 4.39039C5.45676 3.67617 6.36622 2.78882 6.91613 2.2261C7.16995 1.96638 7.42374 1.36038 6.36622 2.09622C4.86456 3.15674 3.38403 4.15231 3.38403 4.15231C3.38403 4.15231 3.04561 4.36873 2.41111 4.17394C1.77657 3.97918 1.03631 3.71945 1.03631 3.71945C1.03631 3.71945 0.528726 3.39481 1.39589 3.04852Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Telegram</span>
</a>
<a href="#" class="share__item js-share-item-copy">
<span class="share__item-icon share__item-icon--copy">
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.19922 5.40327C4.37217 5.63449 4.59283 5.8258 4.84622 5.96425C5.09962 6.10269 5.37982 6.18501 5.66783 6.20564C5.95584 6.22627 6.24492 6.18471 6.51546 6.08379C6.78599 5.98287 7.03166 5.82495 7.2358 5.62074L8.44399 4.41255C8.81079 4.03277 9.01375 3.52412 9.00917 2.99615C9.00458 2.46818 8.79281 1.96313 8.41946 1.58978C8.04611 1.21644 7.54106 1.00466 7.01309 1.00008C6.48512 0.995488 5.97647 1.19845 5.59669 1.56525L4.904 2.25392" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.81002 4.59658C5.63707 4.36536 5.41641 4.17404 5.16302 4.0356C4.90962 3.89716 4.62942 3.81483 4.34141 3.79421C4.0534 3.77358 3.76432 3.81514 3.49379 3.91605C3.22325 4.01697 2.97758 4.17489 2.77344 4.3791L1.56525 5.58729C1.19845 5.96707 0.995488 6.47572 1.00008 7.0037C1.00466 7.53167 1.21644 8.03672 1.58978 8.41006C1.96313 8.78341 2.46818 8.99518 2.99615 8.99977C3.52412 9.00436 4.03277 8.80139 4.41255 8.43459L5.10122 7.74592" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="share__item-text">Скопировать ссылку</span>
</a>
</div>
</div> <!-- //share -->
</noindex>
<div class="row">
<div class="col-xl-9 col-lg-8 col-poster">
<div class="article-poster">
<picture >
<img src="https://248006.selcdn.ru/main/iblock/9b4/9b45717cdafa83484af96b2270180d08/9c4dd3a99c17c0c094db3fb9e72a0276.png" itemprop='image' class='hidden-xs' />
</picture> <picture >
<img src="https://248006.selcdn.ru/main/iblock/9b4/9b45717cdafa83484af96b2270180d08/9c4dd3a99c17c0c094db3fb9e72a0276.png" itemprop='image' class='visible-xs' />
</picture> </div>
<noindex>
<p class="article-poster-text" data-nosnippet>
сайт LINGsCARS </p>
</noindex>
</div>
<div class="col-xl-3 col-lg-4 col-author">
<div class="article-author">
<div class="article-author__image">
<a href="/media/authors/leon-balbery/">
<img src="https://248006.selcdn.ru/main/iblock/f23/f230dea241ed7086de355ea43ccc5877/4b00e3feece0eb21334db424451cf51e.png" alt="Леон Балбери">
</a>
</div>
<div class="article-author__info">
<div class="article-author__name">
Леон Балбери </div>
<div class="article-author__description">
Считает игры произведениями искусства и старается донести эту идею до широких масс. В свободное время стримит, рисует и часами зависает в фоторежимах. </div>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row flex-row-rev">
<div class="col-xl-3 col-lg-4 col-author">
<div class="js-article-banner" data-article-banner-mobile data-type="side_mounted" data-article-banner-sticky-start>
<!--AdFox START-->
<!--yandex_skillbox.media-->
<!--Площадка: Skillbox / Сквозной для застройщика Легенда / Боковой баннер сквозной для застройщика Легенда-->
<!--Категория: <не задана>-->
<!--Тип баннера: Media banner-->
<div id="adfox_176131540100027244"></div>
<script>
window.yaContextCb.push(()=>{
Ya.adfoxCode.create({
ownerId: 11649869,
containerId: 'adfox_176131540100027244',
params: {
p1: 'dkugb',
p2: 'p'
}
})
})
</script> </div>
<div class="js-article-banner" data-article-banner-mobile data-type="vertical" data-article-banner-sticky-end></div>
</div>
<div class="col-xl-9 col-lg-8 col-poster">
<div class="container container--setka">
<div class="js-article-banner" data-type="top"></div>
<div class="article-detail-text__setka" data-detail-text>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<?xml encoding="utf-8" ?><?xml encoding="utf-8" ?><html><body><div class="stk-post stk-layout_12col_18068 stk-theme_26309" data-ui-id="post" data-reset-type="class" data-editor-version="3.1.2" data-stk='{"images":[{"id":22394,"alt":"","caption":""},{"id":22393,"alt":"","caption":""},{"id":22392,"alt":"","caption":""},{"id":22391,"alt":"","caption":""},{"id":22390,"alt":"","caption":""},{"id":22389,"alt":"","caption":""},{"id":22387,"alt":"","caption":""},{"id":22388,"alt":"","caption":""},{"id":22386,"alt":"","caption":""},{"id":22385,"alt":"","caption":""},{"id":22381,"alt":"","caption":""},{"id":22384,"alt":"","caption":""},{"id":22383,"alt":"","caption":""},{"id":22382,"alt":"","caption":""},{"id":22380,"alt":"","caption":""}]}' data-layout-type="limited"><div class="stk-theme_26309__mb_15 stk-grid__layout_reverse stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><p class="stk-reset" data-ce-tag="paragraph">Уже несколько лет группа энтузиастов работает над 4X-стратегией в стилистике тёмного фэнтези — <a class="stk-reset" href="https://vk.com/willreason" target="_blank">Will&Reason</a>. Это масштабная вселенная с процедурно генерируемым миром, в котором игрок развивает свою уникальную цивилизацию, начиная с ранних времён. Чтобы понять, как авторам удалось воплотить столь амбициозную задумку на практике, мы связались с людьми, задействованными в проекте. На вопросы Skillbox Media отвечали Артём Копыл (основатель команды, программист), Вячеслав Банщиков (сценарист), Анастасия Игумнова, Виктория Елгина, Дмитрий Савин (2D-художники) и Сергей Воробьёв (3D-моделлер).</p><p class=" stk-theme_26309__mb_05 stk-reset" data-ce-tag="paragraph">В первой части интервью вы узнаете:</p><ul class=" stk-theme_26309__mb_05 stk-theme_26309__pad_hor_1 stk-reset" data-ce-tag="list"><li class="stk-list-item stk-reset " data-ce-tag="list-item"><a class="stk-reset" href="#stk-1">как продолжить работу над проектом, если большинство людей вышло из него</a>;</li><li class="stk-list-item stk-reset " data-ce-tag="list-item"><a class="stk-reset" href="#stk-2">какие есть тонкости во взаимодействии с коллективом энтузиастов</a>;</li><li class="stk-list-item stk-reset " data-ce-tag="list-item"><a class="stk-reset" href="#stk-3" data-gtm-vis-has-fired-10171822_255="1">чем вдохновлена Will&Reason</a>;</li><li class="stk-list-item stk-reset " data-ce-tag="list-item"><a class="stk-reset" href="#stk-4">на чём завязан игровой процесс</a>;</li><li class="stk-list-item stk-reset " data-ce-tag="list-item"><a class="stk-reset" href="#stk-5">каковы особенности процедурной генерации в стратегии</a>;</li><li class="stk-list-item stk-reset " data-ce-tag="list-item"><a class="stk-reset" href="#stk-6">какую роль в игре выполняют герои</a>;</li><li class="stk-list-item stk-reset " data-ce-tag="list-item"><a class="stk-reset" href="#stk-7">как в игре появилась система нодов</a>;</li><li class="stk-list-item stk-reset " data-ce-tag="list-item"><a class="stk-reset" href="#stk-8">почему детальная кастомизация юнитов имеет право на существование.</a></li></ul><hr class="stk-theme_26309__separator_divider-1498128612642 stk-reset"></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-theme_26309__style_large_header stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Студенческая мечта</strong></h2><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— Артём, будучи программистом, ты мог просто трудиться на высокооплачиваемой должности и не сталкиваться с проблемами разработки собственной игры. Что побудило тебя начать этот проект?</strong></p><div class="stk-grid" data-ce-tag="grid"><div data-col-width="1" class="stk-grid-col" data-stk-css="" data-stk-css-m="" data-ce-tag="grid-col"><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="243" src="/upload/setka_images/08125815102021_25626f725bd4afbc8e29fe929481bf1ab25d5288.png" height="243" data-image-id="22394" data-image-name="unnamed.png" class="stk-image stk-reset"></div></figure></div><div data-col-width="11" class="valign-bottom stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><p class=" stk-theme_26309__style_accented_text stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл</strong></p></div></div><p class="stk-reset" data-ce-tag="paragraph">Игры меня интересовали всегда. Занимался шахматами в детстве и даже дошёл до мастера спорта, а видеоиграми увлекался ещё со времён Dendy. В моём институте среди студентов-программистов разработка игр считалась крутым занятием. Эта тенденция совпала с моими целями и идеями, и я решил действовать.</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— Твой выбор пал на разработку 4Х-стратегии из-за личной симпатии к этому жанру?</strong></p><p class="stk-reset" id="stk-1" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">Артём Копыл:</strong> Не совсем, всё вышло немного спонтанно. Начну с того, что любовь к 4Х-стратегиям у меня была всегда, это один из моих любимых жанров наряду с RPG. Civilization — одна из первых компьютерных игр, которые понравились мне в детстве. В моём институте было сообщество студентов, мечтающих о собственном проекте. Нас было шесть-семь человек. Мы организовали встречу, чтобы обсудить формат будущей игры. Коллективно пришли к выводу, что делать 4X-стратегию проще. Наша оценка сложности в корне не соответствовала действительности.</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— Неудивительно, что коллектив распался после такого «открытия». Но ты остался верен идее?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">Артём Копыл:</strong> Люди, которые вписались в проект, покинули его уже спустя две недели, за исключением одного человека, с которым мы вместе сделали редактор карт. Через некоторое время он тоже оставил разработку по семейным обстоятельствам. Так я остался один со всеми наработками, но решил, что проект нужно довести до ума. Год-полтора я просто сидел и изучал Unity в свободное время — на тот момент это был один из лучших бесплатных 3D-движков, хотя почти все руководства по нему были на зарубежных ресурсах. За этот период я перенёс свой редактор карт в 3D.</p><p class="stk-reset" data-ce-tag="paragraph">Благодаря полученным знаниям я написал свой фреймворк для генерации ландшафта, который <a class="stk-reset" href="https://pikabu.ru/story/beskonechnyiy_mir_v_stile_tsivilizatsii_svoimi_rukami__redaktor_5625776" target="_blank" data-gtm-vis-has-fired-10171822_255="1">разместил</a> сначала на «Пикабу», а затем и на других ресурсах. После публикации наработок откликнулись энтузиасты. Так как у меня на руках уже была основа для игры, я предложил людям принять участие в проекте. Так постепенно собралась наша команда. Даже сейчас в студии остались люди ещё с первого набора — например, художница Анастасия.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="1540" src="/upload/setka_images/08025315102021_accf102caaa970ce65d217b9ae9a8e9a57caa67c.jpg" height="866" data-image-id="22382" data-image-name="1.jpg" class="stk-image stk-reset"></div><figcaption class="stk-reset stk-description" data-ce-tag="description">Один из первых артов проекта. Изображение: арт к Will&Reason / официальная группа игры во «<a href="https://vk.com/willreason" target="_blank" class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">ВКонтакте</a>»</figcaption></figure></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-theme_26309__style_large_header stk-reset" id="stk-2" data-ce-tag="paragraph"><strong class="stk-reset">Работа за идею</strong></h2><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— Ты набрал команду на «Пикабу»?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">Артём Копыл:</strong> Не только. Я также размещал посты на Gamedev.ru и на форуме Unity. Потом мы завели <a class="stk-reset" data-gtm-vis-has-fired-10171822_255="1" href="https://vk.com/willreason" target="_blank">группу</a> во «ВКонтакте», и к нам подтянулись люди из разных тематических сообществ. Но именно первая, б<strong class="stk-reset">о</strong>льшая часть, конечно, пришла с «Пикабу», и наш коллектив сформировался уже через две недели. Всего было около 30 желающих, но не все они остались. Как минимум половина из них хотели работать с нами.</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">— Сколько лет разрабатывается Will&Reason, если за точку отсчёта взять стадию формирования идеи?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл: </strong>Формально разработка длится уже лет пять, если учитывать период, когда я трудился над игрой в одиночку. Совместно с командой —<strong class="stk-reset"> </strong>более двух лет. На самом деле посчитать сложно, так как первое время мы уделяли проекту свободное время после основной работы. Я работаю над игрой фултайм уже год-полтора, а остальные участники занимаются ею по возможности. Иногда это очень хорошо получается.</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">— Если всё-таки взять в расчёт первую цифру, выходит пять лет чистого энтузиазма. У вас вообще нет никакого финансирования?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл:</strong> У нас принципиально нет финансирования. Если говорить о краудфандинге, в теории можно организовать сбор средств. И не исключено, что мы пойдём на тот же Kickstarter, но не с пустыми руками, а с демоверсией. Игроки должны понимать, что за проект мы делаем. Тогда их вера в игру будет намного сильнее. Даже когда разработчик питчит идею издателю, готовая сборка на ноутбуке вызывает больше доверия, чем просто слова, подкреплённые лишь красивыми картинками.</p><p class="stk-reset" data-ce-tag="paragraph">Не исключено, что найдутся и инвесторы. Есть пара заинтересованных компаний, которые ждут от нас билда. Исходя из этого будем смотреть. Но на данный момент разработка действительно идёт на полном энтузиазме. И все расходы на игру покрыты из собственных средств. Когда у меня была высокооплачиваемая работа, я мог нанять фрилансеров, но это были не серьёзные и долгосрочные контракты, а скорее заказ нескольких артов. Сейчас студия это не практикует, за исключением каких-то мелочей.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="1540" src="/upload/setka_images/08025315102021_08fda0244b5397e030ee401fd2bea5b24f78a72b.jpg" height="866" data-image-id="22383" data-image-name="2.jpg" class="stk-image stk-reset"></div><figcaption class="stk-reset stk-description" data-ce-tag="description">Концепты зданий. Изображение: арт к Will&Reason / официальная группа игры во «<a href="https://vk.com/willreason" target="_blank" class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">ВКонтакте</a>»</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— При таких условиях не обойдётся без текучки специалистов…</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">Артём Копыл:</strong> Это правда. Через Will&Reason прошло много людей, я даже затрудняюсь назвать точное количество… Наверное, человек пятьдесят. Причины бывают разные. Большинство людей уходят после первой же задачи, когда на каком-то этапе они понимают, что не справятся. Иногда меняются жизненные приоритеты: семья, работа, учёба. Или человеку просто тяжело в глобальном проекте. Кто-то ушёл насовсем, кто-то приходил, уходил и возвращался. Но есть костяк команды из пяти-шести человек, которые пришли почти на старте и работают до сих пор.</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— Исходя из этого — как вы решаете проблему с незаконченной работой человека, который покинул проект?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл:</strong> Б<strong class="stk-reset">о</strong>льшая часть команды отвечает за художественное направление. Это либо 3D-моделлеры, либо 2D-художники. Прежде чем уйти, они всегда заканчивают свои работы. Если речь идёт о коде, то был момент, когда разный уровень программистов тормозил рабочий процесс. Например, на момент первых публикаций о проекте я уже устраивался на работу в качестве Senior-специалиста. А в команду приходили джуны. Соответственно, они только начинали свой путь, и это сказывалось на коде. В дальнейшем некоторые из специалистов достигли хорошего уровня. Например, наш программист Виталий пришёл в проект, имея небольшой опыт, и сейчас он на стыке Middle и Senior.</p><p class="stk-reset" data-ce-tag="paragraph">Бывает так, что человек прокачивает свои навыки в работе над проектом. А кто-то не может, и часть его работы остаётся. В начале из-за этого код в проекте был очень связанным, но я отрефакторил практически весь код (примерно 95%) и разбил проект на модули, чтобы разные части отключались для проведения тестирования. Сейчас я даже не ищу программистов: хорошего специалиста-энтузиаста найти очень сложно, а в остальных случаях нужны деньги.</p><p class="stk-reset" data-ce-tag="paragraph">С новичками тяжело: придётся больше объяснять, чем работать, и мне проще решить задачу самому. Хотя у меня тоже не всегда бывает гладко со временем, так как в качестве подработки я параллельно веду занятия по Unity. Думаю, с появлением финансирования мы наберём недостающие кадры и будет легче.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="1540" src="/upload/setka_images/08025315102021_6896a8696b8038f4fc8989ab005e4fccc3b90047.jpg" height="866" data-image-id="22384" data-image-name="3.jpg" class="stk-image stk-reset"></div><figcaption class="stk-reset stk-description" data-ce-tag="description">Скриншот: личный архив Артёма Копыла</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— То есть у вас уже есть какие-то задумки по дальнейшему развитию студии?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">Артём Копыл:</strong> Если говорить о росте до полноценной компании, то, скорее всего, мы продолжим работу на удалёнке плюс откроем офис. У меня есть опыт преподавания, можно развиваться и в этом направлении: обучать программистов и привлекать их в работу над актуальной игрой и теми, которые появятся в будущем. Скажу больше: многие новички после участия в проекте уже нашли работу. Я получал от них сообщения, где они называли конкретные задачи в разработке игры, которые помогли им в трудоустройстве. Это приятно. Я думаю, что участие в таком проекте, как Will&Reason, для новичков геймдева — большой стимул.</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Вячеслав Банщиков: </strong>Именно с такой целью я и пришёл в этот проект. До этого вообще не было никакого опыта, просто интерес к геймдеву. Нашёл группу во «ВКонтакте», спросил Артёма: «Нужен ли такой зелёный, необстрелянный?» Мне ответили: «Давай попробуем». Правда, потом я переписывал один и тот же текст по 10 раз, но это пошло только на пользу.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-theme_26309__style_large_header stk-reset" id="stk-3" data-ce-tag="paragraph"><strong class="stk-reset">Истоки концепции</strong></h2><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">— Артём, ты упомянул, что тебе нравится «Цивилизация», но при задумке </strong><br><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">4Х-стратегии ты явно не стремился создать очередной клон. Что новое ты хотел привнести в жанр?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл:</strong> Я большой любитель фильмов и книг, посвящённых фэнтези-тематике. Какое-то время даже увлекался исторической реконструкцией и ролевыми играми. Поэтому меня интересовала разработка проекта с уникальной вселенной. При этом, несмотря на наличие классических фэнтези-элементов, хотелось каких-то новых изобретений и технологий в рамках фэнтезийного мира, которые часто встречаются в литературе и кинематографе. Таким образом, систематизировав контент из книг и разных фэнтези-вселенных, мы собрали некий конструктор. С ним пользователь мог отыграть различные ситуации, которые ещё не встречал в играх, но о которых наверняка задумывался.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="1540" src="/upload/setka_images/08025315102021_c7c2d6650fe8dd3125b1541cb39af56649bd56fa.jpg" height="866" data-image-id="22381" data-image-name="4.jpg" class="stk-image stk-reset"></div><figcaption class="stk-reset stk-description" data-ce-tag="description">Фильм «Хроники хищных городов» вдохновил разработчиков на создание похожих технологий в Will&Reason. Кадр: фильм «Хроники хищных городов»</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">— Почему ты начал не с проработки мира и сеттинга Will&Reason, а с редактора карт? Техническая основа в данном случае важнее?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл: </strong>Да, потому что на разных ресурсах в Сети существует миллион статей с кейсами, когда люди тоже начинают даже с более масштабных концепций, чем наша. Но после обдумывания идеи процесс заходит в тупик. Разработчики собирают команду и понимают, что не продвинутся дальше без финансирования. Старт с технической части был своеобразной проверкой, смогу ли я работать в таком темпе и есть ли у концепции какая-то основа. Когда выяснилось, что процесс пошёл и функционирует, а сама идея интересна не только мне, но и другим людям, в том числе различным компаниям, я понял, что можно продолжать и накидывать на основу идеи, которые сформировались за время, проведённое в других играх.</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— Уникальность каждого жителя мира была уже на раннем этапе разработки?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл:</strong> Изначально я хотел, чтобы каждый юнит в мире игры обладал уникальными навыками, параметрами и мог стать кем угодно. В перспективе из таких жителей игрок мог собрать армию или рабочий класс. Было интересно проверить эту задумку на практике. В идеале я хотел связать всё это каким-то образом с искусственным интеллектом, чтобы у каждого жителя был свой характер. Для тех лет это были безумные идеи. Я довольно сумбурно расписывал их в вышеупомянутом первом посте на «Пикабу». В дальнейшем мы обсуждали и формировали эту концепцию с командой в течение нескольких месяцев, пытались довести её до ума. Сейчас мы уже частично от неё отказались, но какие-то намётки остались — например, кастомизация юнитов с собственными навыками и инвентарём.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-theme_26309__style_large_header stk-reset" id="stk-4" data-ce-tag="paragraph"><strong class="stk-reset">Устройство вселенной Will&Reason</strong></h2><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">— В Will&Reason каждый игрок выбирает свой путь развития. Расскажите, как это происходит.</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">Артём Копыл:</strong> Для начала я объясню, чем это развитие обусловлено. Мир Will&Reason — это калька с нашего мира. Народы, которые в нём проживают, пока условно разделены на южан, северян и жителей центральной полосы. На данный момент мы рассматриваем только человеческую расу. Возможно, позже мы добавим другие виды, но пока речь идёт только о людях.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="1540" src="/upload/setka_images/08025315102021_0ed1686442ac630326a48ddcef43684fa02b904b.jpg" height="1155" data-image-id="22385" data-image-name="5.jpg" class="stk-image stk-reset"></div><figcaption class="stk-reset stk-description" data-ce-tag="description">Юниты в игре отличаются внешне в зависимости от территорий. Изображение: арт к Will&Reason / официальная группа игры во «<a href="https://vk.com/willreason" target="_blank" class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">ВКонтакте</a>»</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Игрок начинает на этапе очень раннего Средневековья. На карте существуют различные поселения с племенами, которые никак не развиваются, потому что их всё устраивает. В какой-то момент они сталкиваются с необычными явлениями, монстрами, аномалиями, катаклизмами и понимают, что противостоять этой напасти можно только развивая технологии.</p><p class="stk-reset" data-ce-tag="paragraph">Всего существует три направления развития на выбор. Если игрок выберет путь науки и изучения мира, со временем его народ станет фракцией Технократов, которые эволюционируют до эпохи стимпанка. Можно отдать предпочтение железной дисциплине и силе воли, и за счёт этого появится фракция Воинов. Также есть направление, которое на ранних этапах напоминает шаманизм и со временем приводит к появлению фракции Магов. При этом большую роль играет территориальное расположение. Если это северяне, то в итоге получатся Северные Маги, — и так далее. Различия не только визуальные, но и геймплейные.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="1540" src="/upload/setka_images/08042615102021_b30ff17d14b759c017197570526ff51b33cc83c5.jpg" height="582" data-image-id="22386" data-image-name="6.jpg" class="stk-image stk-reset"></div><figcaption class="stk-reset stk-description" data-ce-tag="description">Концепты героев на разных территориях карты. Изображение: арт к Will&Reason / официальная группа игры во «<a href="https://vk.com/willreason" target="_blank" class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">ВКонтакте</a>»</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Помимо этого, есть дерево технологий с возможностью прокачки различных элементов. Например, если речь идёт о передвижных городах Технократов, то им можно настроить платформы и источники энергии: уголь, ядовитое топливо, электричество, колёса, гусеницы, механические «ноги» — все эти модули игрок изучает в процессе сессии. За счёт разнообразия комбинаций получается множество вариантов развития.</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— Будут ли гибридные фракции? Например, Маги-технократы и так далее?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл:</strong> Изначально такая возможность была, но пока мы её убрали, поскольку контента и так много. Вместо этого будут универсальные ветки, доступные всем. Например, приручение существ: в игре есть ездовые животные. Та же алхимия доступна Магам и Технократам. Всё это, конечно, развивается не так сильно, как нам бы того хотелось. Если в будущем у нас появится финансирование и большой штат, мы сможем реализовать весь потенциал подобных вещей.</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— У вас заявлено пять временных эпох, через которые проходит цивилизация. Как происходит переход в новую стадию развития и что для этого необходимо? </strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл:</strong> Во время прохождения кампании игрок набирает очки определённого вида. Например, если он предпочитает воевать, то накапливает военные очки. То же самое происходит и с другими фракциями. В итоге набирается некоторое количество очков, и советник предлагает выбрать направление. От этого можно отказаться и вложить больше усилий в прокачку нужной ветки, чтобы дойти до желаемого уровня развития. Аналогично и с деревом технологий: существуют варианты, ведущие в разные стороны, и у каждой из фракций есть своя уникальная ветвь развития. В первые две эпохи идёт общее развитие, а с третьей оно поделено на три основных направления. Таким образом, набор очков и развитие веток даёт игроку возможность сделать правильный выбор.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="1540" src="/upload/setka_images/08042615102021_fc9956ee2f4201e204a5532c68850c6715ed24e0.jpg" height="866" data-image-id="22388" data-image-name="7.jpg" class="stk-image stk-reset"></div><figcaption class="stk-reset stk-description" data-ce-tag="description">Игра в стартовой фазе. Скриншот: личный архив Артёма Копыла</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">— В Will&Reason существует проработанный пантеон богов. С какой мифологией его можно сравнить?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл: </strong>Как и народы, религиозные направления в игре основаны на реальных пантеонах. Религия северян напоминает скандинавскую мифологию. И мы использовали образы богов из известных мифов в качестве референсов для нашей игры. Например, есть бог правосудия Ф<strong class="stk-reset">о</strong>рсети, который в скандинавской мифологии часто изображался с копьём. От того, какой стороной он его держал, зависело окончательное решение спора. У нас есть похожий бог с посохом, но его образ не просто позаимствован, а обусловлен лором до мелочей — даже существует объяснение, откуда взялся посох у этого божества.</p><p class="stk-reset" data-ce-tag="paragraph">В религии жителей центральной полосы есть отсылки к греческой и кельтской мифологии. Боги южан напоминают о Древнем Египте и кочевых племенах… Ничего нового мы тут не придумали. Но у каждого божества в нашей игре есть свой характер и способности для взаимодействия. Бог может прогневаться на игрока или, наоборот, поддержать его. Это влияет на дальнейшие бонусы в игровой сессии.</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— Что за катаклизмы происходят в игре и как им противостоять?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл: </strong>Самые простые — глобальное потепление и похолодание. Визуально это выглядит как смена текстур на карте с применением VFX. Скажем, через каждый ход снег или пустыня заполняет несколько тайлов земли.</p><p class="stk-reset" data-ce-tag="paragraph">Существует несколько вариантов противостоять катаклизмам. Первый — через собственные технологии. Если Технократам в результате вышеописанных событий стало некомфортно жить в текущей зоне, с помощью технологии передвижных городов они переносят базу на более плодородное место. В свою очередь, маги поднимут свой город в воздух, если у них будет такая возможность. А воины, согласно концептам, применяют способности, связанные с мутациями, рунами и энергетическими барьерами. Всё это работает через развитие технологий. Если игрок делает упор на религию, он может договориться с божеством, которому поклоняется на протяжении игры.</p><p class="stk-reset" data-ce-tag="paragraph">Полный список катаклизмов ещё дорабатывается. Обязательно будут нашествия монстров и ментальная болезнь, сводящая людей с ума. Можно провести аналогию со Stellaris: там есть немало испытаний и несколько вариантов конца света.</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— Насколько это частое явление? Катаклизмы направлены только на игрока или способны насолить враждебным участкам?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл:</strong> Они действуют на всю карту и постепенно увеличивают область своего действия. Люди замечают это и понимают, что аномальные события будут только усиливаться. К концу игры происходит глобальный ивент на половину карты, который насолит всем, кто окажется в зоне поражения. Это одна из основ игры — избежать урона и подставить под удар противника.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="1540" src="/upload/setka_images/08042615102021_6caf85fa09e0642959e62c753d9a2f18236eb1da.jpg" height="1155" data-image-id="22387" data-image-name="8.jpg" class="stk-image stk-reset"></div><figcaption class="stk-reset stk-description" data-ce-tag="description">Концепт-арт животного, мутировавшего под воздействием катаклизма. Изображение: арт к Will&Reason / официальная группа игры во «<a href="https://vk.com/willreason" target="_blank" class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">ВКонтакте</a>»</figcaption></figure></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-theme_26309__style_large_header stk-reset" id="stk-5" data-ce-tag="paragraph"><strong class="stk-reset">Создание карт</strong></h2><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">— Поговорим о процедурной генерации ландшафта в Will&Reason. Как она влияет на геймплей, респаун, карту и так далее?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл:</strong> Это не инновация для игр такого плана. Если посмотреть на «Цивилизацию» или другую подобную стратегию — там обязательно есть процедурная генерация в том или ином виде. В таких играх важна реиграбельность, чтобы во время каждой партии у игрока было ощущение нового мира. В противном случае ему наскучит геймплей после первых двух игр на одинаковой карте. Поэтому процедурная генерация важна. Более того, у нас есть и бесконечный мир, который мы не используем на данный момент, но технически он реализован.</p><figure class="stk-code_keep-ratio stk-reset stk-embed_rendered" data-embed-link="https://youtu.be/XCdqQJr6PHY" data-ce-tag="embed"><code class="stk-code" style="--stk-embed-height-ratio:56.21%"><iframe class="embedly-embed" src="//cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FXCdqQJr6PHY%3Ffeature%3Doembed&display_name=YouTube&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DXCdqQJr6PHY&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FXCdqQJr6PHY%2Fhqdefault.jpg&key=8d3909c69dfb4ee29c710191d8dd756a&type=text%2Fhtml&schema=youtube" width="854" height="480" scrolling="no" title="YouTube embed" frameborder="0" allow="autoplay; fullscreen" allowfullscreen="true"></iframe></code><figcaption class="stk-reset stk-description" data-ce-tag="description"></figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Эта девятиминутная демонстрация с генерацией ландшафта заинтересовала народ, потому что выглядит достаточно амбициозно. Когда-нибудь мы добавим эту бесконечность в игру. Если говорить конкретно о процедурной генерации, то в начале кампании у нас создаётся уникальная карта с процедурно расставленными горами, холмами, реками. Также в разных местах генерируются деревни — базовые племенные поселения для завоевания. Осматривая эти места, игрок ориентируется на ресурсы, расположенные рядом с ней, и на поселенцев: у каждого народа есть определённые особенности и характер. Эти опции тоже процедурно генерируются. Есть характер, профессия, дающая определённые бонусы, различные способы поклонения богам. Проанализировав все эти факторы, игрок поселяется в той деревне, где ему выгоднее. После того как он выполнит квест, деревня присоединяется к нему и становится основой первой фракции.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="1540" src="/upload/setka_images/08042615102021_c0c954a3a268bfc515e88839a41a25de5bd1b194.jpg" height="1155" data-image-id="22389" data-image-name="9.jpg" class="stk-image stk-reset"></div><figcaption class="stk-reset stk-description" data-ce-tag="description">Разработка новой системы рек. Скриншот: игра Will&Reason</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— У процедурной генерации есть обратная сторона, когда в результате возникают нелепые баги. Вы часто сталкиваетесь с такими проблемами?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл:</strong> Да, у нас есть огромная папка со скринами подобных багов, накопившихся за годы разработки. Естественно, мы всё это исправляем. Мне кажется, что в стратегиях такие изъяны влияют на игру меньше. Вот чего по-настоящему сложно добиться — правдоподобной карты. Если мы успеем всё исправить, вряд ли на релизе будут баги, когда берег резко превращается в какую-нибудь сушу. Но могут остаться проблемы в плане ограничения игрока в передвижении, как, например, это случается с круговыми грядами гор. Кстати, я часто сталкивался с этим в Civilization. Как вариант, игра на старте может закинуть фракцию на земли без ресурсов. Такое тоже бывает. Но всё зависит именно от количества времени, которое мы потратим на эти исправления. Нет ничего такого, что нам не по силам починить.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="1540" src="/upload/setka_images/08042615102021_cece785eb92cd643f5e788e5f37e3d933a76f56c.jpg" height="866" data-image-id="22390" data-image-name="10.jpg" class="stk-image stk-reset"></div><figcaption class="stk-reset stk-description" data-ce-tag="description">Иллюстрация на тему героев. Изображение: арт к Will&Reason / официальная группа игры во «<a href="https://vk.com/willreason" target="_blank" class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">ВКонтакте</a>»</figcaption></figure></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-theme_26309__style_large_header stk-reset" id="stk-6" data-ce-tag="paragraph"><strong class="stk-reset">Разнообразие героев</strong></h2><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— В игре заявлены герои. Какую роль они выполняют?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл: </strong>Герой — это персонаж, с которого игрок начинает партию. После присоединения фракции этих героев можно нанимать уже в процессе. Кто-то погибает, кто-то приходит и так далее. Сейчас есть 12 классов героев — и у каждого своя специфика. Есть всем известные классы — такие как воин, маг, охотник. Так как лор у нас нацелен на трайбализм раннего Средневековья, у нас может быть условный охотник на монстров, но не будет паладина.</p><p class="stk-reset" data-ce-tag="paragraph">Игрок решает, чем займётся его герой: будет постоянно воевать в поле или сидеть в городе, чтобы выполнять заказы и получать мирные бонусы, как в профессии кузнеца. Классы можно комбинировать; есть карточка с определёнными скиллами (сейчас их по девять штук) — в основном с пассивными. Некоторые из этих пассивных скиллов вместе дают активный скилл, последних намного меньше. Таких карт может быть сразу несколько. Мы даже планируем кросс-карточные скиллы: когда комбинация открытых навыков из двух разных карт даёт уникальную активную способность. Такого в игре ещё нет, но пока я просто приведу пример: если, скажем, объединить карты вора и охотника, получится активный скилл теневой стрелы.</p></div></div><div class="stk-theme_26309__mb_15 stk-grid" data-ce-tag="grid"><div data-col-width="12" class="stk-grid-col stk-grid-col_last" data-ce-tag="grid-col"><h2 class="stk-theme_26309__style_large_header stk-reset" id="stk-7" data-ce-tag="paragraph"><strong class="stk-reset">Ноды, сиды и предпочтения игроков</strong></h2><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— Если у классов такая система развития, то дерево технологий собирается ещё более необычным способом — с помощью нодов по аналогии с блюпринтами в UE4. Как вы к этому пришли?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл:</strong> Это довольно экспериментальная вещь. В любой пошаговой стратегии дерево технологий обычно проработано заранее. Всё выстраивается в цепочку от первой эпохи до последней, и игрок постепенно изучает то, что нужно. Само дерево не меняется. В редких случаях бывают режимы, когда технологии можно перемешать, как, например, в Civilization. За счёт этого получается некий рандом. При этом заранее известно, что есть четыре цепочки, по которым идёт путь развития.</p><p class="stk-reset" data-ce-tag="paragraph">Встречается и другой подход, когда древа нет, но есть накопительные технологии, как это было во второй части Crusader Kings, — к примеру, строительство кораблей первого, второго и третьего уровней.</p><p class="stk-reset" data-ce-tag="paragraph">Мы пробовали разные варианты, но дерево технологий — это такая вещь, которую вряд ли можно сделать лучше, чем в «Цивилизации», и в каком-то плане это будет уже вторично. Накопительные технологии показались нам слишком простыми. Но если Will&Reason делает акцент на выбор игрока и этот выбор влияет на игровой процесс, почему бы не применить это и к технологиям? Так появилось динамическое древо, где каждая новая технология представляет собой карточку и подключается к текущей ветке. Как разработчики, мы часто сталкиваемся с такими системами нодов, а пользователь практически ничего о них не знает.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="1540" src="/upload/setka_images/08061415102021_2229e417950c39bd1ac90259b6c781a232a40430.jpg" height="866" data-image-id="22391" data-image-name="11.jpg" class="stk-image stk-reset"></div><figcaption class="stk-reset stk-description" data-ce-tag="description">Пример визуального скриптинга с помощью блюпринтов в Unreal Engine. Скриншот: PatientZero / Habr</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph">Начали тестировать, оказалось интересно. Были огрехи, но мы их исправили. У нас не так просто состыковать ноды друг с другом из-за разных категорий: есть мирные, промышленные, военные. Соответственно, каждая технология изучается, исходя из её подключения к другой карточке той же спецификации: военные подключаются к военным, мирные к мирным и так далее.</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— Что будет, если игрок зайдёт в тупик и не сможет объединить карточки?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл: </strong>Такие ситуации встречались, и мы решали это двумя способами. На некоторых основополагающих технологиях существуют универсальные ноды — например, Правительство. Это схоже с «Цивилизацией», где были универсальные ячейки политического курса. Также у нас есть такой параметр, как Совет. Грубо говоря, это представители разных фракций из городов игрока, которые его склоняют на ту или иную фракционную сторону. Кто-то из них за Магов, кто-то за Воинов и так далее. Они выдают квесты, и наградой за выполнение задания может быть замена нодов на определённых технологиях.</p><p class="stk-reset" data-ce-tag="paragraph">Если всё складывается совсем печально, у игрока есть возможность поменять кое-какие ноды и цвета, чтобы в редких случаях соединить, скажем, мирную технологию с военной. Также есть технологии с двойным нодом, которые подключаются через мир или через войну. Например, технология верховой езды используется как в мирных целях, так и в военных. А за подключение игрок получает бонус за одну или другую сторону.</p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— Ноды появляются в процессе кампании и зависимы друг от друга?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл: </strong>Да, это как без математики не может появиться теория относительности. С точки зрения логики технология позднего уровня не может выпасть до изучения предыдущей. Поэтому те технологии, которые получает игрок, выпадают в процессе изучения других. Изначально игроку неизвестны зависимости между ними. Здесь мы ориентируемся на Stellaris: там нет древа, но есть технологии, выпадающие случайным образом. Игрок, в свою очередь, идёт гуглить подсказки с зависимостями. Мы хотим реализовать нечто похожее.</p><p class="stk-reset" data-ce-tag="paragraph">На практике, скорее всего, будут какие-то косяки. Будем тестировать на фокус-группах, проверять, что интересно, а что нет. Мы постараемся максимально автоматизировать процесс сборки нодов, чтобы игроку было комфортно.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="1540" src="/upload/setka_images/08061415102021_71b97f3681cfd481f98f8279e17d064ae63ea66a.jpg" height="866" data-image-id="22392" data-image-name="12.jpg" class="stk-image stk-reset"></div><figcaption class="stk-reset stk-description" data-ce-tag="description">Скриншот: игра Will&Reason</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">— Вы</strong> <a href="https://vk.com/@strategycon-will-and-reason-interview" target="_blank" class="stk-reset"><strong class="stk-reset">говорили</strong></a><strong class="stk-reset">, что в новой сессии игрок может найти упоминания о прошлых неудачных попытках. Как реализована эта «память» игры?</strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset">Артём Копыл:</strong> Пока это никак не реализовано, всё на стадии концепта. Но вообще, существует определённая память, которая ассоциирует игру с конкретной картой. Если копать глубже, то у каждой карты есть несколько сидов (seed) — определённых наборов чисел, из которых генерируется карта. Они есть в той же Civilization. Есть базовое число — как правило, оно большое. В нём зашифрован ландшафт и расположение всех объектов на карте. Соответственно, сиды, на которых играл пользователь, запоминаются. И для каждого сида хранится список пройденных игр, включая несколько параметров. Это индекс того тайла, на котором стояли города игрока, их значения, кем он играл и на каком уровне остановился. Количество данных о предыдущих сессиях можно увеличивать.</p><p class="stk-reset" data-ce-tag="paragraph">Если такая механика понравится пользователям, в перспективе её можно протестировать и развить до серьёзных, более глубоких вещей.</p><p class="stk-reset" id="stk-8" data-ce-tag="paragraph"><strong class="stk-reset">— Вы уделяете очень много внимания таким деталям, как экипировка юнитов, характеристики жителей деревень и так далее. Не боитесь, что игрок может просто проигнорировать такую скрупулёзность? </strong></p><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">Артём Копыл:</strong> Нет, не боимся, потому что делаем игру для разных людей. Есть игроки более хардкорные, которые любят покопаться в циферках, бесконечно менять экипировку юнита ради единичных статов, смотрят лучшие сочетания и тому подобное. Они получат такую возможность в Will&Reason. Это не даст ощутимого перевеса, но небольшое преимущество всё-таки будет. Возможно, это мотивирует кого-то к детальной кастомизации.</p><p class="stk-reset" data-ce-tag="paragraph">Также существует ряд игроков, которым это не нужно, потому что они пришли за атмосферой. Для них будет функционал автоматизированной экипировки: нашёл сундук с лутом — нажал кнопку — игра автоматически ставит лучшую броню и оружие. Или такая вещь, как пресеты юнитов в городах: не нужно каждый раз перетаскивать всю экипировку. У игрока уже есть набор лучших юнитов для использования. Поэтому мы не боимся, что кто-то проигнорирует наши задумки.</p><figure class="stk-reset stk-image-figure" data-ce-tag="image-figure"><div class="stk-mask" data-ce-tag="mask"><img width="1540" src="/upload/setka_images/08061415102021_b96f49b701f581862428f9c58e1a46c731d0aa89.jpg" height="1155" data-image-id="22393" data-image-name="13.jpg" class="stk-image stk-reset"></div><figcaption class="stk-reset stk-description" data-ce-tag="description">Модели оружия для разных народов в Will&Reason. Изображение: иллюстрации из артбука к игре Will& Reason / официальная группа игры во «<a href="https://vk.com/willreason" target="_blank" class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">ВКонтакте</a>»</figcaption></figure><p class="stk-reset" data-ce-tag="paragraph"><strong class="stk-reset" data-gtm-vis-has-fired-10171822_255="1">Вячеслав Банщиков:</strong> Добавлю, что здесь ситуация схожа с серией Dark Souls, когда мало кто из игроков знаком с лором и сюжетом игры. Кто-то в неё играет из-за дизайна локации, а кто-то ради челленджа, основанного на собственных правилах. Здесь принцип тот же самый. Одни игроки любят детальное изучение, а другие не будут заморачиваться. Но мы ещё планируем всё это тестировать.</p><p class=" align-center stk-reset" data-ce-tag="paragraph">* * *</p><p class="stk-reset" data-ce-tag="paragraph">Во второй части интервью мы продолжим обсуждение Will&Reason с разработчиками и поговорим о художественной составляющей игры, работе с Unity, мультиплеере, тонкостях маркетинга и планах на будущее.</p></div></div></div><br></body></html>
</div>
</div>
</div>
</div>
<div class="col-xl-9 col-lg-8 col-poster">
<div class="article-preview-info">
</div>
</div>
<noindex>
<div class="share" data-nosnippet>
<button class="share__handler-btn ">
<span class="share__handler-icon">
<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 4.99902L6 0V2.99805C2.688 2.99805 0 5.68505 0 8.99805V11.498H0.0980225C0.765022 8.91205 3.107 6.99805 5.901 6.99805H6.00098V9.99805L11 4.99902Z" fill="currentColor"/>
</svg>
</span>
<span class="share__handler-text">Поделиться</span>
</button>
<div class="share__list">
<a href="#" class="share__item" data-code="vk">
<span class="share__item-icon share__item-icon--vk">
<svg width="9" height="5" viewBox="0 0 9 5" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.04776 4.98054H4.53996C4.62377 4.97136 4.70279 4.9361 4.76621 4.87951C4.81226 4.81209 4.83594 4.73139 4.83369 4.64925C4.83369 4.64925 4.82574 3.94629 5.1314 3.84125C5.43701 3.73621 5.826 4.51998 6.23879 4.82297C6.39281 4.95308 6.59128 5.01558 6.79053 4.99669L7.89399 4.98054C7.89399 4.98054 8.47355 4.94415 8.19965 4.46339C7.98372 4.08315 7.70589 3.743 7.37799 3.45744C6.68338 2.77872 6.77865 2.8878 7.61219 1.71216C8.12024 0.997077 8.32269 0.556717 8.25918 0.370875C8.14651 0.254767 7.98299 0.205914 7.82655 0.241594L6.58018 0.249674C6.52565 0.241067 6.46984 0.251007 6.42141 0.277954C6.37298 0.314507 6.33466 0.363228 6.31025 0.419356C6.18259 0.772814 6.0287 1.11586 5.8498 1.44552C5.29807 2.43936 5.07579 2.49188 4.98451 2.43128C4.77416 2.28584 4.82574 1.85356 4.82574 1.54248C4.82574 0.580957 4.96468 0.176954 4.55979 0.0719133C4.36879 0.0254376 4.17259 0.00505841 3.97631 0.0113129C3.62834 -0.0214164 3.27745 0.017045 2.94429 0.124433C2.8014 0.197154 2.69423 0.358753 2.76171 0.370875C2.90334 0.385518 3.03406 0.454932 3.12688 0.564795C3.21268 0.750336 3.25481 0.953675 3.24993 1.15868C3.24993 1.15868 3.32535 2.29392 3.07925 2.43532C2.91254 2.53228 2.68232 2.33432 2.18616 1.4334C2.01958 1.11848 1.87243 0.793298 1.74557 0.459754C1.72231 0.404013 1.68704 0.354309 1.64236 0.314316C1.58589 0.272672 1.52066 0.245006 1.45184 0.233514L0.268986 0.241594C0.181167 0.241154 0.0958013 0.271066 0.0268587 0.326434C-0.00595087 0.396174 -0.00882613 0.476652 0.0189202 0.548633C0.0189202 0.548633 0.947737 2.83932 1.99563 3.99477C2.51 4.60651 3.2568 4.96526 4.04776 4.98054Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Vkontakte</span>
</a>
<a href="#" class="share__item" data-code="tw">
<span class="share__item-icon share__item-icon--tw">
<svg width="9" height="7" viewBox="0 0 9 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.52788 0.00144284V0H5.9158L6.05754 0.027414C6.15204 0.0452114 6.23783 0.068535 6.31491 0.0973918C6.39201 0.126249 6.46661 0.159917 6.53872 0.198391C6.61083 0.236864 6.67623 0.276066 6.73492 0.315982C6.79311 0.355422 6.84533 0.397265 6.89158 0.441509C6.93733 0.486237 7.0087 0.49778 7.10568 0.476138C7.20266 0.454495 7.3071 0.424433 7.419 0.38596C7.5309 0.347487 7.64156 0.304201 7.75097 0.256104C7.86039 0.208007 7.92703 0.177469 7.95091 0.164484C7.97428 0.151022 7.98671 0.143808 7.98821 0.142841L7.98969 0.140677L7.99715 0.13707L8.00461 0.133463L8.01207 0.129856L8.01953 0.126249L8.02102 0.124084L8.02326 0.122642L8.02551 0.121199L8.02699 0.119034L8.03445 0.11687L8.04191 0.115427L8.04043 0.126249L8.03818 0.13707L8.03445 0.147891L8.03072 0.158713L8.02699 0.165927L8.02326 0.173141L8.01953 0.183962C8.01705 0.191176 8.01456 0.200793 8.01207 0.212819C8.00959 0.224845 7.98596 0.272935 7.9412 0.357103C7.89644 0.441271 7.84049 0.526637 7.77335 0.613208C7.70621 0.699778 7.64604 0.765182 7.59283 0.809434C7.53911 0.854162 7.50355 0.885421 7.48614 0.903219C7.46874 0.921492 7.4476 0.938323 7.42273 0.953718L7.38543 0.977525L7.37797 0.981132L7.37051 0.984739L7.36902 0.986903L7.36678 0.988346L7.36454 0.989789L7.36305 0.991953L7.35559 0.99556L7.34813 0.999168L7.34664 1.00133L7.3444 1.00277L7.34216 1.00422L7.34067 1.00638L7.33918 1.00855L7.33694 1.00999L7.3347 1.01143L7.33321 1.0136H7.37051L7.57939 0.970311C7.71865 0.941454 7.85168 0.906588 7.9785 0.865705L8.17992 0.800777L8.2023 0.793563L8.21349 0.789956L8.22095 0.786348L8.22841 0.782741L8.23587 0.779134L8.24333 0.775527L8.25825 0.773363L8.27317 0.77192V0.786348L8.26944 0.787791L8.26571 0.789956L8.26423 0.79212L8.26198 0.793563L8.25974 0.795006L8.25825 0.79717L8.25677 0.799334L8.25452 0.800777L8.25228 0.80222L8.25079 0.804384L8.24931 0.806548L8.24706 0.807991L8.24333 0.815205L8.2396 0.82242L8.23736 0.823862C8.23637 0.825305 8.20479 0.866181 8.14262 0.946504C8.08046 1.0273 8.04689 1.06818 8.04191 1.06915C8.03694 1.07059 8.02997 1.0778 8.02102 1.09079C8.01257 1.10425 7.95985 1.15788 7.86287 1.25166C7.76589 1.34545 7.67091 1.42889 7.57791 1.502C7.48441 1.57558 7.43716 1.666 7.43616 1.77325C7.43467 1.88002 7.42895 2.00074 7.419 2.13541C7.40905 2.27007 7.3904 2.41555 7.36305 2.57186C7.3357 2.72817 7.29342 2.90492 7.23623 3.10211C7.17904 3.29929 7.10941 3.49168 7.02735 3.67925C6.94529 3.86681 6.8595 4.03514 6.76998 4.18424C6.68046 4.33334 6.5984 4.45958 6.5238 4.56299C6.4492 4.66639 6.37336 4.76378 6.29626 4.85516C6.21918 4.94654 6.12171 5.04947 6.00384 5.16393C5.88547 5.27791 5.82082 5.34044 5.80988 5.3515C5.79844 5.36208 5.74971 5.40152 5.66365 5.46981C5.57812 5.53858 5.48611 5.60736 5.38763 5.67614C5.28966 5.74443 5.19964 5.80143 5.11758 5.84711C5.03552 5.8928 4.93655 5.94498 4.82067 6.00366C4.70529 6.06282 4.58046 6.11765 4.44618 6.16815C4.3119 6.21865 4.17016 6.26554 4.02096 6.30882C3.87176 6.35211 3.72753 6.38578 3.58827 6.40982C3.44903 6.43387 3.29112 6.45431 3.11456 6.47114L2.84973 6.49639V6.5H2.36483V6.49639L2.30142 6.49279C2.25915 6.49038 2.22433 6.48797 2.19698 6.48557C2.16963 6.48317 2.06643 6.46994 1.88739 6.44589C1.70835 6.42185 1.56785 6.3978 1.4659 6.37375C1.36395 6.34971 1.21225 6.30401 1.01083 6.23668C0.809413 6.16935 0.637087 6.10129 0.493854 6.03252C0.351121 5.96422 0.261601 5.92094 0.225293 5.90266C0.189485 5.88487 0.149201 5.86275 0.10444 5.83629L0.0373001 5.79661L0.0358156 5.79445L0.0335701 5.79301L0.0313321 5.79156L0.0298401 5.7894L0.0223801 5.78579L0.0149201 5.78219L0.0134355 5.78002L0.01119 5.77858L0.00895204 5.77714L0.00746003 5.77497L0.00597548 5.77281L0.00373001 5.77137H0V5.75694L0.00746003 5.75838L0.0149201 5.76054L0.0484902 5.76415C0.0708703 5.76655 0.131796 5.77016 0.231261 5.77497C0.330733 5.77978 0.436412 5.77978 0.548312 5.77497C0.660213 5.77016 0.774605 5.75934 0.891474 5.74251C1.00835 5.72568 1.14636 5.69682 1.30551 5.65594C1.46466 5.61505 1.61087 5.56648 1.74416 5.51021C1.87695 5.45346 1.97144 5.41114 2.02764 5.38324C2.08334 5.35583 2.16838 5.30484 2.28277 5.2303L2.45435 5.11848L2.45584 5.11632L2.45808 5.11487L2.46033 5.11343L2.46181 5.11127L2.4633 5.1091L2.46554 5.10766L2.46779 5.10622L2.46927 5.10405L2.47673 5.10189L2.48419 5.10044L2.48568 5.09323L2.48792 5.08602L2.49017 5.08457L2.49165 5.08241L2.43197 5.0788C2.39219 5.0764 2.35364 5.07399 2.31634 5.07159C2.27904 5.06918 2.2206 5.05836 2.14103 5.03912C2.06146 5.01988 1.97567 4.99103 1.88366 4.95255C1.79165 4.91408 1.70213 4.86838 1.6151 4.81548C1.52807 4.76258 1.46515 4.71857 1.42636 4.68346C1.38807 4.64883 1.33833 4.59978 1.27716 4.53629C1.21648 4.47233 1.16376 4.40668 1.119 4.33934C1.07424 4.27202 1.03148 4.19433 0.990699 4.10633L0.928774 3.97503L0.925044 3.96421L0.921314 3.95339L0.919076 3.94617L0.917584 3.93896L0.928774 3.9404L0.939964 3.94256L1.02202 3.95339C1.07674 3.9606 1.16253 3.963 1.27939 3.9606C1.39627 3.9582 1.47709 3.95339 1.52185 3.94617C1.56661 3.93896 1.59396 3.93414 1.60391 3.93174L1.61883 3.92814L1.63748 3.92453L1.65613 3.92092L1.65762 3.91876L1.65986 3.91731L1.6621 3.91587L1.66359 3.91371L1.64867 3.9101L1.63375 3.90649L1.61883 3.90289L1.60391 3.89928L1.58899 3.89567C1.57904 3.89327 1.56164 3.88846 1.53677 3.88124C1.5119 3.87403 1.44476 3.84757 1.33535 3.80189C1.22594 3.7562 1.1389 3.71171 1.07424 3.66842C1.00943 3.62501 0.947626 3.57754 0.889235 3.5263C0.831047 3.47436 0.767145 3.40751 0.697513 3.32575C0.627888 3.24399 0.565724 3.149 0.511012 3.04079C0.456308 2.93257 0.415277 2.82917 0.387922 2.73058C0.360676 2.63256 0.3427 2.53235 0.334217 2.43119L0.320781 2.27969L0.328241 2.28113L0.335701 2.2833L0.343161 2.2869L0.350621 2.29051L0.358081 2.29412L0.365541 2.29772L0.481172 2.34822C0.558264 2.38189 0.653998 2.41075 0.768383 2.43479C0.882775 2.45884 0.951154 2.47207 0.973534 2.47447L1.0071 2.47808H1.07424L1.07276 2.47592L1.07051 2.47447L1.06828 2.47303L1.06678 2.47087L1.0653 2.4687L1.06305 2.46726L1.06082 2.46582L1.05932 2.46365L1.05186 2.46004L1.0444 2.45644L1.04292 2.45427L1.04067 2.45283L1.03844 2.45139L1.03694 2.44922L1.02948 2.44562L1.02202 2.44201L1.02054 2.43984C1.01905 2.43888 0.99766 2.42349 0.956376 2.39367C0.915592 2.36337 0.872823 2.32418 0.828063 2.27608C0.783303 2.22798 0.738543 2.17749 0.693783 2.12458C0.64894 2.07156 0.609 2.01483 0.574422 1.95505C0.539614 1.89493 0.502806 1.81846 0.464014 1.72564C0.425721 1.6333 0.396627 1.54023 0.376731 1.44645C0.356843 1.35266 0.345653 1.26008 0.343161 1.1687C0.340677 1.07732 0.343161 0.999168 0.350621 0.93424C0.358081 0.869312 0.373001 0.795965 0.395382 0.714206C0.417762 0.632448 0.450093 0.545877 0.492362 0.454495L0.555772 0.317425L0.559502 0.306604L0.563232 0.295782L0.565478 0.29434L0.566962 0.292175L0.568454 0.290011L0.570692 0.288568L0.572938 0.290011L0.574422 0.292175L0.575914 0.29434L0.578152 0.295782L0.580398 0.297225L0.581882 0.29939L0.583374 0.301554L0.585612 0.302997L0.589342 0.310211L0.593072 0.317425L0.595318 0.318868L0.596802 0.321032L0.697513 0.429245C0.764653 0.501387 0.844229 0.581948 0.936234 0.670921C1.02825 0.759894 1.07922 0.806065 1.08916 0.809434C1.09912 0.813279 1.11154 0.824338 1.12646 0.842619C1.14138 0.860417 1.19112 0.902981 1.27567 0.970311C1.36022 1.03764 1.47087 1.1158 1.60764 1.20477C1.74441 1.29375 1.89609 1.38152 2.0627 1.46809C2.22931 1.55466 2.40835 1.63281 2.59982 1.70255C2.7913 1.77229 2.92558 1.81798 3.00266 1.83962C3.07975 1.86127 3.21154 1.88892 3.39804 1.92259C3.58454 1.95625 3.72505 1.9779 3.81954 1.98751C3.91403 1.99713 3.97869 2.00266 4.0135 2.00411L4.06572 2.00555L4.06423 1.99473L4.06199 1.98391L4.04707 1.89373C4.03712 1.83361 4.03215 1.74944 4.03215 1.64123C4.03215 1.53302 4.04085 1.43322 4.05826 1.34184C4.07567 1.25046 4.10178 1.15788 4.13659 1.0641C4.1714 0.970311 4.20547 0.895038 4.23879 0.838291C4.27261 0.78202 4.31687 0.717814 4.37158 0.645671C4.42629 0.573529 4.49716 0.498985 4.58419 0.422031C4.67122 0.345077 4.77069 0.276542 4.88259 0.216426C4.99449 0.15631 5.09769 0.110615 5.19218 0.0793563C5.28668 0.0480971 5.36625 0.0276521 5.4309 0.0180355C5.49556 0.00841898 5.52788 0.00288568 5.52788 0.00144284Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Twitter</span>
</a>
<a href="#" class="share__item" data-code="tg">
<span class="share__item-icon share__item-icon--tg">
<svg width="10" height="7" viewBox="0 0 10 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.39589 3.04852C1.39589 3.04852 5.05491 1.51189 6.32392 0.9708C6.8104 0.754384 8.46012 0.0617918 8.46012 0.0617918C8.46012 0.0617918 9.22155 -0.241191 9.15809 0.494655C9.13692 0.797667 8.96773 1.85815 8.79854 3.00523C8.54472 4.62846 8.26976 6.40316 8.26976 6.40316C8.26976 6.40316 8.22746 6.90097 7.86791 6.98753C7.50836 7.0741 6.91613 6.68455 6.8104 6.59795C6.72577 6.53304 5.22411 5.5591 4.6742 5.08295C4.52614 4.9531 4.35695 4.6934 4.69533 4.39039C5.45676 3.67617 6.36622 2.78882 6.91613 2.2261C7.16995 1.96638 7.42374 1.36038 6.36622 2.09622C4.86456 3.15674 3.38403 4.15231 3.38403 4.15231C3.38403 4.15231 3.04561 4.36873 2.41111 4.17394C1.77657 3.97918 1.03631 3.71945 1.03631 3.71945C1.03631 3.71945 0.528726 3.39481 1.39589 3.04852Z" fill="white"/>
</svg>
</span>
<span class="share__item-text">Telegram</span>
</a>
<a href="#" class="share__item js-share-item-copy">
<span class="share__item-icon share__item-icon--copy">
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.19922 5.40327C4.37217 5.63449 4.59283 5.8258 4.84622 5.96425C5.09962 6.10269 5.37982 6.18501 5.66783 6.20564C5.95584 6.22627 6.24492 6.18471 6.51546 6.08379C6.78599 5.98287 7.03166 5.82495 7.2358 5.62074L8.44399 4.41255C8.81079 4.03277 9.01375 3.52412 9.00917 2.99615C9.00458 2.46818 8.79281 1.96313 8.41946 1.58978C8.04611 1.21644 7.54106 1.00466 7.01309 1.00008C6.48512 0.995488 5.97647 1.19845 5.59669 1.56525L4.904 2.25392" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.81002 4.59658C5.63707 4.36536 5.41641 4.17404 5.16302 4.0356C4.90962 3.89716 4.62942 3.81483 4.34141 3.79421C4.0534 3.77358 3.76432 3.81514 3.49379 3.91605C3.22325 4.01697 2.97758 4.17489 2.77344 4.3791L1.56525 5.58729C1.19845 5.96707 0.995488 6.47572 1.00008 7.0037C1.00466 7.53167 1.21644 8.03672 1.58978 8.41006C1.96313 8.78341 2.46818 8.99518 2.99615 8.99977C3.52412 9.00436 4.03277 8.80139 4.41255 8.43459L5.10122 7.74592" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="share__item-text">Скопировать ссылку</span>
</a>
</div>
</div>
</noindex>
</div>
<section class="container inset" data-banner="222621" data-source="207718" data-format="horizontal">
<section class="container inset" data-format="horizontal">
<div class="row">
<div class="col-lg-8 col-sm-12">
<a data-source="207718" data-banner="222621" target="_blank" href="https://bootcamp.skillbox.ru/2d-game/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-616_all_top_skillbox" class="article-advert-banner__link courseLink" data-format="horizontal" data-type="horizontal" data-courseid="3254">
<div class="inset__wrapper" style="background-color: #f2eeff;">
<div class="inset__content">
<h2 class="inset__header">Бесплатный курс</h2>
<p class="inset__description">
Кто вы в мире геймдева? Мини-курс для тех, кто хочет делать игры </p>
<p class="inset__text">
На бесплатном мини-курсе вы попробуете себя в роли геймдизайнера, 2D-художника, разработчика игр на Unity и выберете профессию, которая подходит именно вам. </p>
<p class="inset__button article-advert-banner__link"> Узнать, кто я</p>
</div>
<div class="inset__image">
<img src="https://skillbox.ru/upload/setka_images/gamedev_btm.png" width="145" height="145" alt="">
</div>
</div>
</a>
</div>
</div>
</section> </section>
</section>
<div class="article-banner" data-banner="225837" data-source="207718" data-format="vertical" data-type="vertical">
<div class="row">
<div class="col-sm-4 col-sm-12">
<a data-source="207718" data-banner="225837" href="https://bootcamp.skillbox.ru/2d-game-short/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-616_all_game_skillbox" class="inset__wrapper" style="background-color: #f5f5f5; display: block; text-decoration: none; color: inherit;" target="_blank">
<div class="inset__content">
<div class="inset__image" style="text-align: center;">
<img src="https://skillbox.ru/upload/setka_images/gamedev_side_b.png" width="250" height="135" alt="">
</div>
<p class="inset__description" style="color:#000!important; padding-bottom:13px;">
Любите игры? Попробуйте себя в геймдеве!
</p>
<p class="inset__text" style="color:#000!important">
Кто вы: геймдизайнер, разработчик, концепт-художник? Узнайте на бесплатном курсе.
</p>
<div class="inset__button article-advert-banner__link" style="color:#000; background-color:#52c36b; display: inline-block;">Узнать, кто я →</div>
</div>
</a>
</div>
</div>
</div>
<a data-source="207718" data-banner="219839" target="_blank" href="https://bootcamp.skillbox.ru/2d-game/?utm_source=media&utm_medium=banners&utm_campaign=all_all_media_banners_invite_bootcamp-616_all_top_skillbox" class="article-banner article-advert-banner__link" style="background-color: #f2eeff!important;" data-format="top" data-type="top">
<div class="article-banner__img">
<img src="https://skillbox.ru/upload/setka_images/gamedev_top.png" alt="">
</div>
<span class="article-banner__title"><b>Кто вы в мире геймдева? Узнайте на бесплатном курсе ➞</b><br>
Вы на практике попробуете 3 профессии: геймдизайнера, 2D-художника и разработчика на Unity. Создадите свою первую игру в стиле Mario.
</span>
<span class="article-banner__link">Узнать больше</span> </a>
<section class="container news">
<div class="row">
<div class="col-lg-8 col-sm-12">
<h2 class="news__header">Новости</h2>
<div class="row">
<div class="col-xl-4 col-lg-6 col-md-4 col-12 news__item">
<a href="/media/gamedev/novye-vakansii-v-geymdeve-v-rossii-i-drugikh-stranakh/" class="news__text">
Новые вакансии в геймдеве — в России и других странах </a>
<span class="news__date">23 июн 2025</span>
</div>
<div class="col-xl-4 col-lg-6 col-md-4 col-12 news__item">
<a href="/media/gamedev/kak-ustanovit-russkiy-yazyk-v-the-elder-scrolls-4-oblivion-remastered/" class="news__text">
Как установить русский язык в The Elder Scrolls 4: Oblivion Remastered </a>
<span class="news__date">23 апр 2025</span>
</div>
<div class="col-xl-4 col-lg-6 col-md-4 col-12 news__item">
<a href="/media/gamedev/remaster-days-gone-novaya-igra-ot-avtorov-returnal-i-drugie-igry-so-state-of-play-2025/" class="news__text">
Ремастер Days Gone, новая игра от авторов Returnal и другие игры со State of Play 2025 </a>
<span class="news__date">13 фев 2025</span>
</div>
</div>
</div>
</div>
</section>
<div class="slider-news-wrap media-catalog-content media-catalog-content--interesting">
<div class="container">
<div class="slider-news slider-news--article-slider js-slider-news">
<div class="slider-news__header">
<div class="slider-news__title" style="font-family: 'Graphik'; font-weight: 500;">
<span class="slider-news__title-notmob">Это интересно</span>
<span class="slider-news__title-mob">Это интересно</span>
</div>
<div class="slider-news__nav-wrapper">
<div class="slider-news__nav-button button-prev swiper-button-disabled" tabindex="0" role="button" aria-label="Previous slide" aria-disabled="true">
<svg viewBox="0 0 9 15" width="9" height="15" class="icon">
<use xlink:href="/static/svg/svg-symbols-site.svg#icon-arrow-chevron" href="/static/svg/svg-symbols-site.svg#icon-arrow-chevron"></use>
</svg>
</div>
<div class="slider-news__nav-button button-next" tabindex="0" role="button" aria-label="Next slide" aria-disabled="false">
<svg viewBox="0 0 9 15" width="9" height="15" class="icon">
<use xlink:href="/static/svg/svg-symbols-site.svg#icon-arrow-chevron" href="/static/svg/svg-symbols-site.svg#icon-arrow-chevron"></use>
</svg>
</div>
</div>
</div>
<div class="slider-news__carousel grad-end">
<div class="slider-news__container swiper-container swiper-container-initialized swiper-container-horizontal">
<div class="swiper-wrapper">
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/0d8/0d8aa9493e01c7ba537ff3d6448b546d/c1db1aa21b11c1d1ffa63b56ebf1f1bb.jpg">
</picture> </div>
<a href="/media/gamedev/story-anton-lovkaycis/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
«Наконец почувствовал себя на своём месте»: история геймдизайнера Антона Ловкайциса </a>
</div>
</div>
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/56b/56b55c44a69de66809b2628b5403dff2/686b7a4dcd4a19d6b8729882e2f018cc.png">
</picture> </div>
<a href="/media/gamedev/komandy-minecraft/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
Полезные команды Minecraft, о которых вы могли не знать </a>
</div>
</div>
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/9c9/9c9cd317f3b707aec56220b7fe6b5522/3091c79a2abe790014f41c95546d71e9.png">
</picture> </div>
<a href="/media/gamedev/kak-sdelat-svoj-mod-minecraft/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
Как создавать моды для Minecraft: руководство для начинающих </a>
</div>
</div>
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/335/3351deb1e791b5035982a1bc8883835b/4a6f8d0878d6eaffe5211f410aff0b7d.jpg">
</picture> </div>
<a href="/media/gamedev/story-artem-niyazov/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
«Я работал на стройке, а теперь разрабатываю игры»: история Артёма Ниязова </a>
</div>
</div>
<div class="slider-news__slide swiper-slide swiper-slide-active" style="margin-right: 20px;">
<div class="news-block__item">
<div class="news-block__img" style="margin-bottom: 8px;">
<picture>
<img src="https://248006.selcdn.ru/main/iblock/9bb/9bb6e7d9d354ccccff54426a130317ae/cf8ea59f07ab9d9303634c3166a2c0d7.png">
</picture> </div>
<a href="/media/gamedev/obzor-knigi-razrabotka-igr-na-unity-putevoditelya-po-vozmozhnostyam-igrovogo-dvizhka/" class="news-block__title" style="font-family: 'Graphik'; font-size: 14px; line-height: 19px; -webkit-line-clamp: 4; font-weight: 500">
Обзор книги «Разработка игр на Unity» — путеводителя по возможностям игрового движка </a>
</div>
</div>
</div>
<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span>
</div>
</div>
</div>
</div>
</div>
<div class="question">
<div class="container">
<div class="question__inner">
<div class="question__title">Понравилась статья?</div>
<a href="#" data-cur-url="/media/gamedev/intervyu-s-razrabotchikami-strategii-will-reason-chast-1/"
class="question__btn js-modalLink" data-mfp-src="#modalAuth">Да</a>
</div>
</div>
</div>
</div>
<span
data-area="article-bottom"
data-current-url="/media/gamedev/intervyu-s-razrabotchikami-strategii-will-reason-chast-1/"
data-id="207718">
</span>
</div>
<script type="application/ld+json">
{"@context":"http:\/\/schema.org","@type":"Article","url":"https:\/\/skillbox.ru\/media\/gamedev\/intervyu-s-razrabotchikami-strategii-will-reason-chast-1\/","headline":"\u0420\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u043a\u0430\u043a \u043f\u0443\u0442\u044c \u043a \u0441\u043f\u0430\u0441\u0435\u043d\u0438\u044e. \u0418\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 Will&amp;Reason. \u0427\u0430\u0441\u0442\u044c 1","articleSection":"\u0413\u0435\u0439\u043c\u0434\u0435\u0432","articleBody":"Уже несколько \r\nлет группа энтузиастов работает над 4X-стратегией в стилистике тёмного фэнтези — Will&Reason . Это масштабная вселенная с процедурно генерируемым миром, в котором игрок развивает свою уникальную цивилизацию, начиная с ранних времён. Чтобы понять, как авторам удалось воплотить столь амбициозную задумку на практике, мы связались с людьми, задействованными в проекте. На вопросы Skillbox Media отвечали Артём Копыл (основатель команды, программист), Вячеслав Банщиков (сценарист), Анастасия Игумнова, Виктория Елгина, Дмитрий Савин (2D-художники) и Сергей Воробьёв (3D-моделлер).\r\n\r\nВ первой части \r\nинтервью вы узнаете:\r\n\r\n- как продолжить \r\nработу над проектом, если большинство людей вышло из него [ #stk-1 ] ;\r\n- какие есть тонкости \r\nво взаимодействии с коллективом энтузиастов [ #stk-2 ] ;\r\n- чем вдохновлена \r\nWill&Reason [ #stk-3 ] ;\r\n- на чём завязан \r\nигровой процесс [ #stk-4 ] ;\r\n- каковы особенности \r\nпроцедурной генерации в стратегии [ #stk-5 ] ;\r\n- какую роль в игре \r\nвыполняют герои [ #stk-6 ] ;\r\n- как в игре появилась \r\nсистема нодов [ #stk-7 ] ;\r\n- почему детальная \r\nкастомизация юнитов имеет право на существование. [ #stk-8 ] \r\n----------------------\r\n\r\n\r\nСтуденческая \r\nмечта\r\n\r\n— Артём, будучи \r\nпрограммистом, ты мог просто трудиться на высокооплачиваемой должности и не сталкиваться с проблемами разработки собственной игры. Что побудило тебя начать этот проект?\r\n\r\n\r\n\r\n \r\n\r\n\r\nАртём Копыл\r\n\r\nИгры меня интересовали \r\nвсегда. Занимался шахматами в детстве и даже дошёл до мастера спорта, а видеоиграми увлекался ещё со времён Dendy. В моём институте среди студентов-программистов разработка игр считалась крутым занятием. Эта тенденция совпала с моими целями и идеями, и я решил действовать.\r\n\r\n— Твой выбор \r\nпал на разработку 4Х-стратегии из-за личной симпатии к этому жанру?\r\n\r\nАртём Копыл: \r\nНе совсем, всё вышло немного спонтанно. Начну с того, что любовь к 4Х-стратегиям у меня была всегда, это один из моих любимых жанров наряду с RPG. Civilization — одна из первых компьютерных игр, которые понравились мне в детстве. В моём институте было сообщество студентов, мечтающих о собственном проекте. Нас было шесть-семь человек. Мы организовали встречу, чтобы обсудить формат будущей игры. Коллективно пришли к выводу, что делать 4X-стратегию проще. Наша оценка сложности в корне не соответствовала действительности.\r\n\r\n— Неудивительно, \r\nчто коллектив распался после такого «открытия». Но ты остался верен идее?\r\n\r\nАртём Копыл: \r\nЛюди, которые вписались в проект, покинули его уже спустя две недели, за исключением одного человека, с которым мы вместе сделали редактор карт. Через некоторое время он тоже оставил разработку по семейным обстоятельствам. Так я остался один со всеми наработками, но решил, что проект нужно довести до ума. Год-полтора я просто сидел и изучал Unity в свободное время — на тот момент это был один из лучших бесплатных 3D-движков, хотя почти все руководства по нему были на зарубежных ресурсах. За этот период я перенёс свой редактор карт в 3D.\r\n\r\nБлагодаря полученным \r\nзнаниям я написал свой фреймворк для генерации ландшафта, который разместил сначала на «Пикабу», а затем и на других ресурсах. После публикации наработок откликнулись энтузиасты. Так как у меня на руках уже была основа для игры, я предложил людям принять участие в проекте. Так постепенно собралась наша команда. Даже сейчас в студии остались люди ещё с первого набора — например, художница Анастасия.\r\n \r\nОдин из первых артов проекта. Изображение: арт к Will&Reason \/ официальная группа игры во «ВКонтакте »\r\n\r\nРабота за идею\r\n\r\n— Ты набрал \r\nкоманду на «Пикабу»?\r\n\r\nАртём Копыл: \r\nНе только. Я также размещал посты на Gamedev.ru и на форуме Unity. Потом мы завели группу во «ВКонтакте», и к нам подтянулись люди из разных тематических сообществ. Но именно первая, большая часть, конечно, пришла с «Пикабу», и наш коллектив сформировался уже через две недели. Всего было около 30 желающих, но не все они остались. Как минимум половина из них хотели работать с нами.\r\n\r\n— Сколько лет \r\nразрабатывается Will&Reason, если за точку отсчёта взять стадию формирования идеи?\r\n\r\nАртём Копыл: \r\nФормально разработка длится уже лет пять, если учитывать период, когда я трудился над игрой в одиночку. Совместно с командой — более двух лет. На самом деле посчитать сложно, так как первое время мы уделяли проекту свободное время после основной работы. Я работаю над игрой фултайм уже год-полтора, а остальные участники занимаются ею по возможности. Иногда это очень хорошо получается.\r\n\r\n— Если всё-таки \r\nвзять в расчёт первую цифру, выходит пять лет чистого энтузиазма. У вас вообще нет никакого финансирования?\r\n\r\nАртём Копыл: \r\nУ нас принципиально нет финансирования. Если говорить о краудфандинге, в теории можно организовать сбор средств. И не исключено, что мы пойдём на тот же Kickstarter, но не с пустыми руками, а с демоверсией. Игроки должны понимать, что за проект мы делаем. Тогда их вера в игру будет намного сильнее. Даже когда разработчик питчит идею издателю, готовая сборка на ноутбуке вызывает больше доверия, чем просто слова, подкреплённые лишь красивыми картинками.\r\n\r\nНе исключено, \r\nчто найдутся и инвесторы. Есть пара заинтересованных компаний, которые ждут от нас билда. Исходя из этого будем смотреть. Но на данный момент разработка действительно идёт на полном энтузиазме. И все расходы на игру покрыты из собственных средств. Когда у меня была высокооплачиваемая работа, я мог нанять фрилансеров, но это были не серьёзные и долгосрочные контракты, а скорее заказ нескольких артов. Сейчас студия это не практикует, за исключением каких-то мелочей.\r\n \r\nКонцепты зданий. Изображение: арт к Will&Reason \/ официальная группа игры во «ВКонтакте »\r\n\r\n— При таких \r\nусловиях не обойдётся без текучки специалистов…\r\n\r\nАртём Копыл: \r\nЭто правда. Через Will&Reason прошло много людей, я даже затрудняюсь назвать точное количество… Наверное, человек пятьдесят. Причины бывают разные. Большинство людей уходят после первой же задачи, когда на каком-то этапе они понимают, что не справятся. Иногда меняются жизненные приоритеты: семья, работа, учёба. Или человеку просто тяжело в глобальном проекте. Кто-то ушёл насовсем, кто-то приходил, уходил и возвращался. Но есть костяк команды из пяти-шести человек, которые пришли почти на старте и работают до сих пор.\r\n\r\n— Исходя из этого — \r\nкак вы решаете проблему с незаконченной работой человека, который покинул проект?\r\n\r\nАртём Копыл: \r\nБольшая часть команды отвечает за художественное направление. Это либо 3D-моделлеры, либо 2D-художники. Прежде чем уйти, они всегда заканчивают свои работы. Если речь идёт о коде, то был момент, когда разный уровень программистов тормозил рабочий процесс. Например, на момент первых публикаций о проекте я уже устраивался на работу в качестве Senior-специалиста. А в команду приходили джуны. Соответственно, они только начинали свой путь, и это сказывалось на коде. В дальнейшем некоторые из специалистов достигли хорошего уровня. Например, наш программист Виталий пришёл в проект, имея небольшой опыт, и сейчас он на стыке Middle и Senior.\r\n\r\nБывает так, что \r\nчеловек прокачивает свои навыки в работе над проектом. А кто-то не может, и часть его работы остаётся. В начале из-за этого код в проекте был очень связанным, но я отрефакторил практически весь код (примерно 95%) и разбил проект на модули, чтобы разные части отключались для проведения тестирования. Сейчас я даже не ищу программистов: хорошего специалиста-энтузиаста найти очень сложно, а в остальных случаях нужны деньги.\r\n\r\nС новичками \r\nтяжело: придётся больше объяснять, чем работать, и мне проще решить задачу самому. Хотя у меня тоже не всегда бывает гладко со временем, так как в качестве подработки я параллельно веду занятия по Unity. Думаю, с появлением финансирования мы наберём недостающие кадры и будет легче.\r\n \r\nСкриншот: личный архив Артёма Копыла\r\n\r\n— То есть у вас \r\nуже есть какие-то задумки по дальнейшему развитию студии?\r\n\r\nАртём Копыл: \r\nЕсли говорить о росте до полноценной компании, то, скорее всего, мы продолжим работу на удалёнке плюс откроем офис. У меня есть опыт преподавания, можно развиваться и в этом направлении: обучать программистов и привлекать их в работу над актуальной игрой и теми, которые появятся в будущем. Скажу больше: многие новички после участия в проекте уже нашли работу. Я получал от них сообщения, где они называли конкретные задачи в разработке игры, которые помогли им в трудоустройстве. Это приятно. Я думаю, что участие в таком проекте, как Will&Reason, для новичков геймдева — большой стимул.\r\n\r\nВячеслав Банщиков: \r\nИменно с такой целью я и пришёл в этот проект. До этого вообще не было никакого опыта, просто интерес к геймдеву. Нашёл группу во «ВКонтакте», спросил Артёма: «Нужен ли такой зелёный, необстрелянный?» Мне ответили: «Давай попробуем». Правда, потом я переписывал один и тот же текст по 10 раз, но это пошло только на пользу.\r\n\r\nИстоки концепции\r\n\r\n— Артём, ты упомянул, \r\nчто тебе нравится «Цивилизация», но при задумке \r\n4Х-стратегии \r\nты явно не стремился создать очередной клон. Что новое ты хотел привнести в жанр?\r\n\r\nАртём Копыл: \r\nЯ большой любитель фильмов и книг, посвящённых фэнтези-тематике. Какое-то время даже увлекался исторической реконструкцией и ролевыми играми. Поэтому меня интересовала разработка проекта с уникальной вселенной. При этом, несмотря на наличие классических фэнтези-элементов, хотелось каких-то новых изобретений и технологий в рамках фэнтезийного мира, которые часто встречаются в литературе и кинематографе. Таким образом, систематизировав контент из книг и разных фэнтези-вселенных, мы собрали некий конструктор. С ним пользователь мог отыграть различные ситуации, которые ещё не встречал в играх, но о которых наверняка задумывался.\r\n \r\nФильм «Хроники хищных городов» вдохновил разработчиков на создание похожих технологий в Will&Reason. Кадр: фильм «Хроники хищных городов»\r\n\r\n— Почему ты начал \r\nне с проработки мира и сеттинга Will&Reason, а с редактора карт? Техническая основа в данном случае важнее?\r\n\r\nАртём Копыл: \r\nДа, потому что на разных ресурсах в Сети существует миллион статей с кейсами, когда люди тоже начинают даже с более масштабных концепций, чем наша. Но после обдумывания идеи процесс заходит в тупик. Разработчики собирают команду и понимают, что не продвинутся дальше без финансирования. Старт с технической части был своеобразной проверкой, смогу ли я работать в таком темпе и есть ли у концепции какая-то основа. Когда выяснилось, что процесс пошёл и функционирует, а сама идея интересна не только мне, но и другим людям, в том числе различным компаниям, я понял, что можно продолжать и накидывать на основу идеи, которые сформировались за время, проведённое в других играх.\r\n\r\n— Уникальность \r\nкаждого жителя мира была уже на раннем этапе разработки?\r\n\r\nАртём Копыл: \r\nИзначально я хотел, чтобы каждый юнит в мире игры обладал уникальными навыками, параметрами и мог стать кем угодно. В перспективе из таких жителей игрок мог собрать армию или рабочий класс. Было интересно проверить эту задумку на практике. В идеале я хотел связать всё это каким-то образом с искусственным интеллектом, чтобы у каждого жителя был свой характер. Для тех лет это были безумные идеи. Я довольно сумбурно расписывал их в вышеупомянутом первом посте на «Пикабу». В дальнейшем мы обсуждали и формировали эту концепцию с командой в течение нескольких месяцев, пытались довести её до ума. Сейчас мы уже частично от неё отказались, но какие-то намётки остались — например, кастомизация юнитов с собственными навыками и инвентарём.\r\n\r\nУстройство \r\nвселенной Will&Reason\r\n\r\n— В Will&Reason каждый \r\nигрок выбирает свой путь развития. Расскажите, как это происходит.\r\n\r\nАртём Копыл: \r\nДля начала я объясню, чем это развитие обусловлено. Мир Will&Reason — это калька с нашего мира. Народы, которые в нём проживают, пока условно разделены на южан, северян и жителей центральной полосы. На данный момент мы рассматриваем только человеческую расу. Возможно, позже мы добавим другие виды, но пока речь идёт только о людях.\r\n \r\nЮниты в игре отличаются внешне в зависимости от территорий. Изображение: арт к Will&Reason \/ официальная группа игры во «ВКонтакте »\r\n\r\nИгрок начинает \r\nна этапе очень раннего Средневековья. На карте существуют различные поселения с племенами, которые никак не развиваются, потому что их всё устраивает. В какой-то момент они сталкиваются с необычными явлениями, монстрами, аномалиями, катаклизмами и понимают, что противостоять этой напасти можно только развивая технологии.\r\n\r\nВсего существует \r\nтри направления развития на выбор. Если игрок выберет путь науки и изучения мира, со временем его народ станет фракцией Технократов, которые эволюционируют до эпохи стимпанка. Можно отдать предпочтение железной дисциплине и силе воли, и за счёт этого появится фракция Воинов. Также есть направление, которое на ранних этапах напоминает шаманизм и со временем приводит к появлению фракции Магов. При этом большую роль играет территориальное расположение. Если это северяне, то в итоге получатся Северные Маги, — и так далее. Различия не только визуальные, но и геймплейные.\r\n \r\nКонцепты героев на разных территориях карты. Изображение: арт к Will&Reason \/ официальная группа игры во «ВКонтакте »\r\n\r\nПомимо этого, \r\nесть дерево технологий с возможностью прокачки различных элементов. Например, если речь идёт о передвижных городах Технократов, то им можно настроить платформы и источники энергии: уголь, ядовитое топливо, электричество, колёса, гусеницы, механические «ноги» — все эти модули игрок изучает в процессе сессии. За счёт разнообразия комбинаций получается множество вариантов развития.\r\n\r\n— Будут ли гибридные \r\nфракции? Например, Маги-технократы и так далее?\r\n\r\nАртём Копыл: \r\nИзначально такая возможность была, но пока мы её убрали, поскольку контента и так много. Вместо этого будут универсальные ветки, доступные всем. Например, приручение существ: в игре есть ездовые животные. Та же алхимия доступна Магам и Технократам. Всё это, конечно, развивается не так сильно, как нам бы того хотелось. Если в будущем у нас появится финансирование и большой штат, мы сможем реализовать весь потенциал подобных вещей.\r\n\r\n— У вас заявлено \r\nпять временных эпох, через которые проходит цивилизация. Как происходит переход в новую стадию развития и что для этого необходимо? \r\n\r\nАртём Копыл: \r\nВо время прохождения кампании игрок набирает очки определённого вида. Например, если он предпочитает воевать, то накапливает военные очки. То же самое происходит и с другими фракциями. В итоге набирается некоторое количество очков, и советник предлагает выбрать направление. От этого можно отказаться и вложить больше усилий в прокачку нужной ветки, чтобы дойти до желаемого уровня развития. Аналогично и с деревом технологий: существуют варианты, ведущие в разные стороны, и у каждой из фракций есть своя уникальная ветвь развития. В первые две эпохи идёт общее развитие, а с третьей оно поделено на три основных направления. Таким образом, набор очков и развитие веток даёт игроку возможность сделать правильный выбор.\r\n \r\nИгра в стартовой фазе. Скриншот: личный архив Артёма Копыла\r\n\r\n— В Will&Reason существует \r\nпроработанный пантеон богов. С какой мифологией его можно сравнить?\r\n\r\nАртём Копыл: \r\nКак и народы, религиозные направления в игре основаны на реальных пантеонах. Религия северян напоминает скандинавскую мифологию. И мы использовали образы богов из известных мифов в качестве референсов для нашей игры. Например, есть бог правосудия Форсети, который в скандинавской мифологии часто изображался с копьём. От того, какой стороной он его держал, зависело окончательное решение спора. У нас есть похожий бог с посохом, но его образ не просто позаимствован, а обусловлен лором до мелочей — даже существует объяснение, откуда взялся посох у этого божества.\r\n\r\nВ религии жителей \r\nцентральной полосы есть отсылки к греческой и кельтской мифологии. Боги южан напоминают о Древнем Египте и кочевых племенах… Ничего нового мы тут не придумали. Но у каждого божества в нашей игре есть свой характер и способности для взаимодействия. Бог может прогневаться на игрока или, наоборот, поддержать его. Это влияет на дальнейшие бонусы в игровой сессии.\r\n\r\n— Что за катаклизмы \r\nпроисходят в игре и как им противостоять?\r\n\r\nАртём Копыл: \r\nСамые простые — глобальное потепление и похолодание. Визуально это выглядит как смена текстур на карте с применением VFX. Скажем, через каждый ход снег или пустыня заполняет несколько тайлов земли.\r\n\r\nСуществует \r\nнесколько вариантов противостоять катаклизмам. Первый — через собственные технологии. Если Технократам в результате вышеописанных событий стало некомфортно жить в текущей зоне, с помощью технологии передвижных городов они переносят базу на более плодородное место. В свою очередь, маги поднимут свой город в воздух, если у них будет такая возможность. А воины, согласно концептам, применяют способности, связанные с мутациями, рунами и энергетическими барьерами. Всё это работает через развитие технологий. Если игрок делает упор на религию, он может договориться с божеством, которому поклоняется на протяжении игры.\r\n\r\nПолный список \r\nкатаклизмов ещё дорабатывается. Обязательно будут нашествия монстров и ментальная болезнь, сводящая людей с ума. Можно провести аналогию со Stellaris: там есть немало испытаний и несколько вариантов конца света.\r\n\r\n— Насколько \r\nэто частое явление? Катаклизмы направлены только на игрока или способны насолить враждебным участкам?\r\n\r\nАртём Копыл: \r\nОни действуют на всю карту и постепенно увеличивают область своего действия. Люди замечают это и понимают, что аномальные события будут только усиливаться. К концу игры происходит глобальный ивент на половину карты, который насолит всем, кто окажется в зоне поражения. Это одна из основ игры — избежать урона и подставить под удар противника.\r\n \r\nКонцепт-арт животного, мутировавшего под воздействием катаклизма. Изображение: арт к Will&Reason \/ официальная группа игры во «ВКонтакте »\r\n\r\nСоздание карт\r\n\r\n— Поговорим \r\nо процедурной генерации ландшафта в Will&Reason. Как она влияет на геймплей, респаун, карту и так далее?\r\n\r\nАртём Копыл: \r\nЭто не инновация для игр такого плана. Если посмотреть на «Цивилизацию» или другую подобную стратегию — там обязательно есть процедурная генерация в том или ином виде. В таких играх важна реиграбельность, чтобы во время каждой партии у игрока было ощущение нового мира. В противном случае ему наскучит геймплей после первых двух игр на одинаковой карте. Поэтому процедурная генерация важна. Более того, у нас есть и бесконечный мир, который мы не используем на данный момент, но технически он реализован.\r\n\r\nЭта девятиминутная \r\nдемонстрация с генерацией ландшафта заинтересовала народ, потому что выглядит достаточно амбициозно. Когда-нибудь мы добавим эту бесконечность в игру. Если говорить конкретно о процедурной генерации, то в начале кампании у нас создаётся уникальная карта с процедурно расставленными горами, холмами, реками. Также в разных местах генерируются деревни — базовые племенные поселения для завоевания. Осматривая эти места, игрок ориентируется на ресурсы, расположенные рядом с ней, и на поселенцев: у каждого народа есть определённые особенности и характер. Эти опции тоже процедурно генерируются. Есть характер, профессия, дающая определённые бонусы, различные способы поклонения богам. Проанализировав все эти факторы, игрок поселяется в той деревне, где ему выгоднее. После того как он выполнит квест, деревня присоединяется к нему и становится основой первой фракции.\r\n \r\nРазработка новой системы рек. Скриншот: игра Will&Reason\r\n\r\n— У процедурной \r\nгенерации есть обратная сторона, когда в результате возникают нелепые баги. Вы часто сталкиваетесь с такими проблемами?\r\n\r\nАртём Копыл: \r\nДа, у нас есть огромная папка со скринами подобных багов, накопившихся за годы разработки. Естественно, мы всё это исправляем. Мне кажется, что в стратегиях такие изъяны влияют на игру меньше. Вот чего по-настоящему сложно добиться — правдоподобной карты. Если мы успеем всё исправить, вряд ли на релизе будут баги, когда берег резко превращается в какую-нибудь сушу. Но могут остаться проблемы в плане ограничения игрока в передвижении, как, например, это случается с круговыми грядами гор. Кстати, я часто сталкивался с этим в Civilization. Как вариант, игра на старте может закинуть фракцию на земли без ресурсов. Такое тоже бывает. Но всё зависит именно от количества времени, которое мы потратим на эти исправления. Нет ничего такого, что нам не по силам починить.\r\n \r\nИллюстрация на тему героев. Изображение: арт к Will&Reason \/ официальная группа игры во «ВКонтакте »\r\n\r\nРазнообразие \r\nгероев\r\n\r\n— В игре заявлены \r\nгерои. Какую роль они выполняют?\r\n\r\nАртём Копыл: \r\nГерой — это персонаж, с которого игрок начинает партию. После присоединения фракции этих героев можно нанимать уже в процессе. Кто-то погибает, кто-то приходит и так далее. Сейчас есть 12 классов героев — и у каждого своя специфика. Есть всем известные классы — такие как воин, маг, охотник. Так как лор у нас нацелен на трайбализм раннего Средневековья, у нас может быть условный охотник на монстров, но не будет паладина.\r\n\r\nИгрок решает, \r\nчем займётся его герой: будет постоянно воевать в поле или сидеть в городе, чтобы выполнять заказы и получать мирные бонусы, как в профессии кузнеца. Классы можно комбинировать; есть карточка с определёнными скиллами (сейчас их по девять штук) — в основном с пассивными. Некоторые из этих пассивных скиллов вместе дают активный скилл, последних намного меньше. Таких карт может быть сразу несколько. Мы даже планируем кросс-карточные скиллы: когда комбинация открытых навыков из двух разных карт даёт уникальную активную способность. Такого в игре ещё нет, но пока я просто приведу пример: если, скажем, объединить карты вора и охотника, получится активный скилл теневой стрелы.\r\n\r\nНоды, сиды и предпочтения \r\nигроков\r\n\r\n— Если у классов \r\nтакая система развития, то дерево технологий собирается ещё более необычным способом — с помощью нодов по аналогии с блюпринтами в UE4. Как вы к этому пришли?\r\n\r\nАртём Копыл: \r\nЭто довольно экспериментальная вещь. В любой пошаговой стратегии дерево технологий обычно проработано заранее. Всё выстраивается в цепочку от первой эпохи до последней, и игрок постепенно изучает то, что нужно. Само дерево не меняется. В редких случаях бывают режимы, когда технологии можно перемешать, как, например, в Civilization. За счёт этого получается некий рандом. При этом заранее известно, что есть четыре цепочки, по которым идёт путь развития.\r\n\r\nВстречается \r\nи другой подход, когда древа нет, но есть накопительные технологии, как это было во второй части Crusader Kings, — к примеру, строительство кораблей первого, второго и третьего уровней.\r\n\r\nМы пробовали \r\nразные варианты, но дерево технологий — это такая вещь, которую вряд ли можно сделать лучше, чем в «Цивилизации», и в каком-то плане это будет уже вторично. Накопительные технологии показались нам слишком простыми. Но если Will&Reason делает акцент на выбор игрока и этот выбор влияет на игровой процесс, почему бы не применить это и к технологиям? Так появилось динамическое древо, где каждая новая технология представляет собой карточку и подключается к текущей ветке. Как разработчики, мы часто сталкиваемся с такими системами нодов, а пользователь практически ничего о них не знает.\r\n \r\nПример визуального скриптинга с помощью блюпринтов в Unreal Engine. Скриншот: PatientZero \/ Habr\r\n\r\nНачали тестировать, \r\nоказалось интересно. Были огрехи, но мы их исправили. У нас не так просто состыковать ноды друг с другом из-за разных категорий: есть мирные, промышленные, военные. Соответственно, каждая технология изучается, исходя из её подключения к другой карточке той же спецификации: военные подключаются к военным, мирные к мирным и так далее.\r\n\r\n— Что будет, \r\nесли игрок зайдёт в тупик и не сможет объединить карточки?\r\n\r\nАртём Копыл: \r\nТакие ситуации встречались, и мы решали это двумя способами. На некоторых основополагающих технологиях существуют универсальные ноды — например, Правительство. Это схоже с «Цивилизацией», где были универсальные ячейки политического курса. Также у нас есть такой параметр, как Совет. Грубо говоря, это представители разных фракций из городов игрока, которые его склоняют на ту или иную фракционную сторону. Кто-то из них за Магов, кто-то за Воинов и так далее. Они выдают квесты, и наградой за выполнение задания может быть замена нодов на определённых технологиях.\r\n\r\nЕсли всё складывается \r\nсовсем печально, у игрока есть возможность поменять кое-какие ноды и цвета, чтобы в редких случаях соединить, скажем, мирную технологию с военной. Также есть технологии с двойным нодом, которые подключаются через мир или через войну. Например, технология верховой езды используется как в мирных целях, так и в военных. А за подключение игрок получает бонус за одну или другую сторону.\r\n\r\n— Ноды появляются \r\nв процессе кампании и зависимы друг от друга?\r\n\r\nАртём Копыл: \r\nДа, это как без математики не может появиться теория относительности. С точки зрения логики технология позднего уровня не может выпасть до изучения предыдущей. Поэтому те технологии, которые получает игрок, выпадают в процессе изучения других. Изначально игроку неизвестны зависимости между ними. Здесь мы ориентируемся на Stellaris: там нет древа, но есть технологии, выпадающие случайным образом. Игрок, в свою очередь, идёт гуглить подсказки с зависимостями. Мы хотим реализовать нечто похожее.\r\n\r\nНа практике, \r\nскорее всего, будут какие-то косяки. Будем тестировать на фокус-группах, проверять, что интересно, а что нет. Мы постараемся максимально автоматизировать процесс сборки нодов, чтобы игроку было комфортно.\r\n \r\nСкриншот: игра Will&Reason\r\n\r\n— Вы говорили \r\n[ https:\/\/vk.com\/@strategycon-will-and-reason-interview ] , что в новой сессии игрок может найти упоминания о прошлых неудачных попытках. Как реализована эта «память» игры?\r\n\r\nАртём Копыл: \r\nПока это никак не реализовано, всё на стадии концепта. Но вообще, существует определённая память, которая ассоциирует игру с конкретной картой. Если копать глубже, то у каждой карты есть несколько сидов (seed) — определённых наборов чисел, из которых генерируется карта. Они есть в той же Civilization. Есть базовое число — как правило, оно большое. В нём зашифрован ландшафт и расположение всех объектов на карте. Соответственно, сиды, на которых играл пользователь, запоминаются. И для каждого сида хранится список пройденных игр, включая несколько параметров. Это индекс того тайла, на котором стояли города игрока, их значения, кем он играл и на каком уровне остановился. Количество данных о предыдущих сессиях можно увеличивать.\r\n\r\nЕсли такая механика \r\nпонравится пользователям, в перспективе её можно протестировать и развить до серьёзных, более глубоких вещей.\r\n\r\n— Вы уделяете \r\nочень много внимания таким деталям, как экипировка юнитов, характеристики жителей деревень и так далее. Не боитесь, что игрок может просто проигнорировать такую скрупулёзность? \r\n\r\nАртём Копыл: \r\nНет, не боимся, потому что делаем игру для разных людей. Есть игроки более хардкорные, которые любят покопаться в циферках, бесконечно менять экипировку юнита ради единичных статов, смотрят лучшие сочетания и тому подобное. Они получат такую возможность в Will&Reason. Это не даст ощутимого перевеса, но небольшое преимущество всё-таки будет. Возможно, это мотивирует кого-то к детальной кастомизации.\r\n\r\nТакже существует \r\nряд игроков, которым это не нужно, потому что они пришли за атмосферой. Для них будет функционал автоматизированной экипировки: нашёл сундук с лутом — нажал кнопку — игра автоматически ставит лучшую броню и оружие. Или такая вещь, как пресеты юнитов в городах: не нужно каждый раз перетаскивать всю экипировку. У игрока уже есть набор лучших юнитов для использования. Поэтому мы не боимся, что кто-то проигнорирует наши задумки.\r\n \r\nМодели оружия для разных народов в Will&Reason. Изображение: иллюстрации из артбука к игре Will& Reason \/ официальная группа игры во «ВКонтакте »\r\n\r\nВячеслав Банщиков: \r\nДобавлю, что здесь ситуация схожа с серией Dark Souls, когда мало кто из игроков знаком с лором и сюжетом игры. Кто-то в неё играет из-за дизайна локации, а кто-то ради челленджа, основанного на собственных правилах. Здесь принцип тот же самый. Одни игроки любят детальное изучение, а другие не будут заморачиваться. Но мы ещё планируем всё это тестировать.\r\n\r\n* * *\r\n\r\nВо второй части \r\nинтервью мы продолжим обсуждение Will&Reason с разработчиками и поговорим о художественной составляющей игры, работе с Unity, мультиплеере, тонкостях маркетинга и планах на будущее.","author":{"@type":"Person","name":"\u041b\u0435\u043e\u043d \u0411\u0430\u043b\u0431\u0435\u0440\u0438","url":"https:\/\/skillbox.ru\/media\/authors\/leon-balbery\/"},"publisher":{"@type":"Organization","name":"Skillbox","logo":{"@type":"ImageObject","url":"https:\/\/skillbox.ru\/static\/images\/skillbox.png"}},"mainEntityOfPage":{"@type":"WebPage","url":"https:\/\/skillbox.ru\/media\/gamedev\/intervyu-s-razrabotchikami-strategii-will-reason-chast-1\/"},"datePublished":"2021-10-18T08:10:00Z","dateModified":"2022-07-27T08:13:57Z","image":{"@type":"ImageObject","url":["https:\/\/248006.selcdn.ru\/main\/iblock\/856\/856fba2960d30cfcbddab7be29a29e77\/e6dd4820422b636cf05bd789e0ef31c8.png"]},"description":"\u0420\u0430\u0437\u0433\u043e\u0432\u043e\u0440 \u043e \u0433\u0435\u0439\u043c\u043f\u043b\u0435\u0439\u043d\u044b\u0445 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u0445 \u0438\u0433\u0440\u044b, \u0440\u0430\u0431\u043e\u0442\u0435 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438."}
</script><script data-skip-moving="true" id="FiMjZmipVK5U4ODg">if (window.relap) window.relap.ar('FiMjZmipVK5U4ODg');</script> </div>
<script>
window.Section_id = 18;
</script>
</div>
</main>
<footer class="without-buttons">
<div class="footer__wrapper container">
<div class="footer__firstgroup">
<section class="footer__contactbox">
<address class="footer__contacts">
<p class="footer__contacts-block">
<a class="footer__phone link" href="tel:+74951540915">8 (800) 500-05-22</a>
<span class="footer__phone-caption">Контактный центр</span>
</p>
<p class="footer__contacts-block">
<a class="footer__phone link" href="tel:+74952915987">+7(495) 291-59-87</a>
<span class="footer__phone-caption">Отдел заботы о пользователях</span>
</p>
<p class="footer__address"> Москва, Ленинский проспект, дом 6, строение 20</p>
</address>
<ul class="social-contacts footer__social">
<li>
<a class="social-contacts__item" href="https://vk.com/skillbox_education"
aria-label="Вконтакте">
<img src="/static/images/footer/soc_vk.svg"/>
</a>
</li>
<li>
<a class="social-contacts__item"
href="https://www.youtube.com/channel/UC2FJq-Rr7v4SlKAoM7x0ZhA" aria-label="YouTube">
<img src="/static/images/footer/soc_tube.svg"/>
</a>
</li>
<li>
<a class="social-contacts__item" href="tg://resolve?domain=skillboxru"
aria-label="Telegram">
<img src="/static/images/footer/soc_tg.svg"/>
</a>
</li>
</ul>
<div class="footer__age-limit">
16+
</div>
</section>
<section class="footer__rewardbox">
<ul class="rewards footer__rewards">
<li>
<span class="rewards__item">
<img src="/static/images/footer/footer_runet.svg" alt=""/>
<span>Премии Рунета</span>
<span>2018, 2019, 2020</span>
</span>
</li>
</ul>
</section>
</div>
<section class="footer__linksbox">
<ul class="links__list links__list--courses">
<li class="links__item links__item--header">Все направления</li>
<li class="links__item"><a href="/code/?utm_source=media&utm_medium=button&utm_campaign=footerlink_code&utm_term=footer">Программирование</a></li>
<li class="links__item"><a href="/design/?utm_source=media&utm_medium=button&utm_campaign=footerlink_design&utm_term=footer">Дизайн</a></li>
<li class="links__item"><a href="/marketing/?utm_source=media&utm_medium=button&utm_campaign=footerlink_marketing&utm_term=footer">Маркетинг</a></li>
<li class="links__item"><a href="/management/?utm_source=media&utm_medium=button&utm_campaign=footerlink_management&utm_term=footer">Управление</a></li>
<li class="links__item"><a href="/games/?utm_source=media&utm_medium=button&utm_campaign=footerlink_gamedev&utm_term=footer">Игры</a></li>
<li class="links__item"><a href="/multimedia/?utm_source=media&utm_medium=button&utm_campaign=footerlink_multimedia&utm_term=footer">Мультимедиа</a></li>
<li class="links__item"><a href="/psychology/?utm_source=media&utm_medium=button&utm_campaign=footerlink_psychology&utm_term=footer">Психология</a></li>
<li class="links__item"><a href="/general-development/?utm_source=media&utm_medium=button&utm_campaign=footerlink_general-development&utm_term=footer">Общее развитие</a></li>
<li class="links__item"><a href="/engineering/?utm_source=media&utm_medium=button&utm_campaign=footerlink_engineering&utm_term=footer">Инженерия</a></li>
<li class="links__item"><a href="/english/?utm_source=media&utm_medium=button&utm_campaign=footerlink_english&utm_term=footer">Английский язык</a></li>
<li class="links__item"><a href="/other/?utm_source=media&utm_medium=button&utm_campaign=footerlink_other&utm_term=footer">Другое</a></li>
</ul>
<ul class="links__list links__list--about">
<li class="links__item links__item--header">О Skillbox</li>
<li class="links__item"><a href="/company/?utm_source=media&utm_medium=button&utm_campaign=footerlink_aboutskillbox&utm_term=footer">О Платформе</a></li>
<li class="links__item"><a href="/career/?utm_source=media&utm_medium=button&utm_campaign=footerlink_careercentr&utm_term=footer"> Центр карьеры</a></li>
<li class="links__item"><a href="/otzyvy/?utm_source=media&utm_medium=button&utm_campaign=footerlink_testimonials&utm_term=footer">Отзывы</a></li>
<li class="links__item"><a href="/contacts/?utm_source=media&utm_medium=button&utm_campaign=footerlink_skillboxcontacts&utm_term=footer">Контакты</a></li>
<li class="links__item"><a href="/jobs/?utm_source=media&utm_medium=button&utm_campaign=footerlink_jobs&utm_term=footer">Вакансии</a></li>
<li class="links__item"><a href="/teachers/?utm_source=media&utm_medium=button&utm_campaign=footerlink_school&utm_term=footer">Школа кураторов</a></li>
<li class="links__item"><a href="/sale/free/?utm_source=media&utm_medium=button&utm_campaign=footerlink_free&utm_term=footer">Бесплатно</a></li>
<li class="links__item"><a href="/media/topic/tests/?utm_source=media&utm_medium=button&utm_campaign=footerlink_tests&utm_term=footer">Онлайн-тесты</a></li>
</ul>
<ul class="links__list links__list--webinar">
<li class="links__item links__item--header">Вебинары</li>
<li class="links__item"><a href="https://live.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_webinars&utm_term=footer" target="_blank" rel="noopener">Все вебинары</a></li>
<li class="links__item"><a href="https://live.skillbox.ru/playlists/?utm_source=media&utm_medium=button&utm_campaign=footerlink_playlists&utm_term=footer" target="_blank" rel="noopener">Плейлисты</a></li>
<li class="links__item"><a href="https://live.skillbox.ru/calendar/?utm_source=media&utm_medium=button&utm_campaign=footerlink_schedule&utm_term=footer" target="_blank" rel="noopener">Расписание</a></li>
</ul>
<ul class="links__list links__list--last">
<li class="links__item links__journal"><a href="/media/" target="_blank" rel="noopener">Медиа</a></li>
<li class="links__item"><a href="https://partners.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_partners&utm_term=footer" target="_blank" rel="noopener">Партнерская программа</a></li>
<li class="links__item"><a href="https://b2b.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_b2b&utm_term=footer" target="_blank" rel="noopener">Корпоративным клиентам</a></li>
<li class="links__item"><a href="https://career.skillbox.ru/?utm_source=media&utm_medium=button&utm_campaign=footerlink_employees&utm_term=footer" target="_blank" rel="noopener">Для работодателей</a></li>
</ul>
</section>
</div>
<div class="footer__underline container">
<span class="footer__copy">
© Skillbox, 2026 </span>
<div>
<span class="footer__oferta">
<a href="/oferta.pdf" target="_blank">Договор оферты</a>
</span>
<span class="footer__payment">
<a href="/payments/" target="_blank">Оплата</a>
</span>
<span class="footer__use-policy">
<a href="/terms_of_use.pdf" target="_blank">Правила пользования Платформой</a>
<a href="/privacy_policy.pdf" target="_blank">Политика конфиденциальности</a>
</span>
</div>
</div>
</footer>
<div class="cookies">
<p class="cookies__desc">
Пользуясь нашим сайтом, вы соглашаетесь с тем, что
<a href="https://skillbox.ru/privacy_policy.pdf" target="_blank" rel="noopener"
type="application/pdf">мы используем cookies</a> 🍪
</p>
<button type="button" class="cookies__button">
Окей
</button>
</div>
<div class="subscribe-popup subscribe">
<div class="subscribe-popup__spacer-mobile"></div>
<div class="subscribe-popup__row-content ">
<button class="subscribe__close"></button>
<div class="subscribe__content">
<div data-subscribe-popup-success class="hidden">
<h2 class="subscribe__header-success">Спасибо за подписку! Забирайте 5 бесплатных курсов:</h2>
<ul class="subscribe__list-block">
<li>Найти себя в IT за 5 дней</li>
<li>Как найти себя в дизайне в 2025 году</li>
<li>Интерьеры, мебель, ландшафт и декорирование</li>
<li>Интернет-маркетинг на практике</li>
<li>Бизнес-аналитик, продакт- и проджект-менеджер</li>
</ul>
<div class="subscribe__btns-el">
<a
target="_blank"
href="https://refer.id/?bot=skillbox_main_bot&platform=telegram&verbose_name=Skillbox&bot_avatar=https://designer.ftrcdn.com/uploads/bot_avatars/medium_54ab1ce8c393eb3df1474846ce0a0e2c.png&n=137050&c=9209&bc_number=890&?utm_source=media&utm_medium=&utm_campaign=all_all_media_banners_invite_sbornik-890_all_bot_skillbox"
class="subscribe__el-btn">Получить доступ</a>
</div>
</div>
<div data-subscribe-popup-content>
<h2 class="subscribe__header">У нас есть классные рассылки!</h2>
<form action="/media/gamedev/intervyu-s-razrabotchikami-strategii-will-reason-chast-1/" class="newsletter-form page-subscription__form3" data-type="popup">
<input type="hidden" name="action" value="subscribe">
<div class="subscribe__checkboxes"></div>
<div class="subscribe__email email_popup">
<input class="subscribe-form__input" type="text" name="email" placeholder="Email" >
<span class="subscribe-form__label-name">Электронная почта</span>
<button type="submit" class="popup-btn-click">Подписаться</button>
<span class="email__error">Поле необходимо заполнить</span>
</div>
<div class="subscribe-popup__checkbox-end">
<div class="subscribe-popup__checkbox-item" data-checkbox-personal-data>
<div class="subscribe__checkbox">
<input type="checkbox" name="agreements[PERS]" id="isCheckTrue" value="1" data-checkbox-personal-data-input>
<label for="isCheckTrue"><span>Я согласен на <a target="_blank" href="https://skillbox.ru/legal-docs/chou/file/privacy_policy/version-290425.pdf">обработку персональных данных</a></span></label>
</div>
<span class="email__error">Нужно ваше согласие</span>
</div>
<div class="subscribe__bottom">
<span>Нажимая на кнопку, я соглашаюсь с <a target="_blank" href="https://skillbox.ru/legal-docs/skillbox/file/terms_of_use/version-300824.pdf">правилами пользования Платформой</a></span>
</div>
<div class="subscribe-popup__checkbox-item" data-checkbox-personal-data-two>
<div class="subscribe__checkbox subscribe__checkbox--end" >
<input type="checkbox" name="agreements[ADS]" id="isAdsCalls" value="1" checked="" data-checkbox-personal-data-input-two>
<label for="isAdsCalls">Я согласен <a target="_blank" href="https://skillbox.ru/legal-docs/chou/file/soglasie-na-poluchenie-reklamy.pdf">получать рекламу и звонки</a></label>
</div>
<span class="email__error">Нужно ваше согласие</span>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- src="/static/images/articles/subscribe-popup-img.png" -->
</div>
<div class="bg-modal-overlay bg-modal-overlay--transparent"></div>
<script data-skip-moving="true" id="popup__data--formatted">
$(".popup-btn-click").on("click" , function (){
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
let input = $(this).closest(".subscribe__email").find(".subscribe-form__input");
let inputValue = input.val();
if(emailPattern.test(inputValue)) {
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() { rrApi.setEmail(inputValue);});
}
});
/*
window.popupData = {
"8": {
header: 'У нас есть классные рассылки про дизайн!!!',
category: 'Дизайн',
checkboxes: [
'Лучшие статьи про Дизайн',
'«Типографика без боли»'
]
},
"10": {
header: 'У нас есть классные рассылки про код',
category: 'Код',
checkboxes: [
'Лучшие статьи про Код и Людей кода',
'«Жизнь без багов»'
]
},
"18": {
category: 'Геймдев',
checkboxes: []
},
"21": {
header: 'У нас есть классные рассылки про бизнес',
category: 'Бизнес',
checkboxes: [
'Лучшие статьи про Бизнес',
'«Цифровая жизнь»',
'«EdTech по полочкам»'
]
},
"9": {
header: 'У нас есть классные рассылки про бизнес',
category: 'Маркетинг',
checkboxes: [
'Лучшие статьи про Бизнес',
'«Цифровая жизнь»',
'«EdTech по полочкам»'
]
},
"11": {
header: 'У нас есть классные рассылки про бизнес',
category: 'Управление',
checkboxes: [
'Лучшие статьи про Бизнес',
'«Цифровая жизнь»',
'«EdTech по полочкам»'
]
},
"17": {
category: 'Развитие',
checkboxes: []
},
"22": {
header: 'У нас есть классные рассылки про образование',
category: 'Образование',
checkboxes: [
'Лучшие статьи про Образование',
'«EdTech по полочкам»',
'«Мой успешный онлайн-курс»'
]
},
}
*/
window.popupData = {"header":"\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 - \u043d\u0430 \u043f\u043e\u0447\u0442\u0443!\u003Cbr\/\u003E\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u043c\u0443 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438\u003Cbr\/\u003E\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 5 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043a\u0443\u0440\u0441\u043e\u0432:","category":"\u0413\u0435\u0439\u043c\u0434\u0435\u0432","checkboxes":{"23":"\u041c\u0435\u043d\u0435\u0434\u0436\u043c\u0435\u043d\u0442","24":"\u041c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433","26":"\u041a\u043e\u0440\u043f. \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435","13":"\u0414\u0438\u0437\u0430\u0439\u043d","16":"\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435","15":"\u041e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","17":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u0433\u0440","18":"\u041f\u0441\u0438\u0445\u043e\u043b\u043e\u0433\u0438\u044f, \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e"},"code":"gamedev","scroll":true};
window.subscribePopupShow = 1;
</script>
<div class="copied">
<img src="/static/images/articles/done-circle.svg" alt="" class="copied__icon">
<p class="copied__text">
Ссылка скопирована
</p>
</div>
<!-- <style>@font-face{font-display:swap;font-family:Graphik;font-weight:500;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Medium.woff2) format("woff2")}@font-face{font-display:swap;font-family:Graphik;font-weight:700;font-style:normal;src:url(https://248006.selcdn.ru/Shared/fonts/GraphikLCTT-VA-Bold.woff2) format("woff2")}.universal-notice{box-sizing:border-box;text-decoration:none;display:none;min-height:48px;color:var(--banner-color);background-color:var(--banner-bg);overflow:hidden;font-family:Graphik,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:opacity .25s ease-in-out;transition:opacity .25s ease-in-out}.universal-notice *{box-sizing:inherit}.universal-notice.universal-notice--active{display:block}.universal-notice--bitrix{z-index:1000}.universal-notice__wrapper{position:relative;-webkit-box-pack:start;justify-content:flex-start;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;margin-left:12px;padding:4px 0}.universal-notice__title{position:relative;flex-shrink:0;width:132px;margin-right:27px;font-size:14px;line-height:20px;text-transform:uppercase}.universal-notice__timer{display:none;margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.universal-notice__button{flex-shrink:0;min-width:120px;padding:8px 12px;border-radius:25px;font-weight:500;font-size:12px;line-height:16px;color:#3925b7;text-align:center;text-transform:uppercase;background-color:#ffa6a6}@media (min-width:768px){.universal-notice{min-height:72px}.universal-notice__wrapper{-webkit-box-pack:center;justify-content:center;height:72px;margin:0}.universal-notice__title{width:252px;margin-right:32px;margin-left:20px;font-size:24px;line-height:32px}.universal-notice__button{min-width:200px;margin-right:20px;padding:14px 36px;font-size:16px;line-height:20px}}@media (min-width:768px) and (max-width:0px){.universal-notice{min-height:72px}.universal-notice__wrapper{-webkit-box-pack:center;justify-content:center;height:72px;margin:0}.universal-notice__title{width:252px;margin-right:32px;margin-left:20px;font-size:24px;line-height:32px}.universal-notice__button{min-width:200px;margin-right:20px;padding:14px 36px;font-size:16px;line-height:20px}}@media (min-width:1280px) and (max-width:0px){.universal-notice__wrapper{padding:0}.universal-notice__title{width:unset;margin-right:76px}.universal-notice__timer{flex-shrink:0;margin-right:32px;font-weight:700;font-size:24px;line-height:32px}.universal-notice__timer.js-universal-notice-active{display:-webkit-box;display:flex}.universal-notice__days{margin-right:5px}}@media (min-width:1280px){.universal-notice__wrapper{padding:0}.universal-notice__title{width:unset;margin-right:76px}.universal-notice__timer{flex-shrink:0;margin-right:32px;font-weight:700;font-size:24px;line-height:32px}.universal-notice__timer.js-universal-notice-active{display:-webkit-box;display:flex}.universal-notice__days{margin-right:5px}}</style>-->
</body>
</html>