Привет! Меня зовут Евгений Судак, и я два с половиной года руководил отделом гейм-дизайна в Pixonic. Сегодня я хотел бы поговорить о тестовых заданиях. Каждый, кто искал работу в игровой индустрии и не только, так или иначе сталкивался с тестовыми заданиями. Разнообразие их не перестает поражать воображение. Короткие, длинные, общие или специфические. Все они объединены общим знаменателем: это тот момент, где соискателю предлагается продемонстрировать навыки и знания в безопасной тестовой среде.  В этой статье я разберу тестовое задание, которое я создал почти два года назад. Но прежде, чем мы перейдем непосредственно к его разбору, я позволю себе сделать маленький шаг назад и высказаться о ситуации в целом. Тестовые задания я условно делю на три большие категории: Тест на общую адекватность. Этот тип тестовых призван просто проверить адекватность человека, его целеустремленность и готовность потратить некоторое количество времени ради устройства на работу. Очень часто такие задания короткие, имеют возможность машинной проверки и отправляются всем соискателям автоматически, являясь первым шагом для собеседования. Как правило, применяются на стартовых позициях, где особых знаний/навыков ждать не приходится. Тест специфических знаний. Эти тестовые призваны проверить какие-то специфические знания. Обычно они нуждаются в проверке специалистом, и в них предлагается сделать небольшой кусок реальной работы. Их стараются составлять таким образом, чтобы решение нельзя было найти поверхностным поиском в сети. Чаще всего с такими ТЗ сталкиваются технические специалисты. Тест мышления и квалификации. Самые сложные тестовые. Хотя бы потому, что в них, как правило, отсутствует единственно верное решение, а иногда решения нет совсем. Также часто такие тестовые занимают довольно много времени, или требуют доступа к внешним сервисам, или хотя бы времени на первичное ознакомление с проектом. Как правило, применяются на креативных позициях среднего/высокого уровня. И это только те варианты, с которыми приходилось сталкиваться мне: уверен, существует еще пара категорий, которые прошли мимо меня. Но и этих трех вполне достаточно, чтобы мне, как руководителю, ответственному за найм, приходилось держать и актуализировать минимум три тестовых с разными алгоритмами проверки, и сама мысль об этом в свое время повергала меня в ужас.  Сверх этого у меня стояла над-задача: мне нужно было убедиться, что человек способен внимательно читать, понимать, осмысливать написанное и излагать свои мысли, и эту задачу нужно было решать помимо основных. Что делает сложность написания этого тестового довольно высокой. Но я же дизайнер! Поэтому я сел и составил для себя список требований к тестовому, которое было бы оптимальным для меня. Вот этот список: Тестовое задание не должно быть привязанным к конкретному проекту. Это позволяет исключить необходимость знакомства с ним и убирает обвинения нас в том, что мы хотим украсть идеи соискателя. Оно должно быть одно. Я ленивый человек, и поддерживать актуальными несколько тестовых я не буду. Плюс, в этом случае мне не нужно думать, какое из тестовых заданий отправить — ссылка всегда под рукой. Оно должно дать мне возможность не только проверить знания, но и оценить их уровень.  Тестовое задание должно быть одинаково интересно и джуну, и кандидату на должность лида, и даже младшего продюсера.  Тестовое должно закрывать все интересующие меня специализации. Вооружившись этими ограничениями, я сел писать тестовое. В следующей части статьи я разберу его по кирпичикам, укажу основные маркеры и логику заданий. Тестовое задание лежит в свободном доступе, по постоянной ссылке. Его можно брать, модифицировать под себя и использовать так, как вам заблагорассудится. У него есть пара проблемных мест, о них я расскажу в конце статьи. Итак, перейдя по ссылке, мы видим документ, первый абзац которого выглядит так: Данное тестовое задание представляет из себя 12 задач, разных по уровню сложности. Первые две задачи обязательны к выполнению, для подачи тестового на ревью достаточно выполнить хотя бы три. Количество решенных задач не так важно для нас, гораздо важнее другие вещи: порядок выполнения задач, качество исполнения и ход ваших рассуждений. Мы просим вас самих по возможности честно отмечать время, которое у вас заняло выполнение той или иной задачи. Это позволит нам сделать тестовое задание лучше. Вам не нужно сделать все «как можно быстрее». У заданий нет неправильных ответов. Целью задания является продемонстрировать ход мысли и процедуру принятия решений. И уже на этом месте часть кандидатов сыпятся. Они не читают первый абзац (там же нет номера задачи), не читают условий, кидаются решать все подряд, забывают отмечать время. На самом деле, тут кроется сразу несколько ловушек, рассчитанных на то, что обойдет их человек, который внимательно читает тестовое. Напишите в комментариях, какие из них вы заметили — мне интересно. А пока давайте рассмотрим первую задачу. Выбери любую игру (ПК, консоли, мобилки) из сыгранных за последний год. Кратко опиши цикл взаимосвязанных активностей (кор луп) игры. Выдели 2-3 основных недостатка в дизайне. Почему и как они делают игру хуже? Почему они важнее всех прочих? Почему именно эта игра? Первая и самая большая ошибка, на которой в первой же задаче сыпятся новички, — выбор проекта. Многие в этом месте выбирают свою любимую игру. Обычно это игры большие и сложные, типа S.T.A.L.K.E.R., The Legend of Zelda или Clash Royale. А дальше наступает ступор, потому что соискатель не может охватить всю сложность дизайна (а перечисленные проекты довольно сложные с точки зрения дизайна) и либо переключаются на проект попроще (плюсик в карму), либо описывают только поверхностные активности (терпимо), либо сразу пропускают пункт про кор-луп, и двигаются к следующему предложению (прям жирный минус). В результате, не видя перед глазами того самого кор-лупа, они вместо того, чтобы опираться на дизайн игры и анализировать ее недостатки, сваливаются в откровенную вкусовщину — или, что еще хуже, в «мой персонаж не нагибает», и расписывают, как им больно, забывая о том, что дизайн — он не про «нравится», он про решение проблемы. Мне отдельно еще всегда очень интересен пункт про причины выбора именно этого проекта: здесь сразу можно понять уровень мышления человека.  Переходим к следующему обязательному пункту программы. Напиши концепт модификации, которая бы исправляла одну из найденных выше проблем. Концепт должен содержать: 1. Какая проблема решается;2. Краткое описание идеи;3. Описание основных сущностей и взаимодействий;4. Как именно такая модификация решит проблему. Этот пункт оставляет довольно много пространства для воображения и ровно по тем же причинам оставляет довольно большое поле для ошибок. Самая главная из них — падение во вкусовщину. Не могу сосчитать, сколько раз я получал ответы на это задание, в которых ответ на вопрос «какую проблему решаем» заключался в «мне будет играть лучше». Дизайнер в первую очередь должен думать об игроке, о том, как изменение обогатит его опыт. Замечу отдельно, что далеко не всегда обогащение опыта означает играть лучше.  Следующая большая ошибка — слишком много букв (знаю, иронично писать об этом в статье на ХХХХ знаков). Многие дизайнеры вместо краткого описания предложений по существу расписывают целую рукопись про собачку Долли, девочки Полли, которую мы пойдем спасать, тратят чудовищное количество времени и сил, потом смотрят, что это лишь второе задание из 12 и на этом их боевой запал иссякает. Они худо-бедно делают еще одно задание и отправляют мне простыню текста и жалобу на то, что задание чудовищно огромное. Еще раз: внимательно читаем все условия. Следующая задача — со звездочкой. Это значит, что она а) чуть сложнее средней задачи в этом тестовом и б) рассчитана на специализацию. То есть, здесь я ожидаю базового решения от рядового ГД и более подробного от того ГД, который хочет заниматься механиками. Задача выглядит так: Задачка со звездочкой: Придумай новую механику (кор, мета, взаимодействие, действие), которой нет в выбранной тобой игре, которая позволит либо увеличить количество сессий в день, либо увеличит среднее время сессии, либо увеличит возвращаемость в игру. Объясни свой выбор. И это место, в котором происходит второй значительный отвал из воронки тестового. Начать хотя бы с того, что некоторые отваливаются на самом понятии «механика». Многие упускают из вида поставленную задачу, напрочь игнорируя входящие условия, а ведь именно они должны бы направить дизайн в нужное русло.  Ну и мое любимое — пункт «Объясни свой выбор». Вообще, это один из столпов работы геймдизайнера: уметь внятно и структурно изложить ход своих мыслей и рассуждений, подобрать аргументацию, термины и технические спецификации, чтобы облегчить работу тех, кто будет эту документацию читать. Тем больнее раз за разом читать аргументы сводящиеся к «мне так нравится» или «так я смогу всех нагибать». Такой подход демонстрирует крайне потребительскую позицию по отношению к играм и говорит о глубоком непрофессионализме. Тем не менее, значительное количество, так или иначе, справляются с этой задачей. Но тут их зачастую ждет следующая задача, которая часто вызывает, пожалуй, наибольший уровень недоумения: Постарайся оценить, какое влияние окажет модификация из п.2 на другие аспекты игры? Если влияние негативное — как мы можем его компенсировать? Оценка взаимосвязей — одна из самых важных задач. Это тот момент, когда мы теряем большую часть джунов, потому что эта задача рассчитана скорее на уровень джун+/мидл. Здесь нам нужно не только заметить (по возможности) все взаимосвязи с другими аспектами игры, но и дать оценку, как они изменятся, и предложить методы компенсации. Это очень часто выходит боком, когда выполняющий задание понимает, что выбрал слишком сложную игру. Поэтому читайте все тестовое прежде, чем выполнять задачи из него. В целом дальнейшие задачи предполагают все более высокую квалификацию/специализацию у соискателя, поэтому возможен момент, на котором я вас потеряю. Если вдруг это произошло — постарайтесь запомнить место, на котором возникли сложности, и вернуться к этому позже. Быть может, это даст вам какие-то новые инсайты. А мы, тем временем, двигаемся дальше, к следующей задаче. В выбранной тобой игре меняется сеттинг. Как это повлияет на игровой процесс? На целевую аудиторию? На какой сеттинг ты бы поменял сеттинг игры и почему? Кажущаяся простой задача, которая должна продемонстрировать у кандидата понимание сеттинга и его взаимосвязей с игровыми механиками. Очень часто проблемы возникают в том месте, когда соискатель говорит: «Было бы круто получить третьего “Ведьмака” в сеттинге НФ», — но совершенно  не представляет того пласта проблем, которые за собой повлечет это изменение. Это приводит к откровенной вкусовщине, попыткам заткнуть дыры чем попало и плохому геймдизайну. Тут еще одна ловушка, в которую многие неопытные ГД попадают. По-хорошему, в этом месте стоит спросить: «Зачем мы это делаем? Каких целей хотим добиться?» И уже потом, исходя из дополненных данных, выдвигать гипотезы. И это то место, на котором окончательно отваливаются джуны.  Здесь я позволю себе маленькое отступление, и позволю себе коротко рассказать про уровни геймдизайнеров. В Pixonic приняты следующие ступени: junior, middle, senior, principal. Лид является скорее функционалом, чем ступенью: им может быть любой ГД, кроме джуна, и ими очень редко ставят принципалов — они слишком ценны. Чуть подробнее о каждой ступени: Junior. Умеет выполнять базовые операции, нуждается в детальной постановке задач, в промежуточном и финальном контроле. Основное требование — обязательность, сказал — сделал, и отсутствие страха приходить за помощью. Middle. Умеет выполнять весь спектр работ на проекте. Не обязательно все прям отлично и быстро, но умеет все, то есть — если что-то случится со всей командой, кроме одного мидла, ни одна часть проекта не умрет. Нуждается в общей постановке задач, финальном контроле и в векторах потенциального развития. Основное требование — автономия, выстрелил — забыл. Senior. Умеет все то же, что и мидл, но лучше. Имеет одну-две специализации, в которых разбирается значительно лучше. Умеет учить джунов, то есть — рефлексировать и переупаковывать опыт в удобоваримую форму, умеет выполнять декомпозицию задач для джунов, может подсказать, где искать то или иное решение. Нуждается в указании проблемы, дальше решает сам. Основное требование — проактивность, умение находить проблемы, умение учить джунов. Principal. Топовый специалист в нескольких областях. Умеет больше, чем может потребоваться проекту, поэтому часто совмещает работу на нескольких проектах в рамках своей специализации. Сам может не только решать любые задачи, но и модерировать, вести дискуссию, а также сформировать вектор развития для мидлов. Не нуждается уже ни в чем, кроме признания заслуг и чтобы его не дергали по мелочам. Основное требование — глубочайшее увлечение своей областью, постоянное саморазвитие, работа с мидлами. Lead. Функционал, который может выполнять любой, начиная с мидла. При этом нужно помнить, что лид меньше работает руками и больше с людьми, и выбирать кандидатуру, исходя из этих требований. Нуждается в постоянной обратной связи касательно своих управленческих навыков, в мониторинге психологического состояния (так как работа гораздо более требовательна к этому). Основное требование — доверие тех, кто работает с ним. Итак, мы разобрались, какие требования я предъявляю к каждой ступени. Передохнули? Поехали дальше по задачам и ловушкам. Задачка со звездочкой: Составь приблизительный график доходов и расходов игрока по валютам выбранной игры. Как бы ты его изменил, и почему? Как вы догадались по звездочке, это сложная задача, на специализацию. Геймдизайнеров-экономистов вообще очень мало, и выявлять потенциально хороших нужно как можно раньше: они будут изучать соответствующие аспекты профессии глубже. В целом, от готового специалиста я жду понимания разницы явных и скрытых валют, умения оценить дефицит и профицит всех ресурсов, умения составить цикл дефицита ресурсов в игре. Но это чудовищная редкость — поймать человека, который понимает все три части. Так что тут алгоритм примерно следующий: видит одну из частей — можно учить, видит две — можно брать на работу, видит три — хватаем и не отпускаем. Экономика вообще зачастую лежит в основе многих геймдизайнерских решений, нужно просто уметь ее увидеть. Поэтому деконстракт без экономики — пол-деконстракта. Впрочем, я увлекся. Экономика в геймдизайне — моя любимая тема, поэтому тут меня часто немного заносит. Поэтому сделаем над собой усилие и двинемся дальше. Разбей описанный тобой концепт из п.2  на фичи, по возможности атомарные, которые можно будет разрабатывать независимо. Расставь приоритеты. Объясни свой выбор. Вот мы и добрались до самой сути работы геймдизайнера. Эта задача прекрасно демонстрирует основную ценность работы геймдизайнера. Сможет ли соискатель не просто придумать что-то хорошее, но и грамотно описать это, сэкономить время разработки, переиспользовать механики или ассеты из других аспектов игры, распараллелить производство, хотя бы потенциально? Не выбрал ли он слишком громоздкую модификацию, которая выглядит интересно только в виде краткой концепции, а при попытке расписать ее вызывает только головную боль?  Ну и надо приоритезировать фичи, желательно с обоснованием, почему это так. И к обоснованию будут предъявлены вопросы. Здесь есть еще одна ловушка, но я оставлю ее для внимательных читателей. Нашли? Напишите в комментариях. Напиши ТЗ на одну из фичей для программиста, который не видел эту игру. Можно использовать референсы, но без графических материалов. Отличное задание даже в отрыве от тестового. Невозможность использования графических материалов вынуждает прибегать к подробным текстовым описаниям, что прекрасно демонстрирует уровень владения языком, качество аргументации и структурность мышления. Я искренне рекомендую вам самим время от времени описать фильм, картину, или книгу, не прибегая к картинкам, названию или прямым указаниям так, чтобы человек, читающий это, смог понять, о каком произведении идет речь (при условии, что он с ним знаком, разумеется). Человек, справляющийся с задачами такого уровня, демонстрирует уже потенциал сениора. Но в идеале в вашей команде таким навыком должны обладать все.  Задачка со звездочкой: Как изменится баланс в игре после релиза концепта из п.2? Дай оценку изменениям. По сути, это закономерное развитие п. 4. Задача призвана дать возможность продемонстрировать свои навыки соискателям, претендующим на специализацию в балансе. В идеале я жду здесь уже каких-то графиков, цифр, возможно, формул. Оценка изменений — тоже очень важный аспект этой задачи, как и аргументы, которые выбирает соискатель. Идеальный кандидат на этой задаче может даже приложить Excel-таблицу со старым балансом и новым на соседнем листе, подсветив изменения. Но я опять увлекаюсь, так что смотрим дальше. Продюсер выбранного тобой проекта пришел с задачей: нам нужен новый слой монетизации на проекте. Он должен выполнять минимум две из поставленных задач:1. Увеличение конверсий;2. Увеличение среднего чека;3. Увеличение повторной покупки;4. Увеличение частоты транзакций.Опиши порядок действий при условии, что у тебя есть еще два геймдизайнера, которые могут тебе помочь. Какие задачи ты будешь решать в первую очередь, и почему? Как ты организуешь процесс решения? Задача в первую очередь для тех, кто претендует на позицию лида. Она описывает вполне типичную ситуацию на проекте, которая будет возникать довольно регулярно. И если в этом месте вы вскрикнули: «Опять free-to-play, можно же работать над обычными играми», — выдохните и подумайте еще раз. Перед классическими премиум-играми тоже часто стоят такие задачи, и во многих играх они прекрасно решаются.  Ну и если ваш ход мыслей пошел в сторону придумывания новой фичи — поздравляю, вы попали в ловушку. Ведь задание не про это! Задание, в первую очередь, про процесс и взаимодействие. Именно процессуальный подход и опора на команду отличает хорошего потенциального лида. Поэтому тут я жду совсем других вопросов и совсем другого подхода. Коварный я, да? Задачка со звездочкой: Геймдизайнер приносит тебе концепт игры. На что ты обратишь внимание в первую очередь? По каким критериям будешь принимать/отвергать его?  Данная задача — маркер потенциального продюсера. Она позволяет понять, обладает человек продуктовым мышлением, может ли он из концепта выловить главное, способен ли он сформулировать четкий список критериев оценки игры? Обычно с кандидатами, хорошо решающими это задание, получаются очень интересные беседы. Но в целом это задание совершенно не обязательно к выполнению, если только человек не решит продемонстрировать свои навыки в этой области (да-да, бывает, что продюсеры переходят в геймдизайнеры). Задачка со звездочкой: В выбранном проекте нужно создать отдельное приключение для игрока. Оно должно предваряться сообщением, которое простимулирует игрока отправиться в это приключение. Напиши, как бы ты решил эту задачу, дай текст сообщения. Задание для тех, кто претендует на специализацию в нарративе, хочет продемонстрировать свои навыки в этой области или просто отдохнуть в конце тестового. Я сам далеко не специалист в нарративном дизайне — возможно, если вы будете искать нарративщиков, оно вам не подойдет. Оно правда довольно простое, но и тут есть подводные камни. И самый большой — в слове «простимулирует». Не отправит, не заставит, не проинформирует! То есть, приключение необязательное, то есть — нам нельзя ограничиться простым «сейчас вы отправитесь в Башню Тьмы», но и написать «иди в Башню Тьмы, иначе ты не поиграешь в это новое приключение» тоже нельзя. Здесь важно выдержать баланс между интересом, связью с сеттингом и обещаниями. В данном случае это можно сформулировать примерно так: «Башня Тьмы хранит множество древних секретов. Хотите раскрыть ее тайны и отыскать Топор короля Олгрина? Вход в башню находится прямо за Водопадом Теней». Как-то так. Как я и говорил, я не специалист. Так выглядит тестовое, которое я использую для найма геймдизайнеров. Оно позволяет мне довольно точно определить уровень геймдизайнера, а значит — лучше подготовиться к собеседованию. Я сознательно пропустил несколько ловушек: не хотим же мы давать прям пошаговую инструкцию, как пройти тестовое, правда? В начале статьи я обещал вам рассказать о проблемных местах этого тестового. Долг платежом красен, и раз уж вы дочитали до этого места, придется и мне поделиться с вами. Как и любое другое тестовое задание, это тоже несовершенно. Я пока не встречал совершенного тестового, да и не стремился такое создать. В первую очередь, я создавал тестовое задание удобное. Поэтому пришлось пойти на кое-какие компромиссы: Это задание не проверяется машиной. Хорошо иметь тестовое, из которого можно записать цифры от соискателя и получить индикацию правильных/неправильных ответов. Но мне нужно видеть, как человек думает, а значит — простой математикой тут не ограничишься. Это задание предъявляет определенную планку требований к соискателю. Оно требует внимательности, самостоятельной оценки сложности и времени. Поэтому частенько мне начинающие ГД жалуются, что задание отнимает у них очень много времени. Хотя толковый сениор решает все задачи этого тестового за 4 часа, не больше. Это задание предъявляет определенную планку требований к проверяющему. Для того, чтобы проверить чей-то ход мысли, ты должен поспевать за мыслью этого человека. Ну или, по крайней мере, уметь замечать, что чьи-то мысли умнее твоих настолько, что ты за ними не поспеваешь. Впрочем, это хороший индикатор того, что человека нужно нанимать. Вот, пожалуй, и все. Надеюсь, вы получили от чтения этой статьи такое же удовольствие, как я — от написания. Кстати, пока я писал эту статью, у меня появилась пара мыслей о заданиях, которые стоило бы добавить в это тестовое, так что через некоторое время вы вполне можете увидеть там апдейт. Спасибо за внимание, и хороших вам тестовых!