Технический гейм-дизайн. Когда работают руками
В гейм-дизайне существует множество специализаций, связанных с разными аспектами дизайна игр: системный, монетизационный, нарративный, а также дизайн уровней. Но есть один вид гейм-дизайна, о котором не так часто слышно — технический гейм-дизайн. В данной статье я хочу рассказать подробнее что это за роль, какие задачи придётся выполнять и как вообще стать техническим гейм-дизайнером.
Кто такие технические гейм-дизайнеры?
Это дизайнеры, которые работают руками в движке. Технический гейм-дизайнер может столкнуться с такими вещами, как:
- Прототипирование;
- Скриптинг уровней;
- Настройка контента;
- Разработка простых механик от документации до кода;
- Создание инструментов для дизайнеров уровней;
- Ведение переговоров между программистами и другими гейм-дизайнерами;
- Написание технической документации;
Но надо понимать, что конкретный список задач, который выполняет технический гейм-дизайнер, зависит от трёх факторов:
- Компания;
- Команда;
- Проект;
Так что точного списка, одинакового для всех компаний и проектов, вы никогда не получите.
Кому нужны такие гейм-дизайнеры?
В первую очередь, технические гейм-дизайнеры востребованы в крупных игровых компаних на крупных проектах, т.к. чем больше проект, тем больше механик, систем и ивентов надо настраивать внутри движка, и тем чаще нужно налаживать связь между программистами и остальными гейм-дизайнерами.
В малых командах по традиции специализации размываются (не только у гейм-дизайнеров). В итоге все гейм-дизайнеры становятся немного техническими, т.к. всё равно придётся лезть в конфиги и движок, чтобы что-то настраивать. Кроме того, в некоторые моменты бывает быстрее самому написать маленькую механику, чтобы не отвлекать программиста от более важных вещей.
Таким образом, опыт технического гейм-дизайнера будет полезен везде, но как отдельный специалист он нужен только в крупных компаниях и на крупных проектах.
Какие знания необходимы?
В целом, всё начинается с базовых знаний гейм-дизайна:
- Написание документации;
- Проектирование игровых механик;
- Балансировка;
- И т.д.;
При этом наиболее простой переход можно совершить из системного гейм-дизайна, поскольку принципы мышления похожи на те, что использует технический гейм-дизайнер. Это будет полезно и потому, что, как я уже говорил, системный гейм-дизайнер нужен везде, в отличие от технического.
Но это база, которая нужна всегда, а что по другим навыкам?
Английский язык
Странно в 2022 не знать английского, особенно в игровой индустрии, но если не знаете — учите, в современном мире это не так сложно как кажется. Прежде всего, английский нужен для изучения движка, вся его техническая документация и свежие туториалы выходят на английском.
Кроме того, хороший английский позволит не только быстрее улучшать навыки и получать свежие новости, но также поможет расширить контакты внутри индустрии и быстрее решать проблемы, с которыми вы будете сталкиваться во время разработки.
Функционал игровых движков
Логичный пункт, ведь если у системного гейм-дизайнера основной инструмент — это текстовый редактор, то у технического — игровой движок. Поэтому знать его функционал совершенно необходимо.
Конечно, от технического гейм-дизайнера не требуется досконально знать все аспекты движка. Во-первых, для по-настоящему сложных и комплексных задач есть программисты. Во-вторых, некоторый функционал вы будете использовать редко или не использовать вовсе, т.к. это, например, инструменты для дизайнеров звука или технических художников. Однако не стоит питать иллюзий: чем лучше технический гейм-дизайнер знает движок, тем ценнее он как специалист. И тем проще работать ему самому.
Какой движок выбрать? Зависит от ваших целей, но выбор весь сводится, на данный момент, к двум игровым движкам:
- Unreal Engine — крупные игровые проекты для PC и консолей;
- Unity — мобильные игры, от гипер казуальных до мидкор и хардкор;
Программирование
Как я писал выше, технические гейм-дизайнеры могут заниматься прототипированием, скриптингом уровней, а также созданием маленьких игровых механик.
Обладая хорошими навыками программирования, вы будете выполнять данные задачи не только быстро, но и качественно. Более того, они помогут вам проще находить общий язык с программистами. И, конечно, ваша техническая документация станет лучше.
Как научиться программированию? Эта тема достойна отдельной статьи. Здесь же я ограничусь ссылкой на своё выступление на DevGAMM:
Главное помнить, что знание программирования:
- Не делает вас программистом;
- Не даёт вам право говорить программистам как делать их работу;
Системы хранений версий
Техническому гейм-дизайнеру важно знать системы хранения версий, как минимум Git. Почему? Нам приходится часто работать в движке и даже с кодом, и без знания Git будет очень сложно решать проблемы, а также работать в команде.
При этом, вам не нужно знать Git досканально, т.к. это очень большая и сложная система (как и любая другая система хранения версий), но важно знать основные команды и принципы работы с ним помогут решить очень много проблем в будущем.
Математика
Математика — очень полезное знание. И хотя она не является обязательной, она существенно облегчит вам жизнь. Будет полезно знать хотя бы несколько разделов математики, чтобы простые системы не становились для вас проблемой.
Во-первых, хорошо бы понимать векторную алгебру. А еще лучше — уметь ей пользоваться. Векторы — это основа любого современного движка, и за счёт них можно создавать очень много крутых вещей. Без понимания хотя бы основ векторной алгебры у вас вряд ли получится заставить персонажа правильно двигаться, рассчитать расстояние до нужной точки на уровне, или просто узнать направление взгляда противника, не говоря уже о более сложных вещах.
Во-вторых, теорема пифагора. Это очень важная теорема, т.к. через неё проводится очень много расчётов, которые связаны с векторами.
В-третьих, тригонометрия. Чрезвычайно важный раздел, который пригодиться почти везде: от создания простых программных анимаций, до использования в связке с предыдущими пунктами для необходимых расчётов.
И, наконец, алгебра. Она поможет вам лучше понимать функции, строить по ним графики, читать эти графики и модифицировать их. Кроме того, линейная алгебра пригодится для работы с программными анимациями, а также каких-либо расчётов в рамках игровой логики.
В целом, первые 3 пункта очень плотно друг с другом связаны. Как я уже упоминал, глубокое знание этих тем не требуется, но знакомство с ними крайне необходимо, т.к. они постоянно используются на практике. При необходимости, конечно, эти знания можно и нужно углублять.
Тестирование
Неожиданный пункт, но очень важный. При этом я имею в виду мануальное тестирование, когда тестируют руками. Как я уже писал выше, технический гейм-дизайнер достаточно много работает с кодом, а значит придётся постоянно проверять работу собственных фичей.
Конечно, от вас не требуется делать сразу идеальную систему, да и заниматься тестированием на уровне профессиональных QA никто не просит. Но избавляться от самых очевидных и легко воспроизводимых багов будет очень важно, т.к. это уменьшит количество фиксов, а также немного разгрузит QA.
В крупных компаниях QA специалисты — это люди, с которыми любому гейм-дизайнеру стоит всегда быть на связи, т.к. они зачастую могут рассказать подробности об особенностях работы тех или иных механик.
К сожалению, в маленьких студиях QA редкость и тут выбора особо не будет: придётся самостоятельно проводить тестирование не только своих, но и чужих игровых механик.
Как составить портфолио?
Сейчас для любого начинающего гейм-дизайнера важно иметь портфолио самостоятельных проектов, а для технического гейм-дизайнера это обязательно. Благо, сейчас возможностей начать делать игры огромное количество и всё зависит только от вас самих.
С чего начать?
Самое простое — это небольшие законченные проекты, которые вы делаете на разных курсах, пользуясь помощью преподавателя. Но могу сразу сказать: эти проекты однотипны и лучше от них избавляться как можно быстрее. Пополняйте портфолио вашими собственными играми: они выглядят интереснее и лучше показывают ваши скилы и умение работать самостоятельно.
Как это сделать? Начните участвовать в игровых джемах (game jam). Игровые джемы — это аналоги хакатонов из энтерпрайз индустрии. Вам необходимо за ограниченное время (2 – 3 дня, иногда и больше) сделать игру на заданную тему или с некоторыми важными ограничениями. Игровые джемы не только позволят вам укрепить и продемонстрировать навыки технического гейм-дизайнера, но также поможет лучше понимать важность планирования, оценивать сложность игровых механик, а также научит очень важному скилу для любого гейм-дизайнера — фичекату.
Ну и конечно, можно делать самостоятельные проекты в свободное время. Это самый сложный вариант. В этом случае вам придётся самостоятельно выставлять себе сроки и понимать, что вы хотите сделать. Наконец, очень высок риск того, что самостоятельный проект превратится в бесконечный.
Важен ли визуал?
Ваша основная задача — показать, что вы умеете работать с движком, а также что в вашу игру весело играть даже с простой графикой. Проекты в портфолио должны быть легковесными, чтобы их можно было быстро скачать и начать играть. Я рекомендую использовать lowpoly, например из наборов Synty Studios.
Кроме того, следите за тем, чтобы у вас не было дебаг-сообщений, и постарайтесь сделать хороший UI. Хочу отметить, что от вас не требуются идеальные интерфейсы, при этом важно, чтобы они выглядели аккуратными и не мешали играть в ваш прототип.
Где хранить исходники?
Исходники лучше всего хранить на GitHub или GitLab. В целом, принципиальной разницы нет: выбирайте тот, который больше нравится. У меня так повелось, что я использую GitHub.
Самое главное, не забудьте аккуратно оформить README.md. В нём я советую дать ссылки на билд, видео и скриншоты, рассписать короткое описание игры и как в неё играть.
В качестве примера можно посмотреть на исходники HONK III, которую я вместе с командой сделал в рамках Ludum Dare 49.
Где хранить билды?
Самый простой способ хранения билдов — Google Drive. Я не считаю данное место удобным по паре причин:
- Сложно оформить хорошее readme с инструкциями, ссылками на исходники, видео, скриншотами и т.д.;
- Ограниченное место. Да, можно купить дополнительное, но не всегда хочется тратить деньги на такую вещь. К тому же, таких прототипов может быть много, а их суммарный вес может привести к превышению лимита очень легко;
На мой взгляд, лучше всего прототипы хранить на сайте www.itch.io. Там можно оформить как одну страницу для всех проектов, так и индивидуальные страницы для каждой игры. От вас не требуются глубокие знания дизайна. Главное, чтобы всё было аккуратно.
В качестве примера я приведу:
Вы можете создать хорошее портфолио, которое приятно выглядит и сможет зацепить потенциального работодателя. Кроме того, грамотно составленное и обновляемое портфолио покажет работодателю, что вы не стоите на месте.
Дополнительные материалы
Важно понимать, что не всегда у людей будет время и возможность поиграть в ваши прототипы, но им будет интересно посмотреть как они выглядят и играются.
Всегда сопровождайте ваше портфолио:
- Видео прохождения;
- Скриншотами;
- Гифками с геймплеем;
Они не только помогут оформить страницу исходников и билда, но и позволят людям быстрее ознакомиться с вашими проектами.
Напоследок
Надеюсь, данная статья окажется вам полезной и вы лучше станете понимать, кто такой технический гейм-дизайнер, зачем он нужен или даже решите попробовать стать им.
2 комментария
Уведомление:
Уведомление: