Игровой движок. Какой движок выбрать для создания своей игры Что такое движок в играх

Все мы слышали про движки для создания игр, при этом мало кто понимает, что это такое.

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

Попробуем разобраться с вопросом, подходя к ситуации в роли , и рассмотрим самые популярные игровые движки : их особенности, сферы применения, слабые и сильные стороны.

Понятие

Игровой движок или game engine – это изначальное программное обеспечение, разработанное для создания на его основе компьютерных игр, зачастую определённого жанра.

Термин образовался в средине 90-х по отношению к шутерам вроде Quake, Wolfenstein и Doom .

Еще до возникновения такого понятия игровой мир заметил, что удивительно хорошо сочетали в себе:

  • трехмерную графику;
  • расчёт столкновений с объектами;
  • объемный игровой мир;
  • звуковую составляющую;
  • инвентарь (система вооружения) и другие правила.

Обратив внимание на это, разработчики начали выпускать собственные игры на основе того же Doom , с минимальными изменениями: перерисовка карт и прочих графических моделей, редактирование физического движка.

Преимущественное большинство движков создаются под определённый игровой жанр и часто для указанной платформы.

Использование game engine для нескольких платформ или жанров делает его менее унифицированным и оптимальным, он не раскроет свой потенциал.

Разновидности

Движки для разработки игр специализируются на жанрах.

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

В любой игре есть взаимодействие объектов , управление кем-либо или чем-либо при помощи геймпада, мыши и клавиатуры, вывод картинки и звука, наложение текста, рендеринг трехмерных объектов (в 3D-играх).

С учётом этого некоторые движки успешно используются для разработки развлечений разных жанров. изначально был платформой для создания шутеров от первого лица, но Gear of War (вид от третьего лица) и Speed Star (гонка) на его основе получились полноценными видеоиграми.

Шутер

Благодаря им появилось понятие движка, с них и начнём.

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

  • функция моделирования виртуального трехмерного мира с учётом динамики развития событий;
  • наличие контроля прицеливания;
  • высокая отзывчивость игровой механики;
  • значительная четкость прорисовки и детализация рук персонажа и оружия;
  • хорошая анимация выстрелов и взрывов на основе взаимодействия частиц;
  • реалистичное поведение окружающей среды в ответ на выстрелы и взрывы, в том числе разрушаемость объектов, из-за чего к таким движкам предъявляются высокие требования в области кинематики;
  • большой выбор вооружения с разными характеристиками;
  • проработанная модель движений и взаимодействия персонажей;
  • качество искусственного интеллекта при наличии одиночной игры;
  • многообразие игровых режимов и массовость в корпоративном режиме.

Платформер

Обычно это двухмерные развлечения, к ним требования более снисходительны:

  • немало внимания уделяется внешнему виду, кастомизации, поведению и анимации главного героя;
  • разнообразие так называемых перемещающихся платформ (падающие, движущиеся по разным траекториям, исчезающие, вращающиеся);
  • дополнительные платформы в виде ступенек, верёвок, лестниц, труб и система взаимодействия с ними;
  • наличие элементов головоломок;
  • многослойная геометрия;
  • простая физика взаимодействия объектов;
  • взаимодействие с иными игровыми персонажами (диалоги, бои).

Файтинг

Для них характерны большое разнообразие персонажей с уникальными способностями и техниками, отдельная анимация каждого из них, мимика и жесты, выполнение заданий на протяжении раундов, сложная система ударов, их комбинаций, защитных движение, комбо и спец-приемов.

Нередки в файтингах и сетевое взаимодействие, кастомизация персонажа, появление последствий драки (царапины, ссадины), добивающие приёмы.

Гонки

Для гонок создан не один игровой движок с учётом специфики игр.

Ввиду реализации мультипоточности, PhysX отличается наличием выделенного потока без каких-либо проверок. Это позволяет выполняться ряду задач одновременно в параллельных потоках.

Тесселяция позволяет добиться , что положительно отражается на цветовой коррекции, наложении шума и зернистости на изображение в реальном времени.

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

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

Прочий функционал:

  • визуализация сцен с широким цветовым пространством;
  • использование десятков источников света в кадре;
  • полностью динамическое освещение;
  • размытие в движении без влияния на производительность;
  • отличное распараллеливание процесса визуализации;
  • расчёт распространения звука, его поглощение и отражение от преград;
  • множество условий боя;
  • удобная и понятная система скриптования;
  • система анализа топологии ИИ;
  • персонажи наделены зрением, слухом и прочими чувствами, что делает их серьёзными противниками;
  • групповое поведение.
  • сложность процесса портирования игр на консоли;
  • не оригинальная разработка, а усовершенствованный X-Ray (факт не доказан, но намёки на это есть);
  • поддержка DirextX12 не реализована.
  • улучшена графическая часть;
  • разрушаемость моделей и прочие преимущества PhysX;
  • нет спецэффектов ради спецэффектов (добавляются только необходимые).

Игры: серия Metro, в том числе разрабатывается Metro Exodus, и Arktika.1.

Яркий пример реализации личных амбиций и один из немногих всемирно известных движков, созданных на просторах СНГ.

Anvil

Создан дочерней компанией Ubisoft, используется для выпуска и только внутри компании.

Первой игрой была первая часть Креда Убийцы, затем появился симулятор сноуборда и Prince of Persia.

Любая из них вызвала массу удивления и привнесла в мир виртуальных развлечений немало нового.

Поддерживается на PC, PS всех версий, Nintendo, Wii и Xbox.

Код написан на C++, модели нарисованы в ZBrush, а окружающий мир – в 3ds Max. Для правильной скелетной анимации задействовано . Физику виртуального мира моделирует легендарный Havok. В последних релизах было уделено немало внимания смене времени суток, динамическому освещению и дистанционной прорисовке. Также в него была интегрирована прогрессивная схема растительности (как в Far Cry 2) с новым ИИ, важным отличием коего является усовершенствованная система навигации NPC. Реализация и отладка Direct3D 10/11 хоть и весьма затратные, работа все же была проделана.

Среди неназванных особенностей движка выделим следующие:

  • оптимизация работы на многоядерных системах, вплоть до 32 потоков;
  • запуск игр на нескольких экранах в панорамном режиме;
  • сложный шумовой туман, способный симулировать песчаную бурю без падения fps;
  • эффекты преломления, отражения и рассеивания света в воде;
  • до шести отличающихся персонажей в одной кат-сцене;
  • большинство анимаций снято с реальных актеров;
  • в одной сцене может находиться до 3 тысяч участников, что позволяет устраивать массовые баталии, лишь бы ПК справился с нагрузкой;
  • NPC активно реагируют на героя, могут нападать одновременно, а не поочерёдно;
  • технология отсечения моделей и сортировка объектов по глубине прорисовки.
  • требователен к ресурсам;
  • не лицензируется;
  • долго не поддерживал DirectX 10 и 11.
  • хорошая реализация многопоточности;
  • работает на PC и множестве консолей;
  • возможность реализации массовок при участии сотен игровых персонажей.

С Ubisoft, в плане устроить массовую заваруху и нагнать побольше людей в одно место, не сравнится никто.

Creation Engine

Довольно новый движок от американской студии Bethesda, которая продемонстрировала его возможности в Skyrim. Как и предыдущие решения, создан только для нужд его разработчика. За основу был взят Gamebryo – подспорье для Oblivion и его аддонов.

Первое, что интересно в технологии – поддержка огромных локаций с дальней прорисовкой, свободным и быстрым перемещением.

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

Улучшенный ИИ, использованный в Oblivion, более правдоподобно симулирует жизнь людей и их отношение к главному герою.

Концепция управления развитием сюжета способна генерировать дополнительные задания с учётом стиля игры.

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

Для анимации персонажей использован посторонний инструмент от Havok.

Особенности:

  • наличие редактора уровней Creation Kit для геймеров и разработчиков модов;
  • в Fallout появился основанный на физике рендеринг;
  • масса инструментов для модостроителей;
  • простота переноса модификаций на консоли.
  • не лицензируется;
  • тяжело создавать двуручное оружие;
  • система поведения персонажей достаточно слаба.
  • есть редактор модов, которые будут работать на любой платформе;
  • большая дистанция прорисовки;
  • уникальная схема генерации деревьев и их анимации.

Ничего лучшего для моддеров пока не придумано, поэтому больше, чем для Fallout, их создано только для Oblivion.

CryEngine 4

Последняя версия движка от немецкой компании Crytek для шутеров от первого лица.

Самый удачный пример использования – .

С 2016 года движок стал распространяться по схеме «заплати, сколько не жалко», но только для игрового использования.

Особенности и возможности:

  • наличие огромных территорий, причем не коридорных;
  • локации создаются без швов;
  • поддержка инверсной кинематики персонажей и транспорта, его взаимодействия с окружающей средой;
  • имитация различных нетвёрдых объектов: ткань, вода;
  • огромный арсенал с уникальными характеристиками каждого вида оружия;
  • скриптовый и командный интеллект;
  • можно изменять параметры ИИ, не имея знаний в области программирования;
  • интерактивное музыкальное сопровождение – музыка соответствует ситуации;
  • полная поддержка звуковой системы 5.1;
  • воспроизведение звуков природы с учётом среды, отражения и поглощения звука;
  • реалистичный эффект жары и пожара;
  • прозрачность стекол – можно видеть, что находится в зданиях;
  • эксплуатация карт высот для получения многоуровневой среды с видимым расстоянием до 2000 м;
  • невероятные возможности работы с освещением и тенями, что отлично демонстрирует Crysis;
  • объемный густой туман и дым для придания атмосферы;
  • наличие необычных физических эффектов (например, нанокостюма).

  • многие элементы и объекты созданы в 3ds Max и Maya, отчего их легко редактировать;
  • без знаний C++ можно легко управлять ИИ и интерактивным саундтреком в зависимости от ситуации;
  • реалистичные лица и анимация персонажей;
  • модульность открывает необъятные возможности перед программистами.
  • требователен к аппаратуре;
  • проседания fps;
  • не отзывчивая техподдержка для бесплатной версии;
  • слабая графическая часть при продвинутом технологическом уровне.

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

id Tech

Инструмент для создания Wolfenstein, Quake, Rage, Doom.

При выходе очередной версии (ныне разрабатывается 7-я) устаревающая выкладывается для общего доступа по свободной лицензии.

Для разных серий CoD существуют собственные модификации.

Возможности технологии не сильно отличаются от функционала оригинала:

  • отличное распараллеливание;
  • отдельные технологии для обработки закрытых и открытых пространств;
  • визуализация поверхности благодаря нескольким текстурным слоям;
  • множество применяемых к изображению пост-эффектов;
  • имитация контузии и реакции персонажа на попадания в него пуль и нанесения увечий иными способами;
  • наличие атмосферной дымки и яркого солнечного сияния в жаркий день;
  • поддержка перегрева ствола с учётом температуры окружающей среды;
  • обработка теней с задействованием карт теней высокого разрешения;
  • огромное количество полигонов в одном кадре;
  • изменение качества текстур в зависимости от расстояния между ними и игроком;
  • разные спецэффекты в различных игровых ситуациях.

  • большое разнообразие спецэффектов;
  • моделирование отсутствия гравитации;
  • очень высокая производительность;
  • разнообразие поведения врагов, учитывающих особенности местности.
  • хорошая графика только при высоких системных требованиях;
  • развитие сосредоточено в основном на разнообразии визуальных эффектов.

Rage Engine (RAGE)

Результат работы подразделений Rockstar Games для внутренней эксплуатации.

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

Часть элементов создана с нуля сотрудниками компании.

Физическая компонента является свободным ПО.

На нём выпущены Red Dead Redemption и Max Payne 3.

Технологии сосредоточены на использовании для написания игр с огромным бесшовным игровым пространством.

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

С этим справляется оптимизированный и отточенный менеджер памяти,

Source

Выпущенный Valve для собственных проектов.

Прославился благодаря CS, Portal и Half Life.

Он сделал революцию в игровом мире, благодаря второй части истории о Гордоне Фримене.

Ныне актуальна вторая версия, где полно улучшений, исправлений и новых технологий.

Важная черта движка – лицевая анимация, содержащая элементы мимики и синхронизации её с разговорами персонажей.

Продвинутый ИИ может управлять как единичными противниками, так и координировать действия их группировок. Это один их первых движков с шейдерными эффектами: вода, разрушаемость объектов, интерактивные предметы, отражения.

кинематографическая физика;

Рис. 16 – Редактор Unreal 4

Словосочетание известно всем любителям пострелять.

Он поддерживает множество платформ, в том числе мобильных.

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

Элементы движка представляются как объекты с индивидуальными характеристиками, принадлежащими к определённому классу, который эти параметры и определяет.

За физические расчёты отвечает PhysX, пришедший на замену модели Karma. Распространяется бесплатно, пока ваш доход не превысит $3000 в квартал.

Существует несколько версий движка, рассмотрим особенности последней из них:

  • поддержка жидких поверхностей и т.д. благодаря PhysX;
  • генерация объектов ландшафта на лету;
  • продвинутая скелетная анимация и физика;
  • интегрированный движок для анимации FaceFX;
  • генерация деревьев и кустарников посредством технологии SpeedTree;
  • большое количество персонажей в кадре;
  • игровая логика создается на Blueprint;
  • C++ код компилируется на ходу;
  • поддержка звуковой коммуникации между геймерами;
  • большое количество редакторов: ИИ, эффектов частиц, анимации, ландшафтов, кат-сцен…
  • бесплатный для начинающего разработчика;
  • готовый магазин контента, откуда можно загрузить всё необходимое;
  • открытые исходники;
  • работа на множестве платформ;
  • нет необходимости вникать в код;
  • Нельзя обойти стороной использующийся для разработки мобильных развлечений и REDengine 3, продемонстрировавший свои прелести в .

    В этом году предстоит увидеть его четвёртую версию в Cyberpunk 2077.

    Вывод

    Среди огромного количества платформ для разработки игр лишь немалое их число доступно рядовому пользователю.

    За свободную сумму можно остановиться на CryEngine 4 . На нём несложно сделать конкурентную игрушку, мало чем уступающую Far Cry, но для этого потребуется время на освоение инструментов. Зато программирование знать не обязательно, всё делается в . За дополнительную плату разработчик предоставит доступ к документации и туториалам, хотя материала в сети и без того предостаточно.

    Unreal Engine 4 – для программистов, владеющих C++ и нацеленных на несколько платформ. Доступ ко всем редакторам получите совершенно бесплатно, но 5% прибыли придётся отдавать Epic Games.

    Предыдущая версия id Tech после выхода новой распространяется бесплатно. Отличное решение для написания высокопроизводительных консольных шутеров с полностью разрушаемой средой.

    Source 2 сделан для реализации творческих начал пользователей. Кроме бесплатной лицензии, движок отличается наличием дополнительных редакторов, утилит и документации. Большие размеры локаций с неограниченным количеством объектов – полигон для воплощения любых идей.

    Для небольших проектов, нацеленных преимущественно на мобильные платформы, лучше ничего не создано, но это отдельная тема.

