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

Как же с этим работать?

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

С игровыми движками все намного сложнее, т.к. работа с изображением  лишь небольшая часть будущей игры, но общие элементы интерфейса все те же: рабочая область, настройки, инструменты, рабочие объекты.. Но помимо этого в игровом движке обязательно будет область предпросмотра, в которой Вы сможете проверить результат Вашей работы; дерево каталогов проекта, которое необходимо, чтобы не запутаться, в каких папках лежат различные «ингредиенты» игры; а также редактор для написания текста скриптов на поддерживаемых языках программирования с поддержкой автопроверки кода, подсветки текста и прочими удобствами.

Получается, что современный игровой движок ­это множество различных редакторов (текстовых, графических, видео, аудио и многих других), собранных в одной программе и объединенных общим интерфейсом с явным упором на визуальное программирование (минимум кода, больше работы «кликом мышки»). При этом игровые движки обучены работать с продуктами деятельности сторонних редакторов и поддерживают все популярные форматы файлов, чтобы Вы могли спокойно нарисовать спрайты персонажей в том же «Фотошопе» и потом безболезненно перенести все это в свою игру.

ВАЖНО. Современные игровые движки работают с готовыми объектами (моделями персонажей, текстурами, физическими моделями, камерами и т.д.), поэтому все скрипты пишутся на объектно-ориентированных языках программирования.

Далее я дам немного информации о самых доступных и популярных движках.

Game Maker: Studio

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

Плюсы:

— Легко найти, легко скачать и установить. Буквально 200 Мб загружаются на Ваш жесткий диск и уже можно начинать.

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

— Большинство действий при разработке, совершаются путем внесения необходимых настроек в различные объекты ­ это самое простенькое «программирование кликом мышки».

— Собственный язык программирования Game Maker Language умудряется быть похожим на все популярные языки программирования разом, при этом будучи крайне упрощенным и вполне самодостаточным. Разобравшись в нем, изучать такие языки, как C# и Java, реально проще.

— Множество готовых конструкторов, из которых можно слепить свою игру.

Минусы:

— Крупные проекты реализовывать на Game Maker практически нереально. Только небольшие 2D поделки.

— Чтобы выпустить игру в тот же Steam нужно будет вложить порядка 200$ на Pro-версию и подписку Greenlight.

— Без денежных вливаний можно будет разработать игру только для Windows.

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

Unity

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

Плюсы:

— Полноценная функциональность персональной бесплатной версии движка.

— Официальный сайт движка «unity3d.com» и его русское сообщество. Там действительно можно найти все необходимые знания и материалы, а также обратиться за советом к уже бывалым разработчикам.

— В наличии все современные технологии и инструменты для работы с каждым аспектом игры.

— Возможность зарабатывать на играх безо всякий отчислений до 100000$ в год.

— AssetStore внутренний магазинчик, в котором можно как покупать, так и продавать различные готовые модельки, скрипты, текстурки и даже целые конструкторы для игр. Много товаров доступно бесплатно, вдобавок в сети можно откровенно «спиратить» и платные товары (впрочем, если владелец узнает, что Вы продаете игру с украденными ассетами, то можно нарваться на неприятности).

— Наличие отдельного 2D движка, заточенного под работу именно с двумерными играми.

— Честная кроссплатформенность.

— Поддержка С#, Java и интеграция с Microsoft Visual Studio (важный пунктик для будущих программистов).

Минусы:

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

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

— Раздражающая не убираемая заставка в бесплатной версии.

— Отсутствие инструментов для командной разработки в бесплатной версии.

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

— Если Ваш доход превысит 100000$, то непременно придется купить подписку на профессиональную версию движка за 75$ в месяц.

— Достаточно высокий порог входа, т.к. необходимо хотя бы немного знать языки программирования (C#, Java) и желательно уметь работать в сторонних редакторах для создания будущих текстур и 3D моделек игровых объектов.

Unreal Engine

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

Плюсы:

— Абсолютная бесплатность и никаких разных версий, все функции сразу доступны. Если заработаете больше 3000$ за квартал, то Epic Games получит 5% от всей прибыли.

— Наличие всех суперсовременных технологий (особенно это касается графики), которые можно смело интегрировать в Ваш проект.

— Удобный интерфейс и гибкая настройка редактора.

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

— *До недавнего времени сами Epic Games спонсировали игры, выпущенные на Unreal Engine 4, достаточно было им отправить рабочее демо своего проекта.

— Удобные внутренние редакторы для работы с графикой.

— Наличие встроенных готовых заготовок с заранее предустановленными настройками для самых различных игр.

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

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

— Кроссплатформенность и весьма удобная работа с играми под консоли.

Минусы:

— Немаленькие рекомендуемые системные требования.

— Русское сообщество пока еще только набирает обороты. Отсюда и следующий минус.

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

— Скрипты пишутся на С++, что гарантирует достаточно высокий порог вхождения.

Итог

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