Найти тему

Что важно знать о разработке игр?

Оглавление

За последние 30 лет платформеры превратились в искусство. Зарплаты разработчиков игр конкурируют с зарплатами корпоративных разработчиков. Но барьер входа в профессию для первых выше. Если вы думали о разработке собственной игры, одного желания недостаточно. Мы объясняем технические аспекты, которые должны понимать создатели игр.

-2

Что учить кроме языка?

Разработчик игр — это в первую очередь инженер. Помимо программирования, он должен знать математику и физику. Все игры в той или иной степени отражают объекты реального мира, и их взаимодействие подчинено законам. Например, чтобы запрограммировать простую физику отскока мяча, нужно понимать, что такое коэффициент восстановления. Язык разработки менее важен — вы можете написать игру на любом языке. Также разработчик должен обратить внимание на оптимизацию и производительность. Например, при работе в бесплатном игровом движке Unreal Engine нужно учитывать, что при запуске модуля загружаются все его зависимости и съедают ресурсы. Игра должна поддерживать стабильную частоту кадров.

Сегодня разработчикам игр доступно гораздо больше инструментов, чем 20-30 лет назад. В то время как Джон Кармак сам написал свой собственный игровой движок для Wolfenstein, коммерчески успешная Super Hot была разработана на бесплатном движке Unity Engine. Бесплатные игровые движки позволяют вам играть в игру, а не разрабатывать ее инструменты. Они многое упрощают — например, позволяют сразу отслеживать результат работы. Ограничение на выбор движка накладывает язык программирования — у каждого движка свой основной язык. При этом в движках есть инструменты для скриптового (визуального) программирования: Bolt для Unity и Blueprint для Unreal. Используя только визуальные инструменты, вы столкнетесь с ограничениями. Например, при работе с физикой объектов реалистичная физика всегда пишется от руки. А вот визуальные скрипты без проблем реализуют логику казуальных игр. Скорее всего, вам придется совмещать «чистое» кодирование с визуальным. Последнее хорошо, если нужно быстро проверить работоспособность новой механики.

Рынок также влияет на инструменты разработки. По данным App Annie, потребительские расходы на мобильные игры на 50% выше, чем на консоли или ПК. Поэтому создатели бесплатных движков стали упрощать разработку мобильных проектов. Существует много бесплатных движков, но большинство из них (Construct, Cocos2D, RPG Maker) предпочтительны для разработки жанров аркад, квестов, поиска предметов. Также нужно учитывать, что некоторые функции бесплатных движков могут быть доступны только в платной версии.

-3

Unity Engine или Unreal Engine

Это крупнейшие продукты для разработки игр (от казуальных игр до шутеров). Движки похожи с точки зрения подхода, инструментов и интерфейса, но Unity использует C+, а Unreal использует C++. С помощью неофициальных плагинов можно подключить поддержку других языков (например, Python). У каждого двигателя есть своя модель для коммерческой разработки. Например, если вы выбрали Unreal Engine, вам нужно будет заплатить 5% роялти после того, как вы получите 1 миллион долларов дохода от игры. Unreal лучше подходит для разработки игр с фотореалистичной графикой и выигрывает по производительности, но Unity имеет больше дополнительных ресурсов (ассетов) и поддерживает больше платформ. Активы позволяют разрабатывать игры без найма художников и 3D-моделлеров. Вы просто находите и используете пакет моделей. У Unreal есть Marketplace для них, а у Unity есть Assetstore. Они содержат бесплатные продукты, но они больше предназначены для рекламных целей более продвинутых пакетов. Например, пак с бесплатными моделями цветов демонстрирует качество платного пака с набором деревьев от того же моделлера. Для серьезной разработки придется потратиться на сторонние активы. Оба двигателя конкурентоспособны. Какой использовать — решать разработчику.