Инструкция

Обратите внимание, что движок для абсолютно любой игры составляется из многих, порой независимых друг от друга частей. Сюда входит: главное меню, игровой интерфейс, загрузка уровней, физическая модель, контроль столкновений и многое другое. Некоторые части необходимы лишь для какого-либо одного жанра. К примеру, в морском или авиационном стимуляторе нужен и важен модуль погодных явлений, но в стратегии реального времени он или не нужен вообще, или имеет второстепенное значение. Или, например, модуль выстрелов абсолютно без надобности в футбольном стимуляторе. Из таких необходимых частей и будет собираться игра.

Используйте язык программирования Delphi, особенно если вы еще делаете первые шаги в данной области. Delphi – это среда разработки Object Pascal, отличающегося простотой и достаточной гибкостью, для возможности создания на нем полноценной компьютерной игры современного уровня, причем любого жанра, с полноценной трехмерностью и современным уровнем графики. Собственно говоря, среда разработки – дело вкуса каждого конкретного программиста. Например, MSVC++ , в отличие от Delphi , генерирует более быстрый код, но скорость компиляции Delphi в десятки, а может даже в сотни раз быстрее. Плюс удобный интерфейс и точное указывание строки кода, содержащей ошибку.

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

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

С большими коллективами хорошо проводить спортивные эстафеты, а вот организовывать игры-дискуссии удобнее в группах не более 15 человек.

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

Если игры будут организованы в преддверии праздника, он может стать главной идеей сценария программы. Также для дошкольников и младших школьников принято проводить игры, связанные со временами года.

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

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

Видео по теме

Обратите внимание

Подбор игр для взрослых будет зависеть исключительно от их вкусов и социально-культурного уровня.

Источники:

  • Детские игры в 2019

Что для вас компьютерные игры? Для кого-то это средство самореализации, кто-то использует их для эмоциональной разгрузки, а для кого-то это просто способ приятно провести время. Однако существует тип людей, у которых однажды появляется желание сделать что-нибудь подобное самому. Чувствуете, что хотите научиться делать игры и не знаете с чего начать?

Инструкция

Делать игру в одиночку – задача очень трудная и долгая. Тем более, когда есть желание, но опыта и навыков еще нет. Конечно, есть удачные среди инди-игр, к примеру, Samorost или Braid, но авторы этих шедевров (Якуб Дворски и Джонатан Блоу, соответственно) учились или работали в соответствующей сфере. Первый грыз гранит науки в академии искусств, архитектуры и дизайна, второй – зарабатывал на жизнь программистом. Кроме того, они привнесли в свое творение оригинальную идею, которая стала одним из элементов успеха.

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

Другой вариант – пойти учиться в институт на специальность, которая может понадобиться при создании компьютерных игр. Достойных программистов готовят, к примеру, в Санкт-Петербургском государственном университете информационных технологий, механики и оптики, МГУ на факультете вычислительной математики и кибернетики, СПБГУ на факультете прикладной математики – процессов управления, МГТУ им. Баумана на факультете информатики и систем управления. Желающим проявить в себя в творческой профессии (художник, 3D-моделлер, сценарист, аниматор) стоит попытать счастья при поступлении во ВГИК, МГУ (факультет журналистики, кафедра новых медиа и теории коммуникации), СПбГУКиТ (институт экранных искусств, специальность «режиссура кино и телевидения») или Московскую финансовую промышленную академию (факультет дизайна, кафедра комиксов и манги).

Источники:

  • Игромания, Творческая специальность. Куда пойти учиться на художника, моделлера, аниматора, звукорежиссера. Алена Ермилова. август 2008

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

Вам понадобится

  • Game Maker, компьютер.

Инструкция

Существуют разные программы для создания игр. Одни специализируются по тем или иным (RPG, квесты, логические игры и т.д.), другие универсальны; возможности некоторых ограничиваются 2D, а некоторые разработаны специально для 3D-игр. Популярными конструкторами игр являются программы Game Maker, Adventure Game Studio, Construct Classic, Novashell. Большинство из них имеют похожий интерфейс и алгоритм действия. Рассмотрим его на примере самой распространенной программы для создания игр – Game Maker.

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

Создание объектов и действий, динамическая часть игры. Теперь вы должны создать объекты, которые будут представлены в игре выбранными ранее спрайтами. Сделать это можно во вкладке «Ресурсы». Объекты могут быть видимыми и невидимыми, обычными и твердыми. Вы также можете создать родительский объект, связанный с несколькими разными спрайтами, которые, тем не менее, будут вести себя одинаково. Поведение – это то, чем объекты и отличаются от спрайтов: монстр старается убить игрока, шарики отскакивают от стен, а стены, в свою очередь, отталкивают шарики.

Это поведение определяется через события, которые можно выбрать в окне со свойствами объекта, и действия, которые будут выполняться при данном событии. В зависимости от жанра игры, вам могут понадобиться разные действия: передвижение, столкновение, управление, рисование или счет. Каждое действие имеет ряд параметров: например, к какому объекту применяется действие, относительность (изменение очков) и т.д. Внимательно настройте все параметры, иначе игра не будет функционировать.

Создание комнат, каждая из которых отвечает новому уровню. Если концепция вашей игры не предусматривает переход по уровням, вы можете ограничиться одной комнатой. Меню комнат находится во все той же вкладке «Ресурсы». Там вы сможете настроить размеры, вид, скорость комнаты и заполнить ее созданными объектами. При запуске игры загружается первая комната, и объекты в ней начинают совершать назначенные для события действия. А теперь на панели инструментов нажмите кнопку «Запустить» и проверьте, как все работает.

Если вам нравится играть в компьютерные игры, то наверняка в один прекрасный день вы почувствуете, что и самому очень хочется написать свою авторскую игру. Почему бы и нет – веет это не такое уж трудное дело, главное хорошо подготовиться и дать волю своей фантазии. Тогда и популярный формат 3D будет для вас несложен.

Вам понадобится

  • Чтобы написать свою 3D игру потребуется:
  • - разработать сценарий;
  • - некоторое знание языков программирования или знакомый программист.

Инструкция

Определитесь с жанром. Популярных жанров в компьютерных играх достаточно много, есть из чего выбрать. Для своей первой игры выберите жанр, который вам нравится больше всего. Что это будет: стрелялка, реального времени, аркада, боевик, гонки, приключения, симуляция реальности – не важно. Главное, чтобы вам хотелось написать именно в каком-то определенном жанре. Каждый жанр интересен по своему, у каждого свои индивидуальные особенности. Поэтому отнеситесь вдумчиво к выбору жанра и двигайтесь дальше.

Разработайте и напишите сценарий. От того насколько подробно вы напишете сценарий будет зависеть то, насколько просто вам будет заниматься в дальнейшем собственно программированием.Сценарий 3D состоит из трех обязательных частей. Это концепт-документ, дизайн и собственно сценарий.Концепт документ. Опишите в этом разделе техническую сторону будущей игры, на какой технической основе она будет работать.Дизайн. Придумайте и опишите, сколько у вас будет героев, какие они, какой для них потребуется антураж, какие спецэффекты. В этом же разделе опишите всю красочную сторону игры, ее и стиль.Сценарий. Этот раздел посвящен сюжету. Разработайте его как можно подробнее и детальнее – сколько в нем будет сюжетных линий, всевозможных поворотов. В общем, от того, насколько лихо будет закручен сюжет, будет зависеть выбор движка, на котором будет работать игра.

