Google Sheets для геймдизайнера. Часть 1: Сортировка данных

Введение доступно по ссылке:
https://mistle-gamer.livejournal.com/9773.html

В начале я хотела описать все интересные приемы работы с Google таблицами в одной статье, но фронт работ оказался таким огромным, что мне придется разбить ее на четыре части и объединить в цикл, который будет охватывать такие интересные вещи, как:

  • сортировка данных;
  • работа с текстом;
  • рандомайзеры;
  • создание таблиц с рецептами крафта;
  • упрощение работы с большим объемом данных.

Пойдем, конечно, от простого к сложному.

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

Итак, поехали.

Для того, чтобы было нагляднее, я создала табличку на Google диске. Вы можете ее открыть, скопировать к себе на диск, пощупать все формулы и посмотреть более подробно как они сделаны. Ссылка на табличку:

https://docs.google.com/spreadsheets/d/1bsDebERvoNifQQwQd9asLiUQRwjGUbz5XG0IT2f7uas/edit#gid=0

Страница 1: Сортировка данных

На данной странице мы попробуем рассмотреть различные варианты сортировки данных и вывода интересующей нас информации из таблицы с расчетами.

Оглавление статьи:

  1. Присвоение свойств по значению (IFS)
  2. Подсчет количества ячеек, соответствующих условию (COUNTIF)
  3. Округление (IFS, CEILING)
  4. Сортировка части диапазона по параметрам (SORT, FILTER)
  5. Усложненная сортировка с ограничением количества итоговых значений (SORTN, SORT, FILTER)
  6. Сортировка по алфавиту (SORT)

Таблица 1: Присвоение свойств по значению

Задача 1

Дано:
Столбец B - уровни, на которых оружие становится доступным игроку;
Столбец C - название оружия;
Столбец D - урон оружия.

Вопрос:
К какому тиру относится оружие с определенным уроном?

Решение

Вспомогательная таблица 1.1 - Параметры тиров.

Тир в данном случае — это уровень редкости оружия. Каждый тир имеет определенную дельту урона.

Например,
Тир 1 - это урон 0-150
Тир 2 - это урон 151-250
и так далее.

Формула определения тира оружия по урону

Общий вид формулы:

IFS - это формула, позволяющая задать группу пар условие — значение. Формула осуществляет проверку этих условий и если хоть одно из них является правдивым, то формула возвращает идущее в паре с первым правдивым условием значение.

Синтаксис этой формулы следующий:

Где:
condition1 - какое-либо условие;
value1 - значение в случае, если условие исполняется;
[condition2, ...], [value2, ...] - альтернативные условия и значения.

ННа простом примере:

В нашем случае формула расшифровывается так:

Если (ячейка C7 больше или равна 150, Обычный, ячейка C7 больше или равна 250 — Редкий) и так далее.

Задача 2

Дано:
Столбец B - уровни, на которых оружие становится доступным игроку;
Столбец C - название оружия;
Столбец D - урон оружия;
Столбец E - тип тира оружия по урону.

Вопрос:
Сколько оружия каждого тира есть в табличке?

Решение:

Вспомогательная таблица 1.2 - Подсчет количества оружия по тирам

Общий вид формулы:

COUNTIF - это формула, которая подсчитывает количество ячеек, соответствующих определенному условию.

Синтаксис этой формулы следующий:

Где:
range - диапазон, в котором формула производит поиск и подсчет;
criterion - условие, по которому производится проверка.

На простом примере:

В нашем случае это:

Считаем если (ищем в диапазоне $D$7:$D$12, Обычное)
Считаем если (ищем в диапазоне $D$7:$D$12, Редкое)
И так далее.

Collapse )

Google Sheets для геймдизайнера. Введение.

Google Sheets — это очень полезный и удобный инструмент для ведения дизайн-документации. Как и Google Docs он удобен благодаря возможностям совместного редактирования, доступности с любого девайса и, конечно, тем, что сервис является бесплатным. По своей функциональности он не уступает Microsoft Excel, плюс Google таблицы имеют большое количество дополнений и расширений, которые вы можете бесплатно подключить, если стандартного набора инструментов вам не хватает.

Для чего можно использовать Google таблицы?

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

  1. Для расчета баланса.
  2. Для быстрых списков задач по проекту, багов, выявленных после тестирования, предложений и прочего, что потом конвертируется в задачи. Удобно хранить черновики так, а не засорять рабочую доску проекта.
  3. Для хранения систематизированных данных, например, диалогов и квестов. Если нет специальной тулзы, то удобно хранить подобные вещи в таблицах, откуда потом их можно добавлять в проект. Примечательно, что Google таблицу можно скачать в различных форматах и благодаря этому можно автоматизировать обновление данных в проекте, если сразу заливать туда скачанный в нужном формате файл.
  4. Для оглавлений, которые содержат ссылки на другие документы по проекту.
  5. Для списков со статусом готовности каких-то работ по проекту.

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

Общая функциональность Google таблиц

Итак, какие интересные возможности Google таблиц могут пригодится во время работы с документом?

Возможность 1 — Абсолютная ссылка

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

Абсолютная ссылка создается при помощи символа «$», который ставится перед буквой столбца, цифрой ряда, или обоими этими значениями.

$А1 — закрепляет ссылку на столбец, то есть, формула всегда будет ссылаться на значения столбца А.
А$1 — закрепляет ссылку на ряд, то есть, формула всегда будет ссылаться на ячейки ряда 1.
$А$1 — закрепляет ссылку на конкретную ячейку, то есть, куда бы вы не тянули формулу, она всегда будет будет ссылаться на ячейку А1.

На простом примере:

Мы хотим, чтобы значения из столбца B умножались на значение из ячейки A2. В случае обычной ссылки, расчет выглядит так:
строка 2 — =B2 * A2
строка 3 — =B3 * A3
строка 4 — =B4 * A4
И так далее.

В случае абсолютной ссылки на ячейку, формула выглядит так:
строка 2 — =B2 * $A$2
строка 3 — =B3 * $A$2
строка 4 — =B4 * $A$2

Возможность 2 — Именной диапазон ячеек

Иногда в формулах используется ссылка на один и тот же диапазон. Чтобы не указывать его снова и снова, есть возможность закрепить его в рамках всего документа.

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

Именные диапазоны также можно использовать для удобства чтения формул: когда в формуле кроме ссылок на ячейки встречаются какие-то понятные условные обозначения — воспринимать ее гораздо проще.

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

Для того, чтобы назначить именной диапазон, выделите ячейки, которые вы хотите закрепить а затем идите в Data — Named ranges и присвойте диапазону имя.

Пример того, как это работает в формуле.

Collapse )

Процесс работы над игровым интерфейсом

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

1. Концепция геймдизайнера

После того, как была написана документация для базового функционала игры, можно начинать разработку игрового интерфейса. Как правило, она идет параллельно с созданием первого прототипа игры - ведь даже с прототипом нужно как-то взаимодействовать. Для того, чтобы дизайнер интерфейсов мог приступить к своей части, ему нужно получить подробное ТЗ на UI от геймдизайнера. Такое ТЗ, как правило, состоит из:

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

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

Пример задачи для дизайнера интерфейсов ищите в конце статьи.

2. Макет дизайнера интерфейсов

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

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

Что же делать, если у вас маленькая команда и нет дизайнера интерфейсов?

Придется поднапрячься, вооружиться советами из вот этой статьи, и взять на себя эту роль самому геймдизайнеру. Лично я неоднократно занималась созданием макетов интерфейсов, которые потом вставлялись в игру для тестирования механик и юзабилити. Здесь мой совет будет довольно субъективным и дилетантским, я поделюсь способом, который мне всегда помогал, несмотря на то, что, возможно, есть тулзы получше и попроще. Я всегда пользовалась для создания макетов UI программой Adobe Illustrator: скачивала бесплатные векторные иконки и кнопки, и с их помощью собирала относительно приятный для глаза интерфейс. Мне нравится, что с Иллюстратором легко работать - он довольно простой, интуитивно понятный и его самых примитивных функций с головой хватает для того, чтобы сделать красивый заглушечный интерфейс с правильными размерами и пропорциями.

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

Пример векторного интерфейса, который можно скачать с бесплатного векторного банка. Однако, я рекомендую выбирать элементы попроще :)

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

3. Верстка интерфейса программистом

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

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

4. Разработка визуальной части и стиля

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

Цвет

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

Для примера, в Dishonored 2 основной цвет — это серо-черно-синие тона в сочетании с холодным бело-голубым.

Основные художественные элементы

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

В Dishonored 2 основные художественные элементы — это полупрозрачные текстуры на плашках, вензельки, треугольники-осколки и пятна “крови”. Классическая викторианская готика с острыми и мрачными вкраплениями.

Основные формы

Какие формы будут преобладать в вашем интерфейсе? Круглые прогресс-бары и иконки, или может быть прямоугольники со скругленными углами? Будут элементы полупрозрачными? Объемными, или плоскими?

В Dishonored 2 наблюдается стройное единство форм. Почти все они — это четкие прямоугольники и квадраты с острыми краями в сочетании с ровными кругами.

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

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

UI Kit представляет из себя что-то такое, только без текста и гораздо более масштабное и детальное. Как видите, даже на этом примере есть множество переиспользуемых элементов: кнопки в нажатом и спокойном состоянии, бары, скроллы, ячейки и многое другое.

5. Внедрение финального интерфейса в игру.

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

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

6. Тестирование интерфейса.

Я знаю, что существует довольно много методик тестирования интерфейса, таких как фиксирование движения глаз игрока и составление карты экрана, аналогичной снимку тепловизора; запись всех нажатий на экран; анкетирование и последующий анализ полученных данных. Иными словами, разного рода работа с фокус-группами. Лично я никогда не сталкивалась с подобными масштабными исследованиями, потому что они обычно довольно сложные, большие и проводятся крупными компаниями для крупных проектов. Если это ваша ситуация, то вы можете дать поиграть друзьям и коллегам, составляющим приблизительную ЦА игры, и понаблюдать за их действиями из-за спины с тетрадочкой, записывая для себя все спорные моменты. Как более продвинутый вариант — лучше будет попросить вашу “фокус-группу” делать запись экрана во время игры, а затем коллективно смотреть, как много игроков не находят ту или иную кнопку, либо игнорируют ту или иную функцию. Если вы видите, что какие-то ошибочные паттерны повторяются у игроков из раза в раз, то скорее всего вы где-то допустили ошибку и стоит еще подумать над функциональностью причастных к этому элементов интерфейса.

Пример задачи для художника по интерфейсам

Задача:

