Дизайн уровней: инструменты, тестирование и движки
Образование
Если вы хотите заняться дизайном уровнем, то стоит начать с книги Ultimate Level Design Guide. В ней подробно и доступно описана основная суть работы. Скачать издание можно отсюда. Вообще покопайтесь на этом ресурсе, если интересует тема проектирования уровней. На русском языке есть похожий блог. Что касается образования, то вам помогут знания в области архитектуры, психологии, живописи, математики, особенно геометрии, а также умение работать с CG. Впрочем, это все не обязательно. Главное — любить игры.
Отличия в Environment и Level Design
Дизайн уровней разделен на 2 составляющие: Environment Design и Level Design. Прежде чем делать первые шаги в изучении этой специальности, необходимо уяснить для себя собственные предпочтения в разработке. Что вам больше интересно: визуальная часть (Environment design) или проектирование геймплея уровня (Level Design).
Визуальная часть уровней — это первое, что видит игрок. Если вы ставите в приоритет арт, то нужно следующее:
- Понимать, что такое композиция.
- Уметь рисовать (Matte paint техника в помощь).
- Моделировать и текстурировать.
- Работать с шейдерами, с игровыми движками, понимать что такое модульность уровня.
- Уметь оптимизировать сцену, работать со светом и лайтмаппингом.
Level design — это совершенно другое направление. Чтобы проектировать геймплей игровых уровней нужно:
- Иметь хорошую фантазию.
- Мыслить глобально.
- Уметь рисовать кубы и стрелочки в Photoshop.
- Понимать что такое композиция.
- Знать психологию игрока.
- Хорошо бы разбираться в геометрии.
Кажется, что Level Desighn гораздо проще Environment Design, однако это впечатление обманчиво.
Инструменты
Без Photoshop никуда, хотя я сам лично использую Paint.net (бесплатно) с PSD плагином. На втором месте — 3D редактор. Я предпочитаю Blender, но советую MayaLT. Есть еще такие вещи, как SpeedTree и WorldMachine, которые помогут сгенерировать деревья и ландшафт, а ведь это уже половина работы для многих игр. Лучше работать со всеми системами: Unity, UDK, UE4, CryENGINE 3.
Современные тенденции в разработке уровней
Сегодня обороты набирает «умная» генерация модульных пропсов. Модульность сама по себе важна для экономии времени и ресурсов при разработке. Обычный игрок сталкивается с модульностью постоянно, например, в Skyrim или Fallout 3: предметы интерьера повторяются, но имеют вариативность в текстурах, деталях, расстановке мелких объектов. Допустим, 3D-художник сделал кухонный шкаф и посуду. Используя одну модель шкафа, но по-разному расставляя посуду, добавляя детали и свет, мы получаем множество вариантов одного и того же предмета мебели. Собирая разные варианты в так называемый «префаб», экономится уйма времени на производство графического контента. Однако этот подход устаревает. Ubisoft выкладывала ролики о разработке Assassin’s Creed: Unity и The Division, в которых можно увидеть генерацию огромного количества вариаций контента окружения из заранее готовых пропсов.
Это демонстрация того же модульного подхода, но автоматизированого. Пару кликов — и перед вами появился огромный город, детализированный, с интерьерами, даже мусором на улицах. ИИ и прочие важные точки уже расставлены. Вот где настоящий next-gen.
Тестирование
7 раз отмерь, потом ещё раз отмерь, а потом снова отмерь. Лишь потом «отрежь» и протестируй. Для дизайнера уровней важно смотреть собственные локации, организовывать плейтесты и анализировать результаты проверки. Ошибка в проектировании уровней критична. Исправление таких недостатков стоит больших производственных затрат. А если ничего не сделать, то пострадает потребитель. Кто-то застрянет в текстурах, у кого-то железо не потянет, крутые next-get технологии вкупе с дорогим CG контентом не передадут нужный визуальный/атмосферный посыл, а дисбаланс уровней гарантирует вам отток игроков к конкуренту. Чтобы избежать трудностей, рисуйте схемы, требуйте от геймдизайнера математических данных по игровым механикам, используйте сетку. После делайте Gray-box прототип уровня, тестируйте его еще до начала производства графического контента. В Wargaming в самом начале проектирования карт делают прототип из пластилина и взрослые дядьки из индустрии внимательно его изучают добавляя или удаляя пластилин. Имея на руках прототип уровня, сделанный из геометрических примитивов, но с уже отыгранной механикой, гораздо легче оптимизировать производство графической составляющей.
О редакторах уровней
Редактор StarCraft 2 и WarCraft 3 поможет устроиться, например, в Wargaming или Allods Team. SDK CS:GO идеален для прокачки навыков создания уровней FPS жанра. Хотел бы отметить SDK DOTA 2. Эта технология сейчас в альфе, но функционал впечатляет. Думаю, этот редактор получит большой толчок благодаря сообществу. В случае, если вы тяготеете к дизайну окружения, то тогда в портфолио лучше разместить работы в Unity и UE4.
Как зарабатывать на продаже собственного контента?
Unity Asset Store и UE4 Marketplace — отличные площадки для продажи пакетов пропсов. Вместе с набором моделей окружения обычно идет собранный уровень как пример использования контента. Сами по себе готовые локации не продают. Однако, Steam Workshop позволяет публиковать карты для CS:GO и даже на этом зарабатывать.
Еще один способ монетизировать свои навыки — устроиться на работу в большую компанию. Blizzard охотно набирает в штат мододелов-мапперов. Лично я зарабатываю удаленным фрилансером, занимаюсь полным пайпланом дизайна уровней от баланса до окружения. Исходя из опыта, больше всего заказов именно на окружение, особенно в Unity. Непосредственно «дизайн уровней» среди вакансий встречается реже. Заинтересованность данными специалистами проявляют в основном крупные студии. Если вы хотите работать удаленно, то лучше выбрать дизайн окружения. С этими навыками можно и в студию устроиться моделером как минимум. Если вы настоящий дизайнер уровней, то смиритесь с тем что среднестатистический заказчик будет считать вашу специальность ненужной и «детской», но двери крупных студий всегда открыты для тех, кто умеет создавать действительно интересные и сбалансированные локации.
Материал предоставлен блогом Xsolla