Выберите движок. Лучше свою первую игру сделать довольно простой, с не очень большим количеством действующих героев, скромным сюжетом и простой графикой. Для такой игры подойдет мотор FPS Creator.Игра более многоплановая, с визуальными эффектами, большим количеством героев, с высокоскоростными передвижениями потребует более мощного двигателя, например, можно воспользоваться NeoAxis Engine.

Игровые ресурсы. Скачайте из интернета игровые ресурсы - модели, звуки и текстуры.

Программирование. Написание игры, если вы владеете основами программирования, вам сделать будет нетрудно, если же у вас такой возможности нет – попросите знакомого программиста. По детально разработанному сценарию он сделает это быстро и легко.

Обратите внимание

Весь нужный софт для создания игры можно скачать из интернета. Микрофон потребуется купить.

Полезный совет

Как вариант можно скачать из интернета конструктор игр. На его основе легко построить простую игру.

Источники:

  • X3DGames
  • как сделать простейшую игру

Игровой движок – своеобразная операционная система, которая существует в рамках игры и предоставляет соответствующий набор базовых функций для ее корректной работы. Для написания игрового движка нужно неплохо знать тот или иной язык программирования. В идеале такие программы лучше всего писать на языке C, поскольку большинство современных игр пишется именно на нем.

Инструкция

Специализацию движка, от которой зависит оформление всего ядра. Если вы пишете простую двухмерную аркаду, то имеет смысл создать движок в виде статичной или динамической библиотеки. В ней можно будет описать несколько высокоуровневых функций, которые будут выводить спрайты, анимации палитры или воспроизводить звуки. Потом, когда вы перейдете непосредственно к написанию игр, вы просто подключите данную библиотеку и воспользуетесь определенной функцией.

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

Разделите функции, которые необходимы для движка и играют главную роль (поддержка мультиплеерной игры), а которые хочется видеть (объемный туман или улучшенная детализация). Сначала беритесь за реализацию именно главной части, поскольку остальное может в будущем вообще не понадобиться.

Перед реализацией сделайте планирование. Окончательно подберите жанр игры, чтобы она была популярна, исследуйте рынок современных видеоигр. Вам будет приятней то, что имеет определенный спрос. Точно укажите все требования к проекту. Это может быть простота, а может быть приложение с абсолютно реалистичной графикой, на разработку которого могут уйти годы. Зафиксируйте требования к производительности, выделите необходимое количество персонажей и особенности сюжета. Проконсультируйтесь с вашими друзьями и знакомыми-геймерами.

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

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

Обратите внимание

Как написать игровой движок? Не пишите просто движок, он скорее всего никому нужен не будет. Потому что, если вы не писали игры, то не знаете тонкостей использования движка в игре, и ваш движок будет неподходящим ни для какой игры. Делайте игру, а не движок для неё, тем более не пишите движок для игры таким, чтобы его можно было исользовать в других играх.

Полезный совет

Введение Что такое игровой движок? Проще говоря, движком является набор систем, которые упрощают наиболее часто используемые функции игры. Движок состоит из подсистем, контролирующих определенные... Обычно начинающие программисты считают, что написав движок сразу смогут создать гениальную игру. Увы, мечта быстро разбивается о трудности как написания движка, так и понимание того, что сам по себе движок бесполезен и нужны ещё инструменты, а помимо них - ещё и контентщики.

Движок – это определенный набор систем, которые призваны упрощать наиболее часто используемые игровые функции. Он обеспечивает лучшую переносимость игры. Хорошо спроектированный движок может без проблем переноситься в другую библиотеку или даже на другую платформу. Написать его можно самому, но только имея некоторые познания в программировании.

Инструкция

Выберите, какую вы хотите создать игру, чтобы она была интересной и популярной. Для этого изучите рынок (даже если вы делаете игру не на продажу, все равно изучите рынок – всегда приятно, когда твое творение имеет спрос).

Не пытайтесь сделать игру с очень реалистичной графикой и полной свободой действий. Озвучьте требования. Может это будет простота, требования к количеству персонажей, производительности или особенностям сюжета.

Сделайте иерархию функций, применяя нисходящий подход. На определенном этапе вы больше не сможете продолжить нисходящую архитектуру, но не потому, что вы все сделали. Просто тонкости реализации будут задавать вам свои правила, поэтому продолжите создание иерархии восходящим способом, т.е. исходите из особенностей API и подкорректируйте интерфейс более высокого левела.

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

Приступайте к этапу кодирования. Реализуйте нижние функции и тесты и получите работающую программу. Для комментариев используйте псевдокод и придерживайтесь форматирования какого-то определенного стиля. Рекомендуется производить публичное планирование, потому как посторонние помогут вам выявить недочеты и ошибки, которые вы сами не заметили. Таким образом, вы значительно сократите собственное время работы и улучшите результат на выходе.

Видео по теме

Движок представляет собой ядро комплексной программной системы, которое содержит базовую функциональность, не учитывая код и специфику геймплея конкретной игры. В связи с этим требуется понимать то, как работают подобные приложения, перед тем как приступать к написанию своего продукта.

Инструкция

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

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

С недавним релизом бесплатной версии Unreal Engine и анонсом бесплатного Source 2 у вас появилось ещё больше возможностей делать собственные игры. Но выбор движка, подходящего под ваши потребности и навыки – дело не самое простое. Давайте же пробежимся по лучшим образцам бесплатного (ну почти, о чем ниже) софта для новичков и профессионалов.

Помимо движков в данной подборке существует еще масса не очень известных, но, если сказать помягче, очень крутых движков второго эшелона. Как правило на сайте разработчика есть упоминание возможности лицензирования, но в очень сыром виде, тут придется связываться напрямую. У всех движков есть свои плюсы и минусы. Например, движок недавнего Dying Light, разрабатываемый Techland , хорошо подходит для игр с открытым миром, но у него проблемы с дальностью прорисовки.

Чтобы серьёзно углубиться в большинство этих программных средств, от вас потребуются как минимум базовые навыки программирования. Но в некоторых случаях можно будет обойтись даже без них и сразу взяться за дело.

На передовой технологий – CryENGINE

CryENGINE – это чрезвычайно мощный игровой движок, созданный компанией-разработчиком Crytek, впервые представленный в игре Far Cry. Он предназначен для разработки под PC и консоли, включая PlayStation 4 и Xbox One. Его графические возможности превосходят Unity и UDK, и время от времени стоят на шаг впереди Unreal Engine 4: новейшее освещение, реалистичная физика, продвинутые системы анимации и многое другое. Последней игрой на CryENGINE была Ryse: Son of Rome. По аналогии с UDK и UE4 в CryENGINE встроены мощные и интуитивные функции, касающиеся работы с дизайном уровней.

Продуктивное использование CryENGINE потребует определённого времени на его изучение, и у вас могут возникнуть затруднения при отсутствии опыта работы с другими движками. Если вам не нужна графика уровня Crysis 3 или Ryse: Son of Rome, стоит присмотреться к чему-то более дружелюбному к пользователю.