Отрисовать главный экран игры

Описание:

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

1 - Портрет героя игрока, генерируется автоматически исходя из внешнего вида персонажа, созданного при старте игры.
2 - Никнейм персонажа (указать максимальное количество символов).
3 - Иконка гильдии персонажа, название гильдии. Если игрок не состоит в гильдии, это поле будет пустым. Одновременно персонаж может состоять только в одной гильдии.
4 - Уровень игрока. На данный момент максимальный уровень игрока - 99 (но можно заложиться под трехзначное число).
5 - Прогресс бар с показателем заработанного опыта и количества опыта до следующего уровня (нужно подумать, стоит ли загружать эту часть цифрами с текущим цифровым показателем опыта и количеством, необходимым до следующего уровня).
6 - Кнопка перехода в окно с журналом заданий. По тапу на кнопку открываем окно с журналом заданий. Если у игрока есть новые задания, или задания, за которые игрок может собрать награду, на кнопке должна отображаться соответствующая индикация.
7 - Название большой локации, на которой находится игрок (указать максимальное количество символов).
8 - Точное название территории, на которой находится игрок (территория в подназвании является частью большой территории из главного названия).
9 - Иконка перехода в окно разблокированных игроком портовых городов. Каунтер на иконке вида 1/99, где 1 - количество открытых игроком городов, а 99 - общее количество городов на данной территории.
10 - Иконка перехода на общую карту большой локации. Каунтер на иконке вида 1/99, где 1 - количество открытых игроком территорий, а 99 - общее количество территорий на данной большой локации.
11 - Кнопка перехода в окно персонажа. По тапу открываем окно героя.
12 - Кнопка перехода в окно премиум-магазина. По тапу открывается окно премиум-магазина. Нужно сделать отличающимся от основных кнопок цветом. Если в окне премиум-магазина появились новые предложения, кнопка должна быть заанимирована (слегка подрагивать, поворачиваясь из стороны в сторону).
13 - Кнопка перехода в окно гильдии. Если игрок состоит в гильдии - открывает окно списка членов гильдии. Если игрок не состоит в гильдии, по данной кнопке он переходит в окно поиска доступных гильдий (надо подумать, нужны ли разные иконки для этих двух случаев).
14 - Кнопка перехода на стартовый игровой экран.
15 - Каунтеры валют: Премиум валюта, Золото, Энергия. На данный момент максимальное число Премиум валюты и Золота - шестизначное, Энергии - четырехзначное. Если в дальнейшем эти числа увеличатся, нужно будет сдвигать каунтеры влево.
16 - Иконки пройденных игроком битв на карте территории. В зависимости от качества прохождения, игрок может пройти битву на 0, 1, 2 и 3 звезды. Нужно продумать, как показывать “пустые”, незаработанные звезды (если игрок прошел на 2/3 звезд, например). По тапу на иконку битвы открывается попап входа в битву.
17 - Предстоящие, не пройденные игроком битвы. Нужно сделать сами иконки другого цвета. По тапу на иконку битвы открывается попап входа в битву.
18 - Линия прогресса (продвижения по территории). Представляет собой путь игрока, на ней будут располагаться все битвы территории Будет рисоваться программно, нужен тайлящийся паттерн из нескольких точек и прочерков.
19 - Рисованный бэк: картинка, которая будет подкладываться под интерфейс. Зажимая и сдвигая в сторону бэк, игрок может перемещать камеру по карте территории.

Пожелания по интерфейсу:

  • Разделить визуально по стилю нижние кнопки ХАДа, кнопки на экране и верхние кнопки хада в соответствии с их геймплейной важностью: на первом месте - нижние кнопки (11-14), на втором — журнал заданий (6), а третьем — кнопки на карте (9-10).
  • Постараться сделать цветовое оформление максимально простым, обойтись простыми градиентами и заливками - на экране и так много информации.
  • Сделать декоративные элементы (ленточки и подложки) максимально тайлящимися.

В реальности в качестве референса для постановки задачи дизайнеру интерфейсов можно было бы обойтись рисунком на листке бумаги, или обычным рисунком из плоских квадратиков в документах Google. Также при упоминании в описании других окон, желательно давать ссылки на ТЗ по ним тоже. Выше я скомпоновала пример того, как можно собрать интерфейс из готовых векторных элементов в Adobe Illustrator силами самого геймдизайнера, если на проекте нет и не предвидится дизайнера интерфейсов. Такой интерфейс, в принципе, можно сразу нарезать и отправлять программисту на верстку прототипа. Если вы чувствуете уверенность в своем художнике, то прототип можно скомпоновать совместно с ним, стараясь сеять в нем интерес к макетированию интерфейсов. Помощь и квалифицированность художника в этом вопросе, будет для вас очень полезна в будущем.

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

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

Зачем хранить ТЗ после завершения работы над интерфейсом?

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


Принципы разработки игрового интерфейса

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

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

Итак, есть два стула две новости: хорошая, и плохая.

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

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

В этой статье мы не будем рассматривать художественную сторону разработки, которая о цвете, ленточках или вензельках; она субъективна - зависит от конкретного жанра, сеттинга и личных вкусов самих разработчиков.

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

Психологические принципы построения интерфейса

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

1. Движение взгляда

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

В игре Dishonored 2 эта диагональ очень хорошо прослеживается. От Mission к Objectives, от портрета Антона Соколова к названию главы, Dreadful Wale.
В игре Dishonored 2 эта диагональ очень хорошо прослеживается. От Mission к Objectives, от портрета Антона Соколова к названию главы, Dreadful Wale.

Да, в этой статье будет много примеров из Dishonored 2, потому что я прямо забалдела от их интерфейсов. Стоит поиграть хотя бы ради того, чтобы посмотреть на чумовую анимацию UI…

2. Сначала картинка, потом текст

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

3. Группы объектов

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

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

4. Привычные элементы

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

Для дополнительной информации можно погуглить Закон Якоба.

5. Количество информации, которую может усвоить человек

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

Для дополнительной информации можно погуглить Закон Хика

Интерфейс игры The Witcher 3. Слева — все квесты, затем кратко цели выбранного квеста, и только потом художественное описание. Представьте себе, если бы вся эта бодяга открывалась бы сразу под названием квеста? Ориентироваться в них было бы гораздо сложнее. И опять, сочетание с принципом «слева-направо».
Интерфейс игры The Witcher 3. Слева — все квесты, затем кратко цели выбранного квеста, и только потом художественное описание. Представьте себе, если бы вся эта бодяга открывалась бы сразу под названием квеста? Ориентироваться в них было бы гораздо сложнее. И опять, сочетание с принципом «слева-направо».

Фундаментальные принципы построения интерфейса

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

1. Слишком большое количество элементов на одном игровом экране.

Очень часто можно встретить интерфейсы, в которых масштаб нагромождения кнопок, картинок, прогресс-баров и чекбоксов просто поражает воображение. Это происходит потому, что разработчик не до конца понимает ключевую задачу игрока в данном интерфейсе, ему кажется, что абсолютно все эти элементы нужны для того, чтобы взаимодействовать с данным аспектом игры. Утверждение “просто моя механика слишком сложная, для нее невозможно сделать простой интерфейс” - это ничто иное, как роспись в собственном неумении структурировать информацию.

Представьте себе игровое окно как предложение:

Жуткий ливень начался только что, буквально в половину седьмого вечера, на улице дикий потоп!

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

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

Вот обратите внимание на баланс в обеих половинах интерфейса. Несмотря на то, что левая половина является крайне функциональной из-за большого количества слотов, она не перевешивает правую, так как по заполненности и форме она сделана так же, а ведь это всего лишь кнопка перехода в другой интерфейс и каунтер Raw bones. Можно было и крафт амулетов вместить в это окно, но представьте только, насколько оно было бы перегружено функционалом.
Вот обратите внимание на баланс в обеих половинах интерфейса. Несмотря на то, что левая половина является крайне функциональной из-за большого количества слотов, она не перевешивает правую, так как по заполненности и форме она сделана так же, а ведь это всего лишь кнопка перехода в другой интерфейс и каунтер Raw bones. Можно было и крафт амулетов вместить в это окно, но представьте только, насколько оно было бы перегружено функционалом.

2. Отсутствие единообразия элементов.

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

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

Интерфейсы из Dishonored 2. Элементы обоих окон пусть не идентичны, но имеют очень похожую визуализацию: похожие плашки, похожим образом оформлены заголовки, списки, выделение выбранного, кнопки Back и Exit, детализация информации в правой части экрана. Попав из интерфейса загрузки в интерфейс туториалов, игрок сразу поймет, что ему нужно сделать и куда посмотреть.
Интерфейсы из Dishonored 2. Элементы обоих окон пусть не идентичны, но имеют очень похожую визуализацию: похожие плашки, похожим образом оформлены заголовки, списки, выделение выбранного, кнопки Back и Exit, детализация информации в правой части экрана. Попав из интерфейса загрузки в интерфейс туториалов, игрок сразу поймет, что ему нужно сделать и куда посмотреть.

3. Отсутствие обратной связи.

При разработке игрового интерфейса нужно учесть все состояния, в которых могут находиться его элементы в различных игровых ситуациях. Например, бывает так, что нажатие какой либо кнопки недоступно в определенные игровые периоды, или наполнение какого-то окна отсутствует по какой-либо причине. Никогда нельзя показывать игроку пустые окна и неработающие кнопки. Если игрок обратился именно к этому окну, или кнопке, значит он преследовал какую-то цель, он ожидает получить от элемента отклик, обратную связь. Поэтому всегда необходимо показывать дополнительную информацию, объяснять, почему тот или иной элемент интерфейса сейчас недоступен: “нужно получить 6 уровень”, “чтобы начать зачарование, положите предметы в специальные ячейки”, “поставьте галочку “ищу группу”, чтобы увидеть список доступных групп”, и так далее, и так далее. Подсказки эти, в зависимости от конкретного интерфейса, могут отображаться в самом окне, или в хинте при нажатии на какой-либо его элемент.

4. Большое количество текста.

Игроки не очень любят читать обучающие тексты и правила, и если для того, чтобы объяснить ему как пользоваться интерфейсом вы добавляете в окно пояснения - то, Хьюстон, у вас проблемы. Нужно вернуться назад и посмотреть, какое из правил, описанных в этой статье, вы нарушили и придумать, как сделать его лучше. Пресловутая фраза про “интуитивно понятный интерфейс” - это заповедь разработки номер один разработки.

Везде, где это возможно, нужно избавиться от надписей на кнопках или под иконками GUI. Все что можно сделать иконками и пиктограммами - нужно делать иконками и пиктограммами. Любое чтение в момент быстрой навигации внутри окна затрудняет восприятие и делает общение между игроком и игрой мучительным. Если вы делаете кнопку, по нажатию на которую открывается карта мира - ну сделайте очень простую и понятную иконку в виде карты, и не нужно подписывать ее текстом. Всегда стоит помнить о такой вещи, как локализация, и то, что на английском будет выражено простыми тремя буквами “map”, на немецком может выглядеть как “flugergehaimer”.

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

Также не надо злоупотреблять художественными текстами описаний предметов - отображать их либо в контекстном хинте, сократив при этом до минимума, либо совсем упразднить.

Вы спросите: а как же тогда быть с дневниками героя или художественными текстами, сопровождающими историю? Я, наверное, вас разочарую, если скажу правду: такие тексты читает подавляющее меньшинство игроков. Тем не менее, именно эти игроки являются самыми лояльными, именно они выискивают пасхалки и секретные квесты. Но эту аудиторию можно расширить, если сделать подачу информации максимально привлекательной для игрока. Лучшее, что я пока видела на этот счет - это дневник Артура Моргана из Red Dead Redemption 2.

Также можно использовать дневник не как набор художественных записей, а зашифровывать в них подсказки по игре или советы для игрока. Так, например, сделан журнал квестов в The Witcher 3 (см. п.5 психологических принципов).

5. Красота важнее удобства

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

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

6. Отсутствие акцентов.

Эта проблема появляется тогда, когда на экране нет акцентов, или когда, наоборот, их настолько много, что ничто конкретное не выделяется для глаза. Акцент - это выделение элементов интерфейса цветом, анимациями, или размером. Помните школьные конспекты, где (ну, хотя бы в самом начале года) вы выделяли зеленой ручкой важное, подчеркивали определения и писали NB! на полях? Так вот, игровому интерфейсу также необходимы свои “нотабене”, чтобы сконцентрировать внимание игрока на том, что является важным в каждом отдельном интерфейсе. К тому же игра - это постоянно изменяющаяся и динамичная структура. Меняются ее правила, появляются новые возможности, исчезают старые. На все это нужно сразу обращать внимание игрока.

Выбранное меню Powers — акцент, выбранная способность — акцент, выученные способность — акцент, количество рун — акцент, описание способности — чуть более бледно, около пунктов Lore & Maps и Travel Log — пиктограммы «что-то новое». К вопросу о группировании: Обратите внимание, как разделены интерфейсы. Powers и Enhancements разделены расстоянием и цветом, ветка способности — полупрозрачной подложкой, описание — тоже. Тем не менее, описание и дерево, как более близкие друг к другу по смыслу элементы (один является продолжением другого) находятся ближе, чем дерево и сами скиллы.
Выбранное меню Powers — акцент, выбранная способность — акцент, выученные способность — акцент, количество рун — акцент, описание способности — чуть более бледно, около пунктов Lore & Maps и Travel Log — пиктограммы «что-то новое». К вопросу о группировании: Обратите внимание, как разделены интерфейсы. Powers и Enhancements разделены расстоянием и цветом, ветка способности — полупрозрачной подложкой, описание — тоже. Тем не менее, описание и дерево, как более близкие друг к другу по смыслу элементы (один является продолжением другого) находятся ближе, чем дерево и сами скиллы.
  • В инвентаре появился новый предмет, которого у игрока не было раньше? Отметьте его специальной пиктограммой.
  • Закончился кулдаун и игроку снова доступен определенный тип боя? Заанимируйте кнопку.
  • Пришло новое письмо? Выделите его другим цветом в списке остальных сообщений.

Как работать с программистами?

Очень здорово, когда вы сами имеете навыки программирования и можете либо самостоятельно выполнять программную часть своего проекта, либо на равных разговаривать с программистами в процессе разработки. Это одна из тех причин, почему на вопрос «хочу поступить в ВУЗ, а геймдизайну нигде не учат, на какого специалиста лучше пойти учиться?», я всегда отвечаю - на программиста. Это не просто позволит вам выполнять сразу две роли, если вы решите разрабатывать собственный проект. Программирование учит дисциплинированности, структурированности, аккуратности, и внимательности. Что немаловажно, в процессе обучения вы развиваете хорошие аналитические способности, и отменное логическое мышление. Все эти качества крайне важны не только для программиста, но и для геймдизайнера. Именно этими навыками вам придется пользоваться в любой момент времени: будь то написание дизайн-документации, анализ игр-конкурентов, или написание технических заданий. С остальными сферами разработки дела обстоят легче: художественную часть вполне можно понять, музыку - тоже. Легко понять интерфейсы, более того, их можно протестировать на других, не задействованных в проекте людях. Но вот понять программную часть игры - это задача крайне нетривиальная.

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

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

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

1. Постоянные переделки реализованных игровых механик.

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

Какие здесь есть решения?
Как ни парадоксально, но это решается тщательным продумыванием фич, которые вы планируете добавить в игру, и прототипированием. Делайте бумажные прототипы, или прототипы в специально приспособленных для этого тулзах. Кирилл Шабордин из Social Quantum рассказывал, что в их компании есть целый отдел, который занимается прототипированием и делает это не в среде разработки проекта, а с помощью стандартных ассетов Unreal. Подробнее можно почитать вот тут.
Но если вы все-таки совершили ошибку, от которой никто не застрахован. Некоторые вещи вообще сложно реализовать правильно с первого раза, потому что иногда для определения этой правильности надо провести тестирование с пользователями. В такой ситуации нужно объяснить программисту геймдизайнерские причины того, что пошло те так, объяснить почему переделанная механика будет лучше того, что есть сейчас.

2. Вы не интересуетесь программной структурой проекта.

Это проявляется следующим образом: вы придумываете механику, стараетесь, описываете ее, приносите программисту. Он читает и говорит, что так нельзя сделать, потому что у вас эти элементы отрисовываются на разных слоях, или принадлежат к одному и тому же типу объектов, или по какой-то другой причине. А вы ему и отвечаете: что еще за слои? Неудивительно, что программиста бесят такие вопросы от человека, который не разбирается в собственном проекте, но при этом говорит, что ему делать.

Какие здесь есть решения?
Перед тем, как описать какую-то фичу, надо потратить 5-10 минут на ее обсуждение с программистом. Возможно ли ее вообще реализовать? Сколько это займет времени? Как она будет работать? Что лучше изменить в вашей идее, чтобы можно было сделать ее просто и красиво вписать в уже существующий код? Все общие знания, которые вы получите в процессе, запишите в отдельную тетрадочку: все такие пояснения от программиста в конце концов сложатся в единую картину, дающую вам хотя бы поверхностное понимание того, как устроен ваш проект.

3. Руководствование только геймдизайнерской логикой при постановке задач.

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

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

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

Так как же выглядит задача для программиста?

Задача для программиста должна быть описана максимально подробно. И когда я говорю «максимально подробно», я подразумеваю, что должна быть описана каждая деталь фичи, даже та, которая кажется вам само собой разумеющейся. Любой пробел в описании может потом обернуться против вас: программист просто реализует то, что вы не конкретизировали так, как ему удобно, и когда вы придете с новой механикой, или доработкой по текущей, программист разведет руками и скажет, что сейчас этого сделать уже нельзя, потому что тогда он сделал так, как ему было удобнее всего, так что теперь все работает по совершенно другой системе. По факту, ТЗ для программиста - это очень детальное описание механики, которым будут пользоваться и геймдизайнер, и программист, так что вам даже не придется делать одну и ту же работу дважды, достаточно хорошо описать все с первого раза.

Вот некоторые моменты, которые нужно помнить при описании механики:

  • Если механика очень большая, разбейте ее на составляющие - маленькие кусочки общей картины.
  • Если в описании нужно указать какие-то моменты, не критичные для программиста, то можно сделать соответствующую пометку или комментарием на полях, или прямо в тексте. Как в примере с сундуками: «Нам нужен механизм спауна объектов на локации. «…» С точки зрения геймдизайна, объекты будут следующих типов»
  • Если для описания механики нужно сделать какие-то иллюстрации - сделайте их.
  • Ну и как всегда, золотое правило - сохраняйте структуру, пишите короткими абзацами, выделяйте главное - нет ничего хуже, чем механика, описанная огромными абзацами слитного текста.

Пример постановки задачи для программиста

Предисловие: это мини игра для визуальной новеллы.

Мини-игра: поиск предмета в ограниченном пространстве

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

Мини-игра представляет собой темное очертание кучи предметов, которые находятся на отрисованной и не затемненной, цветной сцене.

Все предметы нарисованы отдельно и имеют свою область тапа и затемнены как масса.

Когда игрок тапает и попадает в область конкретного предмета, он по альфе расцвечивается а затем снова по альфе затемняется.

Во время того, как предмет раскрашивается и затемняется, тапы на другие предметы не проходят.

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

Если игрок вышел из игры в процессе мини-игры, то она считается проигранной и при перезапуске приложения игрок возвращается к последнему чекпоинту.

Атрибуты мини-игры:

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

Атрибуты предметов игры

  • id картинки предмета
  • координаты расположения предмета на сцене
  • id связанного предмета инвентаря, который получает игрок

Алгоритм игры:

1, Игрок протапывает сцену, предшествующую игре
2. Открывается экран с игрой. Появляется подложка с затемненной кучей объектов на ней.
3. Иконка таймера анимируется (скейлится) и таймер запускается, начиная отсчитывать время до окончания игры.
--3.1. Если таймера нет, то пункт 3 пропускается.
4. Игрок совершает тапы по массе предметов, пытаясь найти нужный.

Игрок нашел нужный предмет:
1. Таймер останавливается и все остальные предметы расцвечиваются по альфе одновременно
--1.1. Если игра без таймера, то пункт 1 пропускается
2. Найденный предмет зумится и перемещается в центр экрана.
3. Вся остальная сцена заблюривается (размывается)
4. Над предметом появляется надпись «найдено *название_предмета*»
5. Появляется кнопка «Далее»
6. Игрок нажимает кнопку и выходит из игры.

Игрок не нашел нужный предмет (игра с таймером):
1. Таймер анимируется и перемещается в центр экрана
2. Появляется надпись «Время вышло»
3. Тап в любую часть экрана вызывает появление следующего слайда по сценарию, который как правило означает конец игры
4. По тапу на сцену, появляется экран загрузки и игрок возвращается к последнему чекпоинту в сценарии.

Алгоритм работы над задачей для программиста

