Сегодня в базе игровой движок дает «строительные кубики», из которых собирается игра, а также большой выбор инструментов, облегчающих жизнь разработчика. Вам не придется изучать множество материалов по программированию, однако совсем без таких навыков гейм-дизайнеру будет непросто. Зная, как работать хотя бы с одним языком программирования, вы относительно легко сможете переключиться на другой. Если писать код вы не хотите, все равно вам придется составлять техническое задание своим программистам, а значит, вы должны хотя бы в общих чертах понимать, какие методы они могут использовать для решения различных задач. В общем, в этой области знания нужно будет подтянуть. Существует очень много вариантов для визуального программирования, облегчающих жизнь разработчика. Если сегодня вы можете работать только, например, с блупринтами[42] Unreal Engine или в GameMaker[43], это лучше, чем ничего.
• Главное достоинство любого движка – эффективный рендеринг графики, позволяющий сократить время разработки.
• Движок задает базовую физику, например гравитацию, так что не нужно самому вспоминать законы Ньютона; у предметов уже есть параметры того, как они должны лежать, падать и т. п. Системы моделирования взаимодействия игровых объектов помогают правильно определить, попала ли пуля во врага, если это шутер, или как колеса автомобиля сцепляются с дорогой в гонках.
• Также движок часто дает сетевой протокол. Если мы делаем онлайн-игру, где один игрок стреляет в другого, информация об этом уйдет на сервер, где результат будет посчитан, обработан и отправлен игрокам.
• Движок дает систему искусственного интеллекта. Например, можно определить, как монстры будут перемещаться, бегать группами, атаковать игрока и т. д.
• Сегодня движки ценятся за кросс-платформенность, то есть за возможность разрабатывать с их помощью игры разных жанров для разных платформ (PC, PlayStation, Xbox, Nintendo Switch, iOS, Android пр.). Чем больше устройств смогут поддерживать вашу игру, тем больше людей будут иметь возможность ее оценить.
• Как правило, в движке есть средства для создания игрового контента. Вы найдете множество инструментов для моделлеров, аниматоров, художников по окружению, тестировщиков и других членов команды.
• Некоторые движки дают средства для разработки игровой логики. Если вы хотите, чтобы, открывая какую-то дверь, игрок сталкивался с монстром, достаточно прицепить к двери триггер события «открытие», а к монстру – действие «появиться». Гейм-дизайнер без специальных знаний программирования с помощью понятного интерфейса сможет собрать игровую логику. Хотя есть движки, требующие написания кода для добавления таких триггеров.
• Часто движки дают средства оптимизации и отладки, возможность проверить проект на ошибки и увидеть, на какие части игровой логики или рендеринга тратится больше всего времени.
• Важное преимущество готовых движков – комьюнити. Вы всегда сможете узнать у техподдержки или у других пользователей, как сделать то, что вам необходимо. Чем больше комьюнити, тем проще найти готовое решение.
• Отдельно нужно отметить наличие у движков магазинов с платными и бесплатными готовыми решениями: системой оплаты, библиотеками для работы с физикой и др. Например, Unreal Engine часто дает пользователям бесплатные функции, будь то система красивых аутлайнов[44], физика пробивания пулей различных материалов или генерация правдоподобного леса. Разработчики Unity, имея примеры готовых игр в магазине, выкладывают новые наработки под свободными лицензиями.
Выбор игрового движка – это принципиальное техническое решение, его смена в процессе разработки практически невозможна. Обычно решиться на такой радикальный шаг может подтолкнуть только какая-то глобальная катастрофа, например понимание, что изначально принято неверное решение о выборе движка и игру просто не получится доделать на текущем. Переделывать придется очень многое или почти все, поэтому стоит со всей ответственностью подойти к этому вопросу.
Конечно, обладая навыками программирования, вы можете сами написать код движка. Крупные компании, работающие над экспериментальными решениями и имеющие специалистов должного уровня, нередко выбирают такой путь. Но нужно помнить о том, что это очень дорого. Многие движки, особенно создаваемые для сложных комплексных игр, разрабатывались с бюджетами в 10–20 миллионов долларов, то есть стоили как полноценная ААА-игра[45]. Разработчики новых движков могут рассматривать их как вложение в будущее – для новых игр по франшизе или для продажи.