Ценовая модель CryENGINE несколько отличается от конкурентов. За использование движка . Он не полностью бесплатный, как UE4 или Unity 5, зато не требует выплаты роялти, так что $9,90 – это всё, что вам придётся платить Crytek. В зависимости от размера вашей студии и команды, отсутствие роялти может быть огромным преимуществом.

Начинающим – Stencyl или GameMaker

Если вы только начинаете делать игры и не имеете никакого опыта в программировании, вам лучше начать с простейших инструментов. Из таковых самые популярные и общепризнанные – это Stencyl и GameMaker. Оба просты в освоении новичками, и на их основе уже создано несколько качественных игр.

Stencyl позволяет делать игры без программирования. Интерфейс полностью основан на перетаскивании, игры можно выпускать на Windows, Mac, Linux, iOS, Android и Flash. Если вы когда-нибудь имели дело с чем-то вроде Scratch, вы сразу узнаете LEGO-подобный подход к построению кода посредством размещения блоков. Stencyl задуман для простого создания спрайтовых игр, поэтому чаще служит основой паззлам и сайд-скроллерам. Что-нибудь сложное сделать будет проблематично, так что если решили работать над RPG или стратегией, присмотритесь к другому софту. С помощью Stencyl на свет появилось несколько популярных игр, в том числе Impossible Pixel и Zuki’s Quest. Также в нём есть встроенное обучение, которое расскажет обо всём, что вам нужно знать.

GameMaker – другая бесплатная утилита для новичков, с помощью которой можно делать игры для Windows, Mac, iOS и Android. Как и в Stencyl, тут почти всё работает на перетаскивании, но есть ещё и хуки для многопользовательских игр, ссылки на внешние SDK, возможность покопаться в коде и многое другое. Бесплатная версия при экспорте накладывает водяные знаки, но, тем не менее, GameMaker отлично подходит для первого раза и содержит встроенное обучение основам. Тут нет такового жанрового ограничения, как в Stencyl, и можно найти отдельные руководства для разных типов игр. В GameMaker сделали оригинальную версию Spelunky и Hotline Miami.

Конечно, всё не ограничивается этими двумя вариантами. Buildbox – относительно новая утилита, доступная в течение пробного периода и предлагающая тренировочную программу для изучения её работы, а GameSalad – уже давно известная популярная платформа, правда на неё жалуются из-за багов и нестабильной работы. Construct стоит внимания, если хотите делать игры на HTML5. В каждом случае главная проблема в том, что придётся сдерживать свои дизайнерские идеи. Это софт для новичков, и вы просто сломаете его в попытке сделать что-то сложное. То есть, игры получатся забагованными и нерабочими, если вы попытаетесь выйти за рамки задуманной системы. И всё же, это превосходное место для старта и подходящий вариант при отсутствии опыта в программировании.

Программистам среднего уровня, нацеленным на 2D-игры – Cocos2D

Cocos2D – это программа с открытым исходным кодом для создания 2D-игр. Игры можно выпускать на Windows, Mac, Android, iOS, Windows Phone или на веб-платформе.

Большая часть того, что вы будете делать в Cocos2D – это работа с C++ (также есть поддержка Lua и JavaScript), так что вам нужно освоить этот язык программирования, прежде чем вообще браться за Cocos2D. Однако, при знании упомянутых языков, программа становится довольно простой в использовании. В ней есть полноценная IDE, и она совершенно бесплатна, без каких-либо условностей. Как понятно по названию, утилита предназначена для создания двумерных игр, так что и работает она лучше с простыми спрайтовыми играми, где 3D ни к чему. 2D-игры можно делать и на Unity (который мы рассмотрим чуть далее), но в Cocos2D вникнуть попроще, если вы только начинаете (и конечно, знаете C++).

На Cocos2D создано немало успешных игр различных жанров, включая увенчанную наградами Badland.

Разработчикам, нацеленным на мобильные платформы – Unreal Engine или Unity

Если вы заинтересованы в сложных, трёхмерных играх, два наиболее популярных инструмента для их создания – это Unreal Engine и Unity. У обоих есть свои сильные и слабые стороны и разные моменты в лицензионных соглашениях, с которыми стоит ознакомиться перед принятием окончательного решения.

Unity позволяет вам делать трёхмерные и двумерные игры практически для любой платформы, включая Windows, Mac, Xbox, Playstation, Android, iOS и не только. Он поддерживает игровые ресурсы, созданные в 3ds Max, Maya, Softimage, Cinema 4D, Blender и другом софте. Unity использует C#, наряду с собственным языком программирования, так что не помешает для начала хорошенько их изучить. Если сравнивать Unity и Unreal, первый, пожалуй, попроще в освоении. У него есть богатый набор готовых поведений и встроенная библиотека игровых ресурсов, в которой довольно просто за ними следить. Во время работы над этим текстом я общался с несколькими разработчиками, и они думают, что Unity – лучший движок для первых проектов, потому что его проще понять и изучить, чем Unreal. Если вы уже сделали игру, скажем, на GameMaker, то сразу разберётесь, что к чему в Unity. Ещё Unity поддерживает альтернативные модели оплаты прямо в движке, включая несколько free-to-play моделей монетизации.

Функционал бесплатной персональной версии уже достаточно богат для вашего первого проекта. Создав игру на бесплатной версии, вам не нужно платить лицензионные отчисления или роялти, но тут есть некоторые оговорки, а именно – вы не сможете получить больше $100000 спонсирования /прибыли. В помощь начинающим разработчикам по Unity написано множество обучающих статей. Популярные игры на этом движке: Alto’s Adventure, Gone Home и находящаяся в разработке .

Unreal Engine 4 использует C++, так что при должном знании этого языка можно остановить свой выбор на нём, впрочем, игры можно будет создавать и не углубляясь в сам язык. Игры, сделанные на Unreal, Engine можно выпускать на PC, Mac, iOS, Android, Xbox One и Playstation 4. В Unreal в движок встроено практически всё, что вам понадобится, включая 3D-моделирование и работу с ландшафтом. Из-за столь богатого наполнения, освоить Unreal Engine 4 сложнее других инструментов разработки, и даже при хорошем знании C++ вам стоит приготовиться к изучению множества новых вещей. Зато вы сможете создавать по-настоящему впечатляющие игры. О тонкостях устройства Unreal можно узнать больше с помощью реверс-инжиниринга, но всё же без предварительного опыта разобраться с ним будет нелегко. Unreal Engine 4 – относительно новый движок, но на нём уже вышли такие игры, как Daylight и Tekken 7.

Для использования Unreal Engine 4, вам нужно дать согласие на выплату роялти, если ваша игра будет продаваться. После начала продаж игры или приложения вы платите за квартал. Может показаться, что это слишком большие деньги, но с учётом прибыли, которую будет приносить игра, это не так уж много.

Также стоит присмотреться к движку Source 2 от Valve, который в этом году тоже должен стать бесплатным.

Обновлено 01.10.15: В августе на GDC . Stingray работает на ядре технологии Bitsquid и основан на 64-разрядной архитектуре. Stingray был разработан, чтобы быть очень гибким и работать с всеми популярными платформами, от мобильных до виртуальной реальности. Технологии модульной структуры и управляемых данных означают, что разработчикам гораздо проще вносить изменения и можно сразу увидеть результаты сразу на нескольких подключенных устройствах, без повторной компиляции. Плюс к этому возможен быстрый перенос объектов между продуктами Autodesk. Прорыва с автоматизацией разработки пока не случилось. Если вы уже используете Unity или Unreal, то переходить не стоит, выигрыш пока не очень заметен. Позже мы расскажем подробней.