1, Вы хорошо обдумываете новую идею, которую хотите внедрить в проект.
2. Очень схематично формулируете ее: либо в голове, либо на листочке.
3. Обсуждаете задачу с программистом, выясняете, насколько она реализуема, какие могут быть подводные камни, задаете интересующие вас вопросы.
4. Описываете механику настолько детально, насколько это возможно, расшариваете документ программисту, выделяя время на его изучение.
5. Программист оставляет комментарии в вашем документе, отмечает пробелы, непонятные, или неправильно описанные нюансы механики.
6. Вы снова собираетесь и проводите повторное обсуждение документа и комментариев программиста.
7. Вы вносите правки в документ и отдаете механику на реализацию.

Наталья Март об учебе на факультете геймдизайна в Финляндии, часть 1

Вы часто меня спрашиваете, есть ли в России такие места, где могут подробно и официально научить геймдизайну? Отвечу, что скорее нет, чем да. Scream School - это совершенно не те знания и не тот уровень, который вы хотели бы получить за эти деньги в России. Факультет геймдизайна в ВШЭ - в принципе ничего не могу сказать, хотя на мой взгляд программа обучения выглядит сомнительно, но если все же сравнить ее с той, о которой пойдет речь в этом интервью - сразу становится понятно многое. Про онлайн курсы можно вообще забыть: невнятные преподаватели, коих сейчас большинство, не смогут вас научить делать игры по скайпу за месяц.Поэтому я выцепила человека, который сможет вам рассказать все об учебе на геймдизайнера - это моя бывшая коллега, Наталья Март, которая закончила факультет геймдизайна в финском университете KyAMK. Сейчас Наталья трудится в шведском офисе Rovio на позиции художника и она любезно согласилась уделить мне время, чтобы своим рассказом всех вас вдохновить пойти по ее стопам.Речь пойдет об универтитете XAMK (бывший KyAMK) в Куовола, ссылка на программу: 

https://www.xamk.fi/en/degrees/bachelor-of-culture-and-arts-game-design/

Наталья Март, квалифицированный геймдизайнер и просто красотка
Наталья Март, квалифицированный геймдизайнер и просто красотка

Алиса: Ну расскажи, как же ты попала вообще в Финляндию. Почему ты туда поехала?
Наталья:
Первый раз я поехала сюда по обмену. Я узнала случайно, что оказывается эта программа обмена студентов есть в очень многих университетах, особенно в Питере. Но дело в том, что сам университет это совсем не афиширует. Например, в нашем Политехническом университете никто не кричал на каждом углу: “Вы знаете, у нас есть программа обмена студентов, так что можно поехать учиться за границу вот так вот запросто!”. Практически никто об этом не знал. Я узнала просто потому, что девочка с курса старше вернулась и сказала, что ее не было полгода, потому что она училась в Финляндии. А ее подруга точно так же училась в Италии. Так что возьмите на заметку: если вы хотите заграницу поехать по обмену - поспрашивайте, это скорее всего возможно.

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

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

А.: А трудно ли собрать документы для поступления? Мне это кажется чем-то совершенно фантастическим.
Н.:
Документы собрать сложно, но можно. Конечно, придется все делать самим, самим собирать все документы - у нас очень редко помогают с этим. Придется самостоятельно списываться с человеком, который отвечает за обмен студентов в иностранном университете. Общение обычно происходит на английском языке, так что если с языком не очень, можно попросить кого-то помочь, но в принципе в Финляндии очень лояльно отнесутся к тому, что иностранные студенты пишут на ломаном английском. Вам все равно ответят на все вопросы и все расскажут.Да, со сбором и оформлением документов для подачи на визу действительно довольно много сложностей. Дело в том, что их просто очень много, и каждый в отдельности даже не то чтобы сложно получить, но приходится изрядно помотаться по инстанциям чтобы собрать их все и это занимает прилично времени. Знаете, как это всегда бывает - обязательно забудешь какую-то бумажку. Здесь опять посетую: если бы у нас университете был человек который должен этим заниматься: помогать, объяснять, если бы была бы какая-то четкая инструкция для студентов, которая уже благодаря опыту предыдущих лет учитывала все подводные камни сбора документов, подачи на визу и поступления - было бы гораздо, гораздо легче. А когда поступаешь с нуля - это еще тяжелее, нужно гуглить, нужно смотреть на всех сайтах, проверять какие документы нужны, потому что в одном месте может быть дан один список документов, а в другом - другой. Главное смотреть на официальных сайтах посольства, визового центра, предельно внимательно отнестись к списку документов. Бывает, в визовом центре довольно сильно придираются к фотографиям, к каждой строчке в анкете - ко всему.

А.: А когда нужно этим всем заниматься? Сбор и подача документов, я имею в виду.
Н.:
Вообще все это лучше делать заранее. Если вам сказали, что вы поступили и вы решились поступать, то начинайте собирать документы прямо в этот же день, иначе можно не успеть. Иногда студенты не успевают приехать, потому что везде, особенно в последний год, очень перегружены визовые центры. Так что прямо в мае, или начале июня, как только вывесили списки поступивших - сразу бегите все оформлять. У кого-то это может занять две недели, а кто-то сталкивается с какими-то трудностями и процесс оформления визы затягивается на 2-3 месяца. Так что читайте все требования, особенно мелким шрифтом!

А.: К поступлению мы еще вернемся, но давай еще немного поговорим про твою учебу по обмену. Ты туда перевелась на какое-то смежное направление?
Н.:
Да, я училась здесь, в Петербурге, на факультете дизайна. И туда я поехала по программе обмена на такой же курс: графика и медиа.

Введите описание картинки
Введите описание картинки

А.: Легко удалось попасть туда по обмену?
Н.:
Не очень. Я попала со второго раза, вообще-то. Первый раз я пробовала туда поехать когда училась на втором курсе, но желающих было слишком много и я просто не попадала в программу. В итоге попала в KyAMK, когда уже была на четвертом.

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

А.: Тяжело было приспособиться? Все-таки другой язык, другая страна, другая среда.
Н.:
Я уже упоминала, что с языком у меня было не все гладко, и я иногда не понимала, что от меня хотят преподаватели, в какой кабинет меня посылают, что просят сделать. Но, скажу честно, здесь, в Финляндии, все учителя с пониманием относятся к иностранным студентам, у которых хромает язык. Все подбадривают, мол, ничего, в англоязычной среде быстро выучишь язык. Без проблем объяснят студенту все по несколько раз. В общем, нет такого, как в России с китайскими студентами, которым преподаватель может сказать: “я тебя не понимаю, иди отсюда”. Здесь комфортно, благополучно и все стремятся помочь, так что не чувствуешь себя каким-то инородным телом. Здесь очень быстро образовалась компания классных ребят, в которую вписалась и я. Одному без друзей здесь не остаться, друзья очень быстро находятся в студенческих общагах, к тому же, здесь много русских. Так что да, никаких проблем.

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

А.: Наверное, поступать было уже сложнее, чем поехать по программе обмена?
Н.:
Да, конечно. Не только из-за более сложных вступительных испытаний, но и из-за английского языка. Я вообще думала, подучу, подготовлюсь, а сам язык легко выучу прямо здесь. Но оказалось, что для поступления нужен уровень гораздо выше, чем был тогда у меня. Серьезно заниматься изучением языка, а тем более получать международные сертификаты у меня не было времени из-за того, что я писала диплом. Так что с первого раза я не поступила, меня подвело плохое знание языка. Из-за этого я потеряла год, но потеряла его довольно плодотворно - весь год подтягивала английский. Так что не повторяйте моих ошибок, учите язык и готовьтесь сразу. В первую очередь рассматривают тех, у кого есть сертификаты, тот же IELTS (IELTS score должен быть не ниже 6.5). Уровень английского нужен не ниже B2 (upper-intermediate), или даже C1 (advanced), потому что при поступлении часто бывает устное интервью. Но вообще, попасть сюда, в KyAMK, намного проще, чем в другие университеты Финляндии и университеты других стран. Я знаю, что в Хельсинки есть очень престижный и крутой ВУЗ, но туда и конкурс больше, и отборочные испытания строже. Мне даже немного повезло, потому что раньше этот университет в Куовола назывался KyAMK и бол довольно небольшим, а сейчас он - XAMK, крупный объединенный университет на всю юго-восточную и восточную Финляндию.

Введите описание картинки
Введите описание картинки

А.: Но почему геймдизайн? Почему ты не поступила на графику и медиа?
Н.:
На самом деле, геймдизайн не был моим изначальным выбором, все получилось довольно спонтанно. Я хотела поступать на дизайн, но на тот год, когда я решилась, эти направления обучения на английском языке закрыли. Тогда я узнала, что есть геймдизайн. Сначала я испугалась, ведь я ничего про это толком не знала, но мне все стали говорить, мол, давай, Наташа, у тебя есть все шансы, сюда ребята после школы поступают, а у тебя уже фактически есть образование. В общем, это было довольно спонтанное решение и я не очень-то понимала, на что подписываюсь. Но как только я сюда попала, я очень увлеклась происходящим, учеба мне безумно понравилась. В KyAMK были все предметы, которые я любила, многим я уже занималась в Политехе: создание персонажей, написание своих историй. И я, человек который очень мало играл в игры, и то преимущественно в казуалки, вполне со всем справлялась. Конечно, со мной учились абсолютно влюбленные в геймдев ребята, и по началу мне не хватало вот этих базовых навыков и опыта, так что приходилось смотреть летсплеи на YouTube. В общем, втянулась.

А.: Ну при поступлении испытания, наверное, отличались от тех, которые были для программы обмена?
Н.:
Да, конечно, все было намного серьезнее. Во-первых эти экзамены можно сдавать по месту жительства в каких-то крупных городах. У нас это, я точно знаю, Москва и Петербург и вроде бы еще Петрозаводск, но этот момент вот нужно уточнить. Мне же показалось целесообразным сдавать экзамены в Финляндии потому что я уже знала что здесь к чему. Каждый год испытания немного отличаются, но общая идея примерно одинакова.Первое испытание - это проверка знания английского языка. Это может быть интервью один на один с экзаменатором, а может быть групповая беседа с другими четырьмя-пятью абитуриентами. Дается какая-то тема, которую вам всем нужно обсудить, например: “Представьте, что вы команда по разработке и вы делаете такую-то игру, и вот у вас возникла вот такая проблема. Как вы ее будете решать?”. В общем, проверяют адекватность абитуриентов, способность вести беседу на английском, активность. Здесь очень важно показать себя, потому что может получиться так, что если даже вы хорошо знаете язык, но в группе будет кто-то, кто знает его лучше, или просто будет активнее вас, то этот человек начнет говорить больше всех, и просто не даст вам вставить ни слова. Ни в коем случае нельзя стесняться, нужно заранее подготовиться, повторить какие-то вводные фразы на английском, может, с друзьями попрактиковаться. Главное не молчать!Основная часть - это различные творческие задания. Когда я поступала, на все про все давалось целых шесть часов с перерывами на обед и прочим, времени предостаточно, но лучше все равно собраться и не растекаться по этим часам особо. Первое задание основной части - это рассказ о себе. Эссе, которое будет рассказывать о том, почему вы хотите поступить именно в этот ВУЗ, почему вы выбираете именно геймдизайн, какие навыки у вас есть, чтобы успешно здесь учиться, какие хобби и увлечения, которые указывают на то, что вы творческий и разносторонне развитый человек. Здесь можно обо всем на свете писать: и о том, что вы любите рисовать, и о том, что в пять лет фотографией занимались, и о том, что любите динозавров и вам нравится рисовать всяких монстров. Все что угодно. Я думаю, что мотивацию свою любой человек сможет аргументировать. Важный момент - это упомянуть, что вы очень любите групповую работу. Для Финляндии очень важно умение работать в группе, сами финны не очень разговорчивый народ, и их очень стараются мотивировать всеми правдами и неправдами на активное взаимодействие в коллективе. Даже если вы скажете, что занимались командным спортом - это уже будет плюсом.Второе задание основной части - это задание на придумывание сюжета, разработку концепта игры и отрисовку персонажа. Как правило, дается какое-то конкретное задание, например: “Персонаж вашей игры - квадрат”, и все, придумывай что хочешь, но ты должен обосновать почему он квадрат, придумать его историю, придумать чем он полезен, чем важен. Это не обязательно должна быть какая-то огромная полномасштабная концепция, а то мне сначала показалось, что я должна целую вселенную тут создать, но достаточно будет придумать даже самую простую мобильную игрушечку, главное, чтобы сам концепт был стройный и ладный. Ребята вот придумали игру, в которой персонаж-квадрат - это почтовый конверт, который летит по экрану и собирает сообщения. И завернули это все в сюжет про забывчивого почтальона, который растерял все сообщения, а конвертик, вот, ему помогает. Также здесь нужно будет рисовать, это очень важно, даже важнее, чем письменная часть. Нужно будет нарисовать основной экран игры, которую вы только что придумали, расположить на нем кнопки интерфейсные, может быть, нарисовать скетч уровня, в общем, как-то проиллюстрировать вашу концепцию, геймплей. Понятно, что в такой стрессовой ситуации все хочется сразу красиво сделать, но я на своем горьком опыте поняла, что лучше сначала накидать все схематично, а потом уже прорисовать как следует, если останется время. Правда, при оценке работы на технику рисования тоже смотрят, может поэтому мне и добавили баллов за мои хорошо прорисованные детали. Но гораздо важнее хорошо все сделать с точки зрения механики и логики: грамотно расположить кнопки, красиво преподнести идею. Часто интерфейс нужно также обосновать - для чего у вас какая кнопка. То есть, работу, на которую специалист обычно тратит недели, вам предлагается сделать всего за полтора часа, поэтому лучше заранее подготовиться, поиграть в игры разных жанров, обращая пристальное внимание на интерфейс. На этом этапе смотрят в первую очередь даже не на оригинальность вашей идеи, а на то, насколько в принципе интересен ваш концепт и сумели ли вы его преподнести.

А.: То есть, умение рисовать - ключевое на вступительных экзаменах?
Н.:
Умение рисовать необязательно, но оно является очень большим плюсом. Со мной рядом поступали ребята, которые очень плохо рисовали, но они немного подготовились к этой рисовательной части. Если вы понимаете, что если не умеете рисовать, придумайте заранее несколько самых простых мультяшных персонажей чуть-чуть потренируйтесь перед вступлением их рисовать, потом можно будет свой сюжет под них подогнать. Позже, на занятиях, вас научат рисовать, так что ничего страшного. Если вы прекрасно рисуете, но не можете структурированную и интересную концепцию выдать - то какой с этого толк? Рисование - важный навык, но не ключевой. Но поступая сюда, нужно понимать, что рисовать придется много, поэтому даже если вы совсем не умеете, вам это должно хотя бы нравиться. Здесь будут курсы по созданию персонажей, бэкграунда, интерфейсов, и все это надо будет в редакторах рисовать, а не просто на бумажке.

А.: Что за ребята, с которыми ты училась? В основном финны?
Н.:
Да, когда я поступала у нас был не слишком-то такой международный коллектив, большая часть была финнов, процентов 70-80. Было несколько русских ребят, включая меня - четверо, что довольно много для группы из двадцати человек. Были студенты из Чехии, Эстонии, Польши, даже из Англии и США. В общем, такой довольный разношерстный коллектив. Сюда многие ехали, потому что в Финляндии раньше было бесплатное образование, и по итогу обучения ты получаешь международный сертификат, который котируется не только в Финляндии, а и в любой европейской стране. Например, я сейчас уезжаю работать в Швецию, и моего работодателя полностью устроило мое образование. Кстати, обучение и сейчас бесплатное, но для граждан евросоюза.

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

Введите описание картинки
Введите описание картинки

Вторая часть: https://mistle-gamer.livejournal.com/8200.html

Наталья Март об учебе на факультете геймдизайна в Финляндии, часть 2

Первая часть: https://mistle-gamer.livejournal.com/

А.: Один из самых интересных вопросов к тебе - это, конечно, следующий: как происходит обучение? Как учат геймдизайнеров?
Н.:
Ну, первый год почти ничего действительно интересного не происходит. Первый год обучения - это общие предметы, которые даже и не относятся к геймдизайну, то есть, нет такого, что с первых же занятий вы начинаете заниматься созданием игр. В течение первого года сплачивается коллектив и школьников превращают в студентов, учат коммуницировать друг с другом. Попробую перечислить те предметы, которые сразу приходят на ум. Бизнес-английский, потому что несмотря на то, что у всех ребят в принципе приличный уровень языка, некоторые специфические вещи, какую-то терминологию, знают не все. На этом курсе также обучают составлению резюме, прохождению собеседований - довольно нудные занятия, но мне вот сейчас при трудоустройстве очень пригодились мои конспекты. Медиакоммуникации (даже не помню о чем это было, помню, что очень скучно), История культуры, Международное право, Финский язык. Некоторые предметы подготавливали нас не только к веселой части работы, но и к ответственной, организаторской: курс From Idea to Innovation - занятия с групповым проектом по разработке, рекламе и внедрению новых технологий, курс Управления проектом. Также нас учили писать репорты, то есть отчеты, на курсе Report Writing. Было также много Рисования, как предметов и людей с натуры, так и каких-то рандомных зарисовок по референсам, также задания с использованием разнообразных материалов и техник, все на бумаге. 3D композиция, Скульптура - курс, на котором мы лепили из глины и делали разные поделочки из картона, проволоки и прочего. Иллюстрация, Типография, Базовое программирование, Анимация, Колористика. Вот какие-то такие направления.

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

А.: А после основной общей программы?
Н.:
А со второго года, когда закончилась общая программа и начались предметы, относящиеся к геймдизайну. Начну с того, что все предметы делятся на обязательные и предметы по выбору. Я уже упоминала, что здесь геймдизайнер имеет довольно размытый круг задач. Так вот, кроме обязательных предметов, каждый студент может набрать себе предметов по выбору с уклоном в одно из следующих направлений: программирование, анимация, 3D моделирование, нарратив. Я на программировании начинала просто засыпать, поэтому выбрала минимальное количество предметов из этого блока, и выбрала вместо этого много рисовальных курсов, курсов по колористике, были у меня даже курсы скульптуры, резки по дереву. В общем, я по отзывам выбирала все то, что мне показалось интересным.

По большому счету, курсы второго года и далее - это продвинутые, расширенные курсы первого года обучения. То есть, если на первом курсе нас учили рисовать на бумаге, на втором мы уже осваивали различные техники в редакторе. Вместо базовых Основ программирования у нас был целый ряд курсов по программированию, где мы изучали конкретные языки. И так во всем. Вот некоторые предметы, которые я могу сходу вспомнить, не уверена, что все они были обязательными, но большая часть точно. Переводить не буду, думаю твоим подписчикам известны все эти слова. Character Design, Environmental Design, Game Design (Unity), Level Design, Game Engine and Scripting, 3D Low Poly, 3D Character and Animation (high poly) / Motion Capture, JavaScript (и ещё пара предметов с программированием названия которых я не помню - видимо, проспала их совсем), Digital Painting / Concept Art, Game Analysis, углубленный Project Management (создание игры с нуля до играбельного прототипа), UI Design, Post-production / CG Effects. Может я что-то забыла, но я думаю, что относительно полное представление об образовательной программе я смогла дать.

Короче говоря, из основных предметов были курсы, которые учили нас создавать свою концепцию игры: текстовые описания, зарисовки скриншотов, персонажей, окружения, написание дизайн-документации, отрисовка интерфейсов, моделирование, написание сюжетов. Был целый курс по типографике, курс по иконкам. Это все включало в себя много групповых заданий, то есть студентов в группе разбивали на небольшие команды по четыре-пять человек и эти команды должны совместно разрабатывать какой-то концепт. Зачастую задания были творческие, без особых ограничений, но были и довольно конкретные. Например, у нас было задание сделать игру в тематике 20-х годов, наша команда выбрала классическую тему итальянской мафии и на одном из уроков нас возили в музей старинной довоенной техники, причем музей был закрыт, и специально для нас его открыли, чтобы мы могли сделать зарисовки для наших концептов. Вот, сидели осенью в холодном ангаре с самолетами и рисовали. Когда все это своими глазами видишь - уже можешь более реалистично представить, как вся эта техника будет в твоей игре функционировать. Ну и кроме зарисовок, конечно, тут надо было и сюжет придумать, и персонажей, и дизайн одежды - словом, все-все-все. Конечно, работа объемная, поэтому она включала в себя различные подготовительные этапы вроде составления цветовой схемы, или так называемых “мудбордов” - досок с реферансами, вырезками, скриншотами из других игр, чтобы собрать атмосферу будущего проекта. С третьего, или четвертого курса у нас были даже занятия с использованием системы Motion Capture, то есть, вот ты создал своего персонажа, и потом для него делаешь захват движения сам, озвучиваешь его сам. Короче говоря, все предметы были направлены на то, чтобы к моменту выпуска из университета у вас был свой проект, и объемное портфолио работ, созданных во время обучения.

Кроме этого, очень много времени было отведено на изучение других игр, то есть нас фактически заставляли играть в другие игры, предмет назывался Game Analysis. Но не все так сказочно - по каждому такому уроку нужно было потом писать отчет, подмечая интересные решения, механики, особенности интерфейса и так далее. Тем не менее, многим ребятам очень нравилось, потому что по факту у нас была большая комната с бин-бэгами и разнообразными приставками, системами виртуальной реальности, и вот мы приходили на занятия и полуразвалившись в этих бин-бэгах с джойстиками в руках играли. Но писать надо было действительно много, так что к этому надо быть готовыми.

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

А.: Трудно было вообще учиться?
Н.:
Мне было непросто, да. В основном из-за того, что было очень много письменной работы на английском языке и это было для меня сложно. Но что действительно спасает - тут очень много помощи от преподавателей. В отличие от российских ВУЗов, где ты учишься, а потом после окончания приходишь на работу и в деталях сталкиваешься уже с совершенно другими реалиями, тут прямо на занятиях дают колоссальное количество полезной информации. То есть, нам давали много ссылок на сайты с бесплатными текстурами, шрифтами, рассказывали подробно, как покупать лицензии на контент, где лучше всего искать референсы. Самый главный плюс - это то, что здесь сами учителя очень замотивированы, у них большие зарплаты, они очень любят свою работу, они открыты, приветливы. Нет никакой надменности в духе “я - преподаватель, а ты - никто”, наоборот, все общаются на “ты”, к преподавателям обращаются просто по имени. К любому можно подойти и просто сказать: “Я вот сейчас делаю такой-то проект, не могли бы вы мне уделить время и рассказать кое-что”, и тебя чуть ли не домой позовут, пирожками накормят, расскажут все и даже больше. Сами преподаватели работали в игровой индустрии, поэтому они с горящими глазами рассказывают обо всем. Некоторые работают параллельно с преподаванием: приходят пару дней в неделю преподавать, просто для удовольствия собственного читают лекции.

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

А.: Давай немного поговорим про деньги. Я так понимаю, ты училась там бесплатно?
Н.:
Ох, вопрос денег для меня очень больной, я могу вечно говорить на эту тему. Я - да, училась бесплатно. Мне повезло поступить в тот год, когда образование в Финляндии еще было бесплатным для всех. Сейчас, насколько я знаю, оно бесплатное только для граждан Евросоюза, да.

А.: Сейчас обучение платное и составляет 6000 евро в год.
Н.:
Ну, надо понимать, что даже эти шесть тысяч - это намного, намного дешевле чем во всех остальных странах. У меня друзья учатся в США, в Британии, в Швейцарии - там просто космические цены. Многие просто едут в Финляндию учиться потому что там, в родной стране, им приходится платить за обучение.

Прим. Геймдизайна для сочувствующих: на сайте университета есть информация о том, что при успешном обучении в конце каждого учебного года студент может получить денежное возмещение стоимости обучения в размере до 50% в виде стипендии. Успешность определяется по Европейской системе перевода и накопления баллов.

А.: Предоставляется ли иностранным и иногородним студентам общежитие?
Н.:
Не у всех финских ВУЗов есть общежития, у XAMK - есть. Общежития тут платные и обходятся недешево - от 250 до 300 евро в месяц. Это цена для Куовола, конечно же, в Хельсинки могут быть просто безбашенные цены. Плюс в том, что общежития здесь не выглядят так, как у нас, они скорее представляют из себя квартиры из трех-четырех комнат, в каждой из которых живет студент. При этом у таких “квартир” общий санузел, кухня, иногда гостиная. Позже я со своим молодым человеком снимала студенческую квартиру. Студенческая квартира - это такой особый тип жилья, доступный, надо понимать, только студентам. В Финляндии есть организации, которые когда-то взяли кредит у государства и начали строить специальные дома для студентов. Так что можно подать заявку на сайте такой организации и жить совсем в отдельной квартире. Этот вариант, конечно, дороже, чем общежитие, но все равно гораздо дешевле, чем просто обыкновенное жилье, стоимость которого может доходить и до 1500 евро. Наша квартира обходилась нам в 560евро на двоих.

А.: Когда пересчитываешь цены в евро на наши рубли - становится страшновато. Как ты справлялась? Помогали родители?
Н.:
Мои родители замечательные, и они мне очень сильно помогали, старались поддерживать и материально, но, конечно, они не могли полностью меня обеспечивать. Здесь были ребята, у которых богатые родители оплачивали им вообще все. Но я была не из таких, так что пришлось работать параллельно с учебой. Напомню, что я была в Финляндии по студенческой визе, и по факту у меня не было как такового разрешения на работу, но можно было работать не более 25 часов в неделю. Частичная занятость. Варианты подработки тут есть, сейчас я про них расскажу.

Во-первых, это, конечно же, простая работа, рассчитанная на студентов. Мне с этим не везло постоянно, я всегда пыталась найти способы подработать, работу тут не так-то просто найти. Но большинство работ, которые в России многими считаются ужасными - это как раз те, которые вы сможете найти в Финляндии в качестве студенческой подработки. Я лично работала в пиццерии. Когда мои друзья узнали, что я в пиццерии для турков мою посуду, а иногда и туалеты - они покатывались со смеху, говорили: “Все, Наташа, ты упала на самое дно”. Но это того стоило, я ведь реально платила за свою квартиру, оплачивала все расходы сама, получала прекрасное образование. Потом еще я официанткой работала. Платят в принципе неплохо, я могла за один выходной день в пиццерии заработать 50-70 евро. Также работала уборщицей на стройке - это такая работа, которая состоит из хождения туда-сюда со строительным пылесосом и “запылесошивания” опилочек, ну и нужно строительный мусор всякий собирать, складывать. Вот такая черная работа. Но платили за нее неплохо, 11 евро в час, так что за день можно было вполне 100 еврозаработать. Потом мне повезло, я устроилась на стройку маляром на лето, таскала тяжелые банки с краской, красила, еще занималась декоративной отделкой помещений. Научилась с циркулярной пилой обращаться. Но платили там очень хорошо, 1000-1500 евро можно было получить за месяц. Мне тех денег, которые я заработала за лето, потом еще на год хватило и благодаря этим деньгам, я сейчас совсем не беспокоюсь по поводу предстоящего переезда в Швецию, потому что у меня есть запас денег, и я смогу там снять нормальное жилье. Правда, у меня после этой стройки потом еще долго спина болела из-за таскания тяжестей.

Еще можно удаленно устроиться работать, я вот работала в Nevosoft, насколько ты знаешь, сначала в офисе в Петербурге, а потом удаленно. Правда, в России работа оплачивается гораздо ниже, если соотносить с финскими ценами и зарплатами. Получалось так, что я за выходные в пиццерии зарабатывала больше, чем за те же выходные, работая художником в офисе. Но все же деньги, 600 евро в месяц получалось, да и опыт нарабатываешь, практику.

Еще тут есть такое понятие, как обязательная летняя практика, когда ты устраиваешься в игровую компанию и работаешь. Так что можно устроиться на практику в финскую игровую компанию. Конечно, тут никто тебе ничего специально не находит, за ручку никуда не приводит. Стопроцентной гарантии, что ты найдешь работу - нет. Но если ты активный и хорошо себя показываешь, университе могут помочь найти какой-нибудь фриланс. Вообще иногда просто важно оказаться в нужное время в нужном месте, поддерживать со всеми хорошие отношения - никогда не знаешь, откуда может прийти помощь. Эта работа на практике - не всегда бесплатна, за нее могут платить от 500 евро в месяц. Я за 1200 евро работала, но это мне очень повезло, может быть отчасти потому, что я все время ходила и ныла: “вот, у всех стипендия, все зарабатывают, кроме меня” и мне действительно помогли найти эту жирно оплачиваемую летнюю практику.

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

А.: Я слышала, что в Финляндии очень много игровых компаний. Почему так трудно найти работу?
Н.:
Дело в том, что там не текучки сотрудников. В компаниях их очень любят и создают для них крайне комфортные условия работы, поэтому никто не стремится переходить активно с одного места на другое. Я сейчас подумала, что я, наверное, всех запугиваю чрезмерно. Нет, все не так плохо: найти что-то вполне можно, я просто хочу подчеркнуть, что само в руки ничего не течет, надо приложить усилие, что никто к вам не придет со списком вакансий, из которых можно будет выбирать. Например, я отправила резюме в пятьдесят фирм, а мне ответили, скажем, три. Нужно собирать портфолио, нужно вкладываться, активно рассылать резюме. Возможно где-то поработать бесплатно, или за какие-то копейки, чтобы потом пригласили работать за деньги. В такой ситуации, если ты студентом хорошо поработал, могут потом пригласить на постоянную работу по окончании ВУЗа. А вообще в университете дают все возможности, все ссылки, просто лично я, наверное, выглядела очень жалко, поэтому одна преподавательница меня устраивала на летнюю практику каждый год, очень мне помогала, присылала какие-то ссылки из групп с вакансиями, на которые была подписана, говорила: “Вот, Наташа, если ты там еще с голоду не померла, глянь-ка на эту вакансию”. Кстати, после окончания университета сейчас дается целый год на поиск работы, так что никто вас сразу из страны не выгонит, будет много времени что-то найти.

А.: Так, а почему тебе не платили стипендию?
Н.:
Для начала давайте разделим всех студентов на два типа по визам. Первый тип - это рабочая виза, когда тебя пригласили в Финляндию работать, и семейная виза, когда у тебя тут какие-то родственники - родители, супруги. Второй тип - это студенческая виза, то есть, когда иностранный студент просто получает визу для учебы заграницей. Если у тебя рабочая, или семейная виза, то ты можешь пойти еще учиться и тогда у тебя будет стипендия от 300 до 500евро, тебе также могут оплачивать частично жилье, например. Более того, обучение в университете будет для тебя бесплатным. По студенческой визе нет, конечно, никакой стипендии и обучение для тебя платное. Так что если есть возможность поехать по одной из виз первого типа - устроиться на работу, или быстренько выйти замуж, или жениться - то используйте этот вариант. Еще вариант для тех, у кого нет шести тысяч евро, но кому очень хочется поступить - учите финский язык, поступайте и учитесь на финском, тогда обучение для вас также будет бесплатным. Я желаю вам удачи, потому что лично для меня - финский - это язык из ада, который писал сам сатана, чтобы поиздеваться над людьми.

А.: Жить в Финляндии дорого?
Н.:
Вообще тут все смеялись очень, когда узнавали мою зарплату в России, считается, что на 600-700 евро тут вообще совсем нельзя никак прожить. Но по своему опыту скажу, что на 700 евро тут можно, в общем-то, ни в чем особо себе не отказывать. Я путешествовала, питалась по большому счету нормально, так что если научиться экономить, можно вполне на эти деньги тут существовать.

А.: Помогает ли международный диплом устроиться на работу в России?
Слушай, я бы не сказала честно говоря. В России на мой диплом вообще никто не смотрел, ничего не спрашивал. Конечно, когда я говорила, что училась в Европе - это вызывало определенное уважение, и, возможно, как-то влияло на итоговое решение, но я бы не сказала, что это играло какую-то очень большую роль.

А.: А в Европе?
Н.:
Конечно, да! Если говорить про Финляндию, то тут вообще вряд ли без диплома по профессии можно устроиться хоть куда-нибудь. На диплом очень обращают внимание, потому что они знают: если соискатель закончил какой-то европейский ВУЗ, получил диплом о международном образовании, то он явно знает все основы и хорошо разбирается в вопросе, работодатели примерно представляют его уровень. Я даже больше скажу, они не просто обращают внимание на сам диплом об окончании университета, они могут из общей базы скачать твою дипломную работу, посмотреть, что тебе было интересно, о чем ты писал, могут на собеседовании ее с тобой обсудить, например.

А.: Сейчас в Швецию?
Н.:
Сейчас я получила работу в Rovio. Изначально я хотела в офис в Хельсинки, но там не было вакансий. Тем не менее, им очень понравилось мое резюме и портфолио и они мне предложили работу в офисе в Стокгольме.

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

Так что да, однозначно стоило!

А.: Наташа. Спасибо тебе огромное за тонны полезной информации и за твой очень подробный рассказ. Удачи тебе в Стокгольме, ждем фотографии из сауны в офисе Rovio :)
Н.:
Спасибо тебе, надеюсь твоим подписчикам это все будет полезно и интересно читать!


Методологии управления проектами, ч.2

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

Scrum

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

Для того, чтобы вам проще воспринималось то, что я буду писать далее, предлагаю вам перейти по ссылке в trello, где я постаралась сделать максимально реалистичную доску для гипотетического проекта. Все карточки можно пооткрывать и посмотреть, там есть примеры наполнения. Trello - это очень удобный и бесплатный сервис для ведения системы задач по методологиям семейства Agile. Такие доски со списками задач люди заводят даже иногда для себя лично, и создают себе карточки в духе “прочитать новую книгу”, или “отложить деньги на отпуск”. Визуализация подобного рода всегда удобна.


Алгоритм работы по системе Scrum

1. Составление списка задач по проекту (Project backlog)

Это вообще все задачи, которые нужно сделать, чтобы завершить проект. Этот список постоянно пополняется, модерируется, сортируется, актуализируется. Не обязательно пытаться вписать сюда за один день все задачи, от старта продакшена до релиза - это невозможно. Достаточно перечислить задачи обозримого будущего, которые, вы точно знаете, придется делать. Для того, чтобы такие задачи выявить, нужно сесть и расписать большие этапы работы над проектом, разбив его на несколько частей. Например, “часть 1 - прототипирование боевки”, “часть 2 - разработка апгрейдов юнитов” и так далее.

2. Ведение списка задач для спринта (Sprint backlog)
Спринт, или Sprint - это и есть та самая итерация работы над проектом. Как правило это отрезок времени  длиной в неделю, или две - длина спринта определяется каждой конкретной командой отдельно. Список задач для спринта - это самые приоритетные задачи, которые нужно сделать в ближайшее время. Приоритетность задач определяется отсортированностью списка Project backlog, то есть срочные задачи - наверху, минорные задачи - внизу списка. Так же стоит отсортировать задачи и в самом спринте.

3. Отбор задач в спринт.
У каждого спринта есть определенная цель: например, “собрать стабильный билд для инвестора”, или “оптимизировать размер клиента игры”. Таких целей может быть несколько по разным аспектам игры, главное, чтобы все вместе они образовывали какую-то новую ступень по закономерному развитию проекта. То есть, нельзя делать финальную заставку игры, когда у вас еще не начата работа над стартовым обучением. В спринт отбираются те задачи, которые отвечают текущим целям разработки. Обычно задачи в спринт набирают сами члены команды под вашим руководством в процессе планирования.

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

Если вы вдруг решите погуглить дополнительную информацию про Scrum, то вы наткнетесь на то, что планирование задач в рамках этой методологии ведется не в часах, а в так называемых story points, которые являются некой абстрактной величиной, обозначающей не время, а сложность работы над задачей. При таком расчете 1 story point - это затраты, которые требуются на выполнение минимально сложной задачи на вашем проекте. Данный способ хорош тем, что он учитывает все риски, возникающие во время работы (перекуры, перерывы на кофе, отвлечения на другие задачи, вопросы коллег), а как показывает практика, сотрудникам при оценке задач учесть эти риски самостоятельно довольно трудно. Если у вас маленькая команда, или вы только начинаете разработку своего первого проекта - то я бы посоветовала вам не заморачиваться со story points и мерить все в человекочасах, делая скидку на издержки производства, а на story points переходить уже после того, как вы как следует освоитесь со Scrum методологией.

5. Работа над задачами спринта
В процессе работы задачи перемещаются по спискам, проходя различные этапы.

1) Список “Спринт”
Здесь лежат все задачи на текущий спринт.

2) Список “В работе”
Сюда переходят задачи, над которыми в данный момент работают специалисты.

3) Список “QA”
В этом списке находятся задачи, отправленные на тестирование. Задача не считается законченной до тех пор, пока тестировщик не подтвердит, что она действительно работает так, как это было задумано. Существует много примеров того, как нормально функционирующая в локальном билде программиста задача перестает работать на устройстве тестировщика, а также примеров того, как тестировщик умудряется найти новые способы “сломать” фичу, которую так старательно делал программист.

4) Список “Баг репорт”
Сюда попадают задачи, в процессе тестирования которых были выявлены неточности, или баги. Любая задача, фактическая реализация которой не соответствует тому, как данная задача была описана, после тестирования попадает в список “Баг репорт”, и работа над ней не заканчивается до тех пор, пока она все-таки не попадет в список “Готовых” задач.

5) Список “Готово”
Здесь находятся задачи, которые являются полностью выполненными. Нетрудно догадаться, что главной целью каждого спринта является перемещение всех задач из списка “Спринт” в список “Готово”.

6) Список “Заблокировано”
В этот список попадают задачи, за которые взялся специалист, но в процессе работы над ними он понял, что их невозможно выполнить без дополнительной смежной или параллельной работы другого специалиста. Пример: новый арт невозможно добавить в игру, потому что он еще не отрисован художником, а у художника на этот спринт другие задачи. Или программист UI сверстал интерфейс, а полностью внедрить его в игру для тестирования невозможно, так как отсутствует необходимый для этого функционал фичи. Такие накладки случаются, хотя их нужно стараться избегать. Появление задач в списке “Заблокировано” - это первый звоночек для вас о том, что вы что-то сделали не так при планировании.

6. Стендапы (Stand-up Meetings)
Стендап - это один из важнейших нюансов работы по системе Scrum. Он представляет собой ежедневное утреннее совещание всей команды разработчиков, которое проводится в режиме стоя (отсюда и название). Стоять нужно затем, чтобы никто не растекался мыслью по древу и не возникало долгих обсуждений. На стендапе каждый член команды кратко рассказывает чем он занимался вчера и что будет делать сегодня, упоминает трудности, с которыми столкнулся, обращается к коллеге, помощь которого по задаче ему потребуется сегодня. Выступление одного участника команды обычно не превышает 1-2 минут, но даже при такой емкой подаче информации стендапы несут в себе массу пользы.

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

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

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

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

7. Ретроспектива
Один из самых важных этапов работы в методологии Scrum - процесс анализа прошедшего спринта. На каждый спринт у вас есть равное количество человекочасов, или оптимальное количество story points (в зависимости от того, в каком формате вы ведете измерения). Равное оно потому, что все спринты одной длины и в них участвует равное количество человек. Это самое оптимальное количество вычисляется путем поиска среднего арифметического после двух-трех спринтов. В конце спринта строится так называемая диаграмма сгорания задач (Burndown chart).





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


Роли в Scrum

Так кто и как несет ответственность за выполнение тех, или иных этапов работы? В системе Scrum выделяют следующие роли для участников процесса:

1. Product Owner.
По сути, это или руководитель проекта, или главный геймдизайнер, или продюсер - кто выполняет эту роль, зависит от команды. Product Owner формирует и сортирует по срочности задачи в списке Project Backlog и Sprint Backlog. Он же формулирует задачи и цели каждого спринта.

2. Scrum Master
Это человек, который следит за тем, чтобы принципы Scrum не нарушались и все процессы, связанные с организацией труда, протекали в штатном режиме. По сути это человек, который знает о Scrum методологии больше всех и разрешает споры, которые возникают насчет процесса ведения спринта и дает дополнительную мотивацию команде, устраняя все возможные препятствия, возникающие на ее пути. В маленькой команде для этой роли как правило не выделяют отдельного человека, а эту задачу берет на себя Product Owner.

3. Команда разработчиков.


Давайте суммируем все вышесказанное:

1. Scrum берет поэтапность работы “водопадной” системы, при этом оставаясь гибкой благодаря возможности перемещаться между этапами и благодаря разбиванию проекта на несколько частей. Список задач определяется не текущим этапом, а нуждами проекта.

2. Количество задач в Scrum ограничено так же, как и в Kanban, но ограничено с учетом времени благодаря формированию общего значения человекочасов или story points. При этом задача является завершенной только после тестирования, что означает ее качественное выполнение: выбор между завершением всех задач спринта в срок и качеством их выполнения всегда падает в пользу последнего.

3. Scrum заимствует систему анализа проблем и их устранения у Lean Six Sigma. Она представлена в Scrum в виде ретроспективы и графика сгорания задач. При этом в Scrum отсутствует излишняя формализация: правило, которые было выявлено для задачи в конкретном спринте, в каком-то другом спринте для аналогичной задачи может не сработать, тогда система гибко подстроится под текущую ситуацию на проекте.


Немного о Trello

И напоследок, вкратце расскажу, чем мне нравится Trello, какие у него есть преимущества.

1. Простота использования
Существует великое множество различных программ для управления проектами, до Trello я пробовала только более сложные варианты (Unfuddle, Jira, Redmine). Программа, как и методология управления проектом, выбирается с оглядкой на каждый конкретный случай. Для больших и серьезных проектов функций Trello будет явно недостаточно. В крупных корпорациях подобного рода системы вообще пишутся отдельно и индивидуально. Но маленькой или начинающей команде, и даже команде из одного человека и Trello, и методология Scrum (пусть и в упрощенном виде) подойдут отлично.

2. Кастомизация списков
Возможность создавать свои списки, а также несколько досок на одном аккаунте (например, одна доска может быть с текущим спринтом, вторая - с архивами всех завершенных спринтов).

3. Кастомизация задач
Возможность настраивать кастомизированные метки (цветные отметки на задаче), добавлять участников в задачу, прикреплять файлы, прикреплять документы из Google Drive, делать, или не делать обложки для задач - все это можно настроить за 10 минут на ваш вкус.

4. Определение сроков
Возможность устанавливать сроки конкретной задаче.

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

6. Различные дополнения
Большое количество платных и бесплатных дополнений для Trello, которые позволяют еще более детально настроить доску так, как вам хочется. Есть даже расширения, которые будут строить график сгорания задач за вас.

Методологии управления проектами, ч. 1

Многие из вас, конечно же, мечтают сделать собственную игру. Некоторые из многих даже обзавелись небольшой командой энтузиастов, которая готова заниматься разработкой вашей идеи. Но те из некоторых, кто реально хоть немного прикоснулся к процессу работы над игрой с нуля, уже, возможно, столкнулись с многочисленными сложностями, которые подстерегают геймдизайнера на каждом шагу. Дело в том, что геймдизайнер в небольшой команде во время разработки становится также и человеком, который управляет проектом и организовывает труд других людей. Но как это сделать, если зачастую даже свой собственный труд организовать довольно сложно? Часто можно столкнуться с тем, что схватиться хочется за все задачи сразу, или работа над задачами проекта откладывается на мифическое “завтра”, или же кто-то в команде простаивает без дела, а кто-то наоборот, по уши завален работой, которую и за месяц не закончить. Одним словом, не хватает какой-то системы.
.

Работа коллектива над каким-то общим делом невозможна без следующих вещей:

1) четкого планирования;

2) последовательности и итеративности процесса;

3) распределения задач согласно возможностям каждого члена команды;

4) согласованности и слаженности работы над задачами и самой команды;

5) анализа качества проделанной работы и выявления недочетов с их последующим устранением.
.

Звучит все это очень сложно. Но хорошая новость в том, что здесь не нужно изобретать велосипеды - все уже давно придумали за вас.
.

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

1. Классический “водопадный” менеджмент.

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


  • сначала вы определяетесь с идеей игры и вырабатываете требования к ней;


  • далее следует этап проектирования - написания документации и требований для программистов и художников;


  • третьим этапом идет реализация ваших задокументированных требований;


  • затем наступает процесс тестирования, поиска и фикса багов;


  • и последний этап - поддержание проекта: добавление нового функционала и контента в игру.
    .


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

.
Итог:

Плюсы - последовательность.

Минусы - отсутствие гибкости.
.
.

2. Kanban

.
Это слово японское, потому что придумали этот метод работы японцы на заводе Toyota. Метод заключается в трех основных принципах:

.
1) Визуализация рабочего процесса

Это ведение так называемой доски с задачами, отсортированными по приоритету. Далее карточка может проходить несколько итераций работы, кочуя из столбца в столбец.

.
2) Ограничение количества задач в рамках одной итерации

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

.
3) Оптимизация

Рабочий процесс по системе Kanban постоянно оптимизируется. Как в случае с примером из предыдущего пункта, скопление задач в итерации тестирования может быть сигналом о том, что отдел недостаточно укомплектован, или работу сотрудников нужно каким-то образом оптимизировать.

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

.


Итог:

Плюсы: ориентированность на качественное выполнение задач.

Минусы: невозможно работать в условиях дедлайна.
.
.

3. Lean Six Sigma

.
Lean 6 sigma - это довольно сложная система, которую не описать в двух словах - за более подробными характеристиками лучше обратиться к другим источникам, я попробую лишь описать самые ключевые ее характеристики, которые могут найти применение в геймдеве. Итак, это система, объединенная из двух: системы Lean, известной как “бережливое производство”, ориентированной на сокращение финансовых и временных потерь в рамках рабочего процесса, и системы Six Sigma, или “шесть сигм”, предназначенной создать такой рабочий процесс, который постоянно улучшает и оптимизирует себя таким образом, чтобы не решать проблемы в рабочем процессе, а устранять их превентивно.
.

Так как сама система состоит из двух частей, в ней можно выделить два основных аспекта.

.
Аспект первый - бережливость принципа Lean

.
Определение того, что действительно важно для вашего проекта. Для того, чтобы понять, что является ценностью, определите несколько параметров, один из которых, или все одновременно должны быть в любом аспекте вашей игры. Например, во free-to-play проектах это монетизация (фича приносит прибыль), виральность (фича требует совместной с другими игроками игры) и ретеншен (фича заставляет игрока снова вернуться в игру). В текстовом квесте это может быть оценка с позиции сюжета. Например: а) фича раскрывает персонажа, б) фича раскрывает игровой мир, в) фича создает якорь для будущих игровых событий. Таким образом, все что кажется “просто прикольным”, или “а давайте добавим вот как у них” идет мимо кассы. Все добавляемые фичи должны проходить проверку на наличие ценности для самого проекта.
.

.
Второй аспект - совершенствование принципа Six Sigma.

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


1) Определение основных проблем проекта. Здесь может быть сформирована команда, которая будет заниматься выявлением подобных проблем.

2) Сбор данных. На этом этапе собираются все данные по проекту, формируются тезисы и предположения о проблемах, существующих на проекте.

3) Поиск решения. Все измерения и предположения анализируются, проверяются на правильность и прочность, из них уже формируются четкие выводы.

4) Внедрение улучшения. Согласно сделанным выводам, принимаются меры по улучшению рабочего процесса, устранению обозначенных проблем.

5) Контроль процессов. Стандартизация рабочего процесса. Документирование и фиксирование выявленных в итоге предыдущих четырех этапов принципов, чтобы они в итоге превратились в правило, руководство к действию.

.
Что можно сказать про Lean Six Sigma в сфере геймдева? Этот метод является слишком сложным для маленьких команд, в нем многовато бюрократии и формальностей, а его безусловная “стандартизация” делает его менее гибким в условиях постоянно меняющихся требований к проекту.
.

Итог:

Плюсы: анализ процессов с целью их последующего улучшения.

Минусы: чрезмерно формализованный процесс, который перестает быть достаточно гибким.

Примеры дизайн-документации


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


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


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


Первое: какая разница, каким способом, с помощью каких материалов и в каком стиле вы доносите свою мысль, если это удобно вам и понятно окружающим?


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


В таком случае можно задать резонный вопрос: зачем я вообще пишу эту статью, если дизайн-документация - это дело настолько индивидуальное? Фишка в том, что тут нужна некая отправная точка, от которой уже вы сами будете отшлифовывать и отрабатывать свой собственный стиль. И в этой статье я попробую вам такую отправную точку дать.


Итак, я сделала два документа: дизайн-документ и питч. Остальные, о которых я говорила в этом видео, в общем и целом, вы сможете смоделировать сами, поняв принципы этих двух. Я написала документацию по уже существующей игре, которая называется Tap Titans 2 - это довольно-таки интересный мидкорный кликер.

Важный момент: перед тем, как читать дизайн документы, поиграйте в эту игру пару дней, чтобы лучше понять, как описаны те, или иные механики.
Tap Titans 2 на Google Play
Tap Titans 2 в App Store


Ну, поехали.


Питч


ССЫЛКА НА ПИТЧ

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


1. Предложения должны быть короткими и емкими. Несколько раз подумайте, прежде чем утвердить очередное свое предложение.


Сравните два отрывка:


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


“Игрок убивает монстров, тапая по экрану, а также покупая армию героев, которые формируют урон в секунду.”


2. Все, что вы говорите, должно быть вкусно, приятно читать.


Сравните два отрывка:


“Питомцы. Это такие сущности, которые тоже наносят урон монстру, когда игрок тапает на экран, а также они обладают своими пассивными навыками”


Питомцы. Огромный набор питомцев, которые наносят урон, когда игрок тапает, и обладают собственными уникальными пассивными способностями”


3. Все, что вы пишите, должно быть разбито на списки и классификации. Даже если человек не захочет читать весь текст, он прочитает первые несколько слов в строчке и поймет общую суть.


Сравните два отрывка:


“Модель free-to-play. Продажа паков премиум валюты, которую игрок может потратить на покупку бустеров, которые действуют определенное количество времени, добавляя игроку новые возможности и существенное преимущество в бою, а еще на покупку сундуков с рандомными ценными наградами и на покупку питомцев.”


“Модель free-to-play. Продажа паков премиум валюты, которую игрок может потратить на:


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

  • покупку сундуков с рандомными ценными наградами;

  • покупку питомцев.”


Дизайн-документ


ССЫЛКА НА ДИЗАЙН-ДОКУМЕНТ

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


Первая страничка дизайн-документа - это оглавление.


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


Название механики
Здесь - непосредственно сама механика. Краткое ее название, которое в то же время будет описывать ее суть.


Ссылка
Если документ разрастется, то будет тяжело ориентироваться между вкладками, поэтому лучше использовать внутренние ссылки.


Статус
Тут все понятно: описано / не описано / в процессе.


Описание
Очень удобный раздел, в котором надо как можно короче дать ответ на вопрос “что это такое”. Пригодится для того, чтобы новый человек лучше ориентировался в вашем документе и быстрее разобрался с игрой. Тут тоже не всегда можно дать четкое определение, но это не страшно.


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


Автор
Если на проекте работают несколько геймдизайнеров, будет понятно к кому обращаться с вопросами по тексту.


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


Содержание дизайн-документа


Каждая вкладка в табличном дизайн-документе - это описание конкретной механики. С опытом я поняла, что описывать механики лучше тезисно. Короткими, емкими предложениями. Даже если это один абзац текста, относящийся к одному и тому же предмету, то все равно, чаще всего, его можно разбить на конкретные, законченные мысли. Такой стиль написания документов удобен потому, что читающий получает информацию порционно: он прочитывает короткое предложение и думает про себя: “ну окей, кажется все понятно, поехали дальше”.


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


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


В столбце “Комментарий” можно сделать пометку, или указать ссылку, ведущую к материалам по теме.


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


Надеюсь теперь дизайн-документация стала для вас прозрачнее и вы, взяв за основу мои идеи, сможете изобрести удобный для себя способ ее ведения.