Король разработки – Source 2

На GDC 2015 Valve сделала несколько громких анонсов, и самым главным для игрового сообщества из них, наверное, был анонс Source 2. Это преемник движка Source, использовавшегося в Counter-Strike: Source, Half-Life 2 и множестве других игр. Разработчики уже несколько лет с нетерпением ждали движка следующего поколения в арсенале Valve. На пресс-конференции Джей Стелли (Jay Stelly) из Valve сказал: « для разработчиков контента. Наряду с анонсами Epic и Unity это поможет PC оставаться доминирующей платформой создания контента». Очевидно, Valve решила присоединиться к гонке движков вместе с Epic и Unity, предложив разработчикам больше вариантов на выбор. Однако, пока не совсем ясно, что значит «бесплатно для разработчиков контента»: речь о любых зарекомендовавших себя разработчиках или это какая-то особенная категория?

О дате релиза конкретной информации нет, известно лишь, что Source 2 выйдет в ближайшем будущем. Джей Стелли также заявил: «Мы нацелены на повышение продуктивности авторов контента. Учитывая, насколько важным становится пользовательский контент, Source 2 предназначен не только для профессионалов, он позволяет и самим игрокам принимать участие в разработке своих любимых игр». По этим словам можно предположить, что Source 2 будет доступен не только профессиональным студиям, но и любителям и моддерам, что сделали многие игры Valve такими популярными.

Мы обратились к Valve за дополнительной информацией, и эта статья будет дополнена, когда о новом движке будет известно больше. Но уже сейчас можно сказать наверняка, что Source 2 станет серьёзным конкурентом тяжеловесам в лице Unity и Unreal Engine 4, ведь, по словам Джелли, он тоже будет бесплатным.

Писателям – Twine/RPG Maker/AXMA

Не все мы эксперты в программировании, и даже Stencyl многим может показаться сложноватым. Если вы рассматриваете себя больше как рассказчика историй, у вас на выбор есть два прекрасных варианта: Twine и RPG Maker.

Для создания интерактивных нелинейных историй. Проще говоря, можно сделать игру в жанре «выбери своё приключение». Утилита невероятно проста в использовании. Вы соединяете сюжетные отрезки с помощью различных переходов, примерно как в диаграммах связей. Каждый доступный игроку выбор ведёт к новому тексту. Когда закончите, можете сразу разместить результат на сайте. Всё вполне понятно, но если где-то застряли или хотите добавить что-нибудь ещё, вам поможет руководство для начинающих. Популярные игры, созданные в Twine: A Kiss и Cry$tal Warrior Ke$ha.

Если Twine кажется вам чересчур старомодным, попробуйте RPG Maker. В бесплатной версии меньше возможностей, чем в платных альтернативах, но и она на многое способна. В изучении система проста: графика перетаскивается, диалоги добавляются в один клик. Чтобы сделать что-нибудь поинтереснее обычной RPG, придётся мыслить нестандартно, но примеры в лице тепло принятых публикой To the Moon и LISA дают понять, что это возможно. Вы можете пользоваться бесплатной музыкой и изображениями, так что даже рисовать уметь не нужно. Встроенное обучение, опять же, поможет вам в создании первой игры. Популярные игры на RPGMaker: Clock of Atonement и One Night. У Twine существует отечественный аналог AXMA Story Maker к которому также стоит присмотреться.

Бесплатный софт для игровых ресурсов

Конечно же, игра – это не только движок. Вам понадобятся всевозможные игровые ресурсы, в том числе изображения и звуки. Несколько опрошенных мной инди-разработчиков поделились полезными ссылками:

Tiled – простой редактор карт для Cocos2D, Unity и других инструментов.

OpenGamesArt – бесплатные изображения и графические заглушки.

Free Music Archive – бесплатная музыка с лицензиями Creative Commons.

FreeSound – коллекция бесплатных звуковых эффектов.

Всё это поможет вам делать игры без особых затрат. Разумеется, придётся вкладывать в них своё время, кровь, пот и слёзы, но, по крайней мере, ваш кошелёк не попадёт под удар.

Вместе с созданием первых игр программисты пришли к тому, что каждая игра содержит общие компоненты, даже несмотря на различие аппаратных платформ. А первые игры имели место на игровых автоматах размером с холодильник.

Общая для игр функциональность - графические решения, игровые механики, расчет физики и другое - стала выделяться в отдельные библиотеки, но, для того чтобы быть «игровым движком» было еще далеко. Во многом это было связано с серьезным различием программно-аппаратных платформ и неопределенности в самих играх. Ведь жанры и типы игр еще предстояло изобрести, при том, что многие первые игры были текстовыми. Собственно, именно для ранних адвенчур и платформеров и стали возникать игровые движки, особенно с развитием графики - хорошим примером можно назвать Adventure Game Interpreter (AGI). При разработке King’s Quest в далеком 1984 году, программисты Sierra On-Line столкнулись с неудобством низкоуровневой разработки столь сложной и перспективной по графике в те времена игры - и разработали набор решений, которым и стал AGI. Всего на нем было выпущено 14 различных игр за 5 лет на 7 различных платформах, поэтому понятие “кроссплатформенность” было важным уже тогда.

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

Начало

Ситуация начала меняться в 1993-м году после выхода игры Doom от компании id Software. Хотя при ее разработке использовались наработки движка Wolfenstein 3D, с точки зрения возможностей и модульности в ней был совершен настоящий технологический прорыв. В то время видеопроцессоры были не способны эффективно работать с трехмерной графикой, поэтому Джон Кармак (ведущий программист движка) выполнял все необходимые математические вычисления, служащие для манипуляции с трехмерными объектами, светом, затенением, наложением текстур и прочего самостоятельно. В результате, изображение выглядело трехмерным, на самом деле таковым не являясь. Поэтому Doom engine (первая версия id Tech) был не истинно трехмерным, а псевдотрехмерным. Но важно то, что техническая составляющая этой игры задала стандарт для того, что могло называться игровым движком. А именно, движок Doom был модульным, представлял из себя набор подсистем, в нем каждый четко отделенный программный слой отвечал за обработку своей порции данных. В результате, использовать его для различных игр (Hexen, Heretic, Strife) и силами сторонних разработчиков (Raven Software и Rogue Entertainment) стало намного проще. Поэтому появление игровых движков относят к середине 90-х годов 20-го века, то есть тогда окончательно сформировалось определение игрового движка в современном смысле.

Игровой движок представляет своеобразную узкоспециализированную операционную систему, поскольку включает все модули последней. В него входят: система управления памятью, графическая подсистема, система ввода, аудио подсистема, искусственный интеллект, физическая подсистема, сетевая подсистема, редактор игровых уровней и другое. Кроме того ядро движка может предоставлять особый подход к работе с файлами – файловую (ресурсную) систему, а так же отличающиеся от основной операционной системы средства работы с многопоточностью. Современный игровые движки вдобавок включают интерпретатор скриптового языка, заточенного для описания игровой логики, а нередко и полностью визуальный ее редактор. Его использование позволяет абстрагироваться от описания низкоуровневых команд и инструкций, а сконцентрироваться на геймплее. На этом составляющие движок компоненты не ограничиваются, их может быть как больше, так и меньше.

Цели

Игровой движок в первую очередь создается в целях упрощения и ускорения разработки. Поэтому включает средства для создания игрового мира – level-моделинга, импорта объектов, текстурирования, загрузки и анимации персонажей, создания визуальных эффектов, настройки физики и прочего.

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

Развитие игровых движков происходит вместе или под влиянием развития аппаратных и программных платформ, вместе с появлением новых игровых жанров и изменениями вкусов пользователей. Коротко говоря, развитием игровой индустрии в целом.

Генезис графических систем

В середине 90-х после появления видеопроцессоров, способных обрабатывать трехмерную графику стали появляться программные интерфейсы, упрощающие ее разработку. Вслед за кроссплатформенным OpenGL на сцену в составе DirectX вышел Direct3D для Windows. Эти 2 визуализатора на много лет вперед определили способы графического вывода в играх.

В 1996-м году вышла игра Quake на Quake Engine. Этот движок оказал колоссальное влияние на игровую индустрию.


Дерево движков, основанных на Quake Engine

Почти до конца десятилетия на рынке промежуточного программного обеспечения для игр (другими словами, игровых движков) практически единолично ритм задавала id Software. Однако в 1998-м году компания Epic Games выпустила успешную игру Unreal на одноименном движке - с настоящим технологическим прорывом по уровню графики. Ведущим программистом движка стал основатель Epic Тим Суини. Тим наравне с Кармаком является наиболее значимой фигурой в истории движков игровой индустрии - и Unreal Engine в его 3 и 4 версиях очень популярен и сейчас. Год спустя от Epic вышла ставшая еще более популярной игра Unreal Tournament.

В это же самое время конкурирующая компания-разработчик – id Software выпустила мультиплеерную игру Quake 3 Arena (на движке id Tech 3), ровно как Unreal Tournament включающую сетевые баталии.

Эти две игры стали флагманами индустрии, определив ее развитие на годы вперед.

На рынке было не так много игроков. Поэтому их продукция была очень дорога, и флагманские движки лицензировались только достаточно крупными разработчиками,

Ситуация начала коренным образом меняться примерно в середине первого десятилетия 21-го века. Тогда на рынке и в свободном доступе стало появляться большое количество средств для разработки игр. Бизнес промежуточного ПО (middleware) стал набирать обороты. Сначала рынок заполнился графическими фреймворками: Ogre, DarkGDK и др., предоставляющие программисту высокоуровневую прослойку над графическим API. В то же время отличающиеся от игровых движков полным отсутствием внутриигровых редакторов.

Затем на рынок пришли полноценные игровые движки по ценам, уместным для небольшой инди-команды разработчиков, среди них: Torque 3D, Unity 3D, и многие другие. Даже стартовавшие как флагманские движки - например, CryEngine от Crytek и ранее упомянутый Unreal Engine - стали использовать намного более доступную ценовую политику и стали доступны даже начинающим разработчикам.


Torque 3D

Важным трендом игровой индустрии стали казуальные игры. Эти, по своей сути, незамысловатые, но красочные, не требующие бешеного взаимодействия с клавиатурой и мышкой головоломки с технической точки зрения были проще трехмерных хардкорных шутеров, поэтому для их разработки не понадобилось сильной модификации универсальных движков. Но, зато, в индустрии появились новые игроки, такие как: Torque Game Builder, HGE и другие.


Torque Game Builder

В это же время, благодаря World of Warcraft, в игровой индустрии стали очень популярны MMORPG - а параллельно многие жанры делали все большую ставку на мултиплеер. Целый ряд движков не смог предоставить пользователям новую функциональность для клиент-серверных приложений, поэтому они ушли в небытие. Другие движки были адаптированы для мультиплеерного мира путем разработки для них серверных решений, так для Unity 3D были разработаны Photon и SmartFox. Третий тип универсальных движков, изначально являясь клиент-серверным, не почувствовал изменений. К нему относится Torque 3D. Также на рынке появились новые движки, предназначенные для глобальных многопользовательских игр, например HeroEngine, BigWorld, объединяющие масштабируемое под тысячи игроков серверное решение и доступный конкретному игроку клиент.


HeroEngine

На рынке еще с 90х существовали браузерные игры, а затем второе рождение им дали социальные сети. необходимость эффективно создавать игры для браузера не осталась незамеченной. Разработчики универсальных движков, например Torque 2D/3D, Unity 3D отреагировали на это довольно оперативно, выпустив плагины для браузеров, которые позволили отображать графику прямо в окне последних. Сначала популярность завоевал визуализатор на основе технологии Flash, но по целому ряду причин эта технология все больше теряет свою долю на рынке. Поэтому сейчас для визуализации в вебе часто используется библиотека для языка JavaScript - WebGL, которая позволяет создавать интерактивную 3D-графику. Однако, из-за недостатков языка, таких как отсутствие многопоточности, библиотека не может полноценно удовлетворить потребности игроделов. Ей на смену консорциумом W3C (куда входят: Microsoft, Google, Mozilla и др.) разрабатывается новый низкоуровневый бинарный компилируемый формат WebAssembly.


WebAssembly

Под конец первого десятилетия 21-го века очень быстро развивались мобильные технологии. Как гром среди ясного неба появились мобильные устройства по мощности сопоставимые с ПК средней ценовой категории и способные запускать мощные игровые приложения со всеми спецэффектами, которыми обладали низкоуровневые графические интерфейсы. На что разработчики игровых движков ответили в некоторых случаях созданием специализированных конверторов, создающих нативный для конкретного оборудования код (как, например, Unity 3D), а в других - модернизировали свои продукты для кроссплатформенности (к примеру, Torque 2D , Cocos 2DX). Также, на рынке появились новые игроки, предлагающие кроссплатформенные движки для всего парка мобильных устройств, выполняющиеся со скоростью нативного кода. Примеры подобных средств: Corona SDK, Marmalade SDK, AGK (App Game Kit).


Corona SDK

Также, возник целый ряд кроссплатформенных движков, позволяющих разработать игру при минимальном знании программирования. Примерами можно назвать Construct 2 и GameMaker Pro. Используя готовые решения и визуальные редакторы, можно быстро - иногда в течение нескольких часов - создавать простые игры. Это оказалось особенно распространенным на мобильном рынке, где распространение free2play модели и короткая игровая сессия сделали “простые” игры вполне успешным жанром.

Новинки игровой индустрии

Низкоуровневые программные интерфейсы: OpenGL, DirectX развиваются в соответствии с видеоадаптерами. Раз в 1 - 2 года появляются новые версии, которые поддерживают и дают прикладным программистам (разработчикам движков) реализовать всю функциональность железа. DirectX уже достиг 12-й версии. С другой стороны на смену OpenGL пришел Vulkan - новый кроссплатформенный графический api, разрабатываемый консорциумом Khronos Group, куда входят производители железа и софта.

VR


Последний на текущий момент тренд игровой индустрии - виртуальная/дополненная реальность. Подавляющее большинство современных игровых движков уже обзавелись поддержкой данной технологии, среди них: Torque 3D, Unity 3D, Unreal Engine 4. Разработано и множество сторонних расширений, таких как Vuforia Unity Extension. Чтобы реализовать поддержку очков VR разработчикам движков надо не только добавить визуализацию на второй экран (для второго глаза) с отличным от первого содержимым (так как, первый и второй глаза могут видеть отличающиеся сцены), но и так же добавить поддержку управления с новых устройств ввода, которые различны для разных гарнитур VR и пока не стандартизированы.

Итоги

За годы существования игровой индустрии в ней образовались 5 больших типов игр с точки зрения игровых движков:

1) Однопользовательские игры (со своей спецификой для ПК и консолей)
2) Многопользовательские онлайн игры
3) Игры для социальных сетей и браузерные игры в целом
4) Мобильные игры (со спецификой для телефонов и планшетов, и Android/iOS)
5) Игры для VR/AR

Кроме того, существуют и другие платформы - от SmartTV до игровых автоматов.

Для разработки каждого типа есть определенный набор движков, потому что с технической стороны между всеми типами игр имеются большие различия. На рынке сейчас представлены десятки движков на любой вкус: кроссплатформенные и специализированные, требующие активной работы с исходным кодом движка и доступные без знаний программирования вообще, с разными производительностью, качеством документации и ценой. Подробнее о современных движках и о том, как выбрать правильный для своих целей, я рассказываю на дисциплине “Технические основы разработки игр” нашей программы “

Unity3D

Unity 3D - отличный доступный движок. У него есть ряд неоспоримых преимуществ перед конкурентами и, пожалуй, ключевое из них в том, что за лицензию вы платите всего один раз. Неважно, насколько популярной становится игра - если вы выбрали Unity, вам не придется раскошеливаться еще раз. С финансовой точки зрения — это удачное решение, в особенности для стартапов и начинающих разработчиков.

  • выгодная лицензионная политика;
  • легкость в использовании;
  • совместимость с любой платформой;
  • отличное комьюнити;
  • низкий порог входа;
  • популярен среди разработчиков (это означает, что ошибки быстро находят и исправляют).
  • ограниченный набор инструментов (вам, скорее всего, придется разработать некоторые из них самим);
  • процесс изготовления игры отнимает много времени.

Unreal Engine

Unreal Engine - один из наиболее популярных движков для разработки ААА-игр. Gears of War, Batman: Arkham Asylum, Mass Effect — все эти хиты были сделаны именно на нем.

  • поскольку множество разработчиков его использует, то у Unreal Engine, пожалуй, лучшее комьюнити среди конкурентов. Несколько часов видео-туториалов тому подтверждение;
  • отличная техподдержка и механизм апдейта;
  • новые инструменты выходят с каждым обновлением
  • широкий ассортимент инструментов для различных целей (некоторые настолько просты в использовании, что ими может управлять даже школьник)
  • совместим с различными платформами (iOS, Android, Linux, Mac, Windows и большинство других)
  • новая лицензионная политика включает подписку стоимостью $19 в месяц и 5% роялти, если игра заработает более $5,000, что делает движок куда более привлекательным для разработчиков, чем раньше.
  • субъективны. Некоторые разработчики жалуются, что к определенным инструментам сложно привыкнуть

CryEngine 3

Если внешняя составляющая игры - ваш пунктик, то вам нужен именно CryEngine 3.

  • функция Flowgraph поможет украсить игру отличной графикой;
  • набор функций Fmod для создания мощного звукового сопровождения;
  • самый простой процесс создания AI в сегменте;
  • начинающему разработчику будет легко сделать UI.
  • относительно небрежная техподдержка бесплатной версии;
  • поскольку движок в индустрии сравнительно недавно, ему еще только предстоит создать крепкое комьюнити;
  • относительно высокий порог вхождения.

HeroEngine

Этот движок хорошо зарекомендовал себя в создании мультиплеерных игр - взять хотя бы Star Wars: The Old Republic. Лицензия довольно дорогая и вряд ли подойдет начинающим разработчикам, но если ваш проект амбициозен, то я бы советовал рассмотреть этот вариант.

  • в наличии несколько карт для создания открытого мира. Есть возможность их «бесшовного» соединения;
  • сказочно могучий AI!
  • удобный набор инструментов для моделирования карт;
  • подходит для создания комплексных миссий, крафтинга и собирания ресурсов;
  • техподдержка осуществляется при помощи сервиса HeroCloud, что весьма удобно.
  • скриптовый движок мощный, но неудобный в управлении;
  • HeroEngine вместе с сервисом поддержки клиентов HeroCloud слишком дорого стоит и вряд ли будет доступен начинающим разработчикам;
  • высокий порог вхождения.

Rage Engine

Немногие могут конкурировать с широким спектром возможностей, которые предоставляет Rage Engine. Grand Theft Auto V, Red Dead Redemption и многие другие прославленные проекты сделаны при помощи этого движка.

  • широкие возможности для создания больших миров и погодных эффектов;
  • мощный AI;
  • множество стилей геймплея на выбор;
  • быстрый сетевой код.
  • интерфейс движка сравнительно неудобный;
  • управление плохо оптимизировано под клавиатуру и мышку.

Project Anarchy

Этот мощный игровой движок нравится многим разработчикам за наглядную и понятную документацию. Тем не менее, и у него есть свои недостатки.

  • если вы планируете разрабатывать игры на платформах iOS, Android и Tizen, то лицензия — бесплатная;
  • мощные инструменты для поиска и устранения багов;
  • сильное комьюнити;
  • издатель предоставляет четкую, понятную документацию и образцы;
  • Fmod для аудио-сопровождения;
  • мощный Havok AI .
  • отсутствует возможность разрабатывать игру на Mac и Linux;
  • нет вводного руководства для начинающих разработчиков;
  • если игра для ПК, то лицензия влетит вам в копеечку.

GameSalad

Создатели этого популярного игрового движка обещают, что разработчику не придется написать ни строчки кода. В целом, это действительно так. Однако за все хорошее приходится платить: у движка есть ряд существенных недостатков. Если вы собрались разработать игру на iPhone в одиночку, то это ваш выбор.

  • бесплатная лицензия (деньги с вас потребуют только за PRO-версию);
  • активное комьюнити;
  • отличный движок для быстрого создания прототипа;
  • совместимость с популярными мобильными платформами такими, как Cocona и Moai.
  • ограниченный набор инструментов разработки;
  • нет доступа к большинству возможностей платформы iOS.

GameMaker: Studio

Если вы начинающий разработчик и вам нужен простой и понятный движок, то GameMaker: Studio полностью отвечает вашим целям.

  • простое и интуитивно понятное управление;
  • собственный язык программирования Game Maker Language (GML);
  • интеграция со Steam;
  • кроссплатформенность.
  • относительно сложно устранять неполадки в игре;
  • чтобы экспортировать свою игру на популярные платформы, придется доплатить круглую сумму.

App Game Kit

App Game Kit - кроссплатформенный софт для разработчиков. Ценится за универсальность и легкость в управлении.

  • позволяет писать коды для основных платформ: Android iOS, Windows, Mac и Linux;
  • поставляется в комплекте с IDE , что позволяет тестить игры на любом устройстве;
  • без дополнительной установки уже включает в себя IAP, AdMob и Push;
  • есть мощные скрипты для 2D графики, физики и сетевого взаимодействия.
  • поскольку мало кто работает с этим движком, то недостатки программы долго не устраняются (относительно слабая техподдержка);
  • множество багов (что органично следует из предыдущего пункта).

Cocos2D

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

  • отлично интегрирован в платформу iOS;
  • бесплатный и с открытым исходным кодом;
  • широкий выбор инструментов разработки;
  • сильная поддержка комьюнити.
  • более сложный в применении, чем большинство аналогов;
  • высокий порог вхождения;
  • «заточен» конкретно под Mac или iOS. Отсутствует кроссплатформенность.

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