Top-office11.ru

IT и мир ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Топ-5 игровых движков, изменивших мир

Топ-5 игровых движков, изменивших мир

В связи со скорым выходом ряда игр, включая всеми ожидаемую Red Dead Redemption-2, мы решили вспомнить 5 знаменитых игровых движков. Все, что изменило игровую индустрию в лучшую сторону, в этой подборке.

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

Даже не знакомый с миром геймеров человек хотя бы раз слышал о серии игр Grand Theft Auto. Один из самых продаваемых и знаменитых боевиков создан на движке RAGE (Rockstar Advanced Game Engine), разработка которого принадлежит двум студиям: Rockstar San Diego и Rockstar North.

RAGE включает все необходимое для успешного проектирования игры: графический, физический, звуковой, анимационный движки и игровой искусственный интеллект. Так как в Rockstar в основном выпускали игры с «открытым миром», новый движок должен был соответствовать этим требованиям.

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

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

RAGE славится одной из лучших игровых физик. Например, разработчикам удалось приблизить к реальным условия вождения, сцепления шин и систему погоды. Также, базируясь на открытом движке Bullet Physics Library, проработали систему и траекторию полета пули.

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

Вплоть до 2018 года компании Rockstar San Diego и Rockstar North используют в играх все тот же, но улучшенный в несколько раз RAGE.

Понятие «игрового движка»

Термин «игровой движок» является прямой копией английского «Game Engine». Фактически это объединенный в единое целое комплекс прикладных программ, с помощью которых обеспечивается графическая визуализация, звуковое сопровождение, перемещение внутриигровых персонажей, их действия в соответствии со скриптами, а также игра в сети, встроенные графические сцены, соблюдение физических эффектов и законов и многое другое.

Впервые этот термин появился в середине 90-х годов прошлого века. Связан он был с играми в жанре «шутер от первого лица», а точнее, с самым популярным на тот момент Doom. Исходный код этой игры был построен очень продуманно, с выделенными основными компонентами: системой трехмерной графики, звуками, расчетами столкновений, скриптами. Это привело к тому, что игровые программисты не стали писать свой код, а использовали наработки разработчиков Doom, внеся в код некоторые изменения: рисовали другие уровни, изменяли графику и внешний вид оружия, корректировали правила и выпускали новые игры, в основе которых оставался все тот же код из Doom.

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

В результате ряд компаний занялся разработкой именно игровых движков, а разработчики игр стали покупать на них лицензии, как это получилось с Unreal Engine или id Tech 3. Стоимость лицензии может составлять от нескольких тысяч до миллионов долларов. Но при этом надо отметить, что для некоммерческого использования многие игровые движки, например, популярные Unity и Unreal Engine 4 доступны бесплатно. Остановимся на этих движках немного подробнее.

Unity 3D

Компания Unity Technologies была основана в 2005 году, движок изначально создавался для Мак платформы. Где то с 2009 года компания начала активно развиваться, появилась поддержка множества платформ. А с этим и штат сотрудников возрос, причем люди набирались со всего мира, что повлекло появлению офисов по всему миру. Первую популярность получил при издании игры на iOS и Android — Shadowgun. Игра критиками была принята не однозначно, но что было понятно для многих это не плохая картинка и Unity3D. С тех пор движок начал набирать популярность, и на данный момент является самым популярным решением для проектов на мобильные платформы претендующие на 3х мерность.

Читать еще:  Ошибка 492 при скачивании с Play Market

Вы можете попробовать 30 дней бесплатно, есть только одна версия лицензии — Unity Pro стоит 1500 долларов. Плюс вы должны заплатить от 400 до 1500 за разработку на каждую платформу, и плюс 500 долларов за корпоративное использование. Так же существует игровой магазин, где разные люди выкладывают на продажу необходимые и не очень дополнения к движку, 3х мерные модели, эффекты разные и тд.

Языки разработки: C#, Javascript, Boo. Возможно не самый оптимальный набор, но молодые тянутся, да и старички тоже выбирают. Последняя версия движка 4.0, вышла 13 ноября 2012 года, и улучшается каждый день командой разработчиков.

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

С места в GameDev

Игра не строится только на программировании. Его будет много, но не больше чем всего остального.

  1. Что это будет за игра?
  2. Подробное описание геймплея, механик, реиграбельности, монетизации, базовых алгоритмов
  3. Определение платформы, поскольку не любую игру вытянут мобилки и тд
  4. Определение языка, движка и тд.
  5. Базовый кодинг
  6. Базовый дизайн
  7. Альфа версия
  8. Продвинутый кодинг
  9. Продвинутый дизайн
  10. Бета версия
  11. Тестирование, багфикс
  12. Выбор дистрибьютора
  13. Релиз
  14. Обновления

Для начала нужна идея. В идеале записать ее в телефонна листок и оставить на неделю.
Через неделю, перечитать и понять — интересно это или нет. Далее определить масштабы, если это openworld проект, шансы что вы его потянете в одиночку стремятся к 0 и не наберетесь опыта, об этом чуть дальше.
Далее подробно расписать то, как и что будет происходить в игре. Расписать каждую механику отдельно.
Описать внешний стиль. Расписать будет ли игра реиграбельной? Как, а главное почему?
Определив функционал и визуал, можно уже определять для чего мы будем делать игру? Телефоны подходят для простых игр с минимальным управлением, геймпады подходят под аркады, файтинги, гонки и тп. Мышь и клавиатура почти под все.

Определившись с платформой мы уже будем знать, какие движки желательнее всего использовать.
Не каждый движок поддерживает все платформы. При нулевых знаниях программирования рекомендую посмотреть небольшие гайды по C++, C#, Java для понимания главных концептов программирования.
Важно отличать функции, от полей, понимать для чего нужно ООП, посмотреть минимальный набор библиотек.
Но больше всего опыта вы получите начав делать свой проект. Мои первые 9 проектов умирали еще до того как я получу какой-то опыт. Сначала я пробовал разрабатывать игры на Unity, думал, ничего мне не надо, сейчас сделаю крутую игру и все дела. Первая проблема — английская документация, ничего не понял, забил. Дальше все упиралось в то что я не знал и не понимал математику. Но в этом году я поступил в ВУЗ самостоятельно и посидев на высшмате понял, что где-то я это уже все видел, а ну да, в гайдах по разработке игр. Минимальный набор для разработки выглядит примерно так:

  1. Вектора и векторная алгебра
  2. Линейная алгебра
  3. Простые алгоритмы
  4. Английский на уровне выше среднего с пониманием IT терминов.
Читать еще:  Как удалить слайд в презентации в PowerPoint

реклама

Я уже не говорю про производные, интегралы и тд.
Вы научились выводить Hello world? Поздравляю, самое время попытаться сделать что ни-будь в движке.
Мой выбор остановился на UE4, с переходом на UE5.

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

Для начала можете использовать примитивы, в 3D это называется BlockOut

BlockOut — расстановка примитивов на сцене, для понимания габаритов и внешнего вида. Подбора цветовой стилистики

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

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

Это будет Альфа. Оттачивайте логику до идеала, оптимизируйте.

И выпускайте Бету, корректируйте замечания и можно идти в релиз.

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

Если что-то не работает — гуглим ошибку — если не получилось просим друга выслушать, что делает твой код. «Эффект резиновой уточки»

Читайте как можно больше документацию в идеале на английском языке.

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

Статья не является гайдом, универсальным пособием. Но если вы захотите, заходите в дискорд и задавайте вопросы. Я отвечу на то, на что я смогу ответить. Позже будут еще статьи!

4. BabylonJS

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

Вы сначала строите свой движок, а потом уже игру, поэтому у вас есть контроль над тем, что и как происходит. Это здорово для продвинутых создателей игр, но если вы не из них, разработка с помощью BabylonJS может быть контрпродуктивной. Посмотрите на этот пример — он выглядит изумительно. Но взгляните на счетчик линий кода слева — более 1000 строк всего лишь для демки:

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

Игровой Движок или Конструктор Игр — Что Выбрать?

На что обратить внимание


Стоит отметить, что за последние два года грань между игровыми движками и конструкторами игр была серьёзна размыта. Если раньше можно было сказать, что игровой движок — это голый кусок кода с минимальным набором редакторов ( или вовсе без них ) и прочих прелестей, облегчающих жизнь, а конструктор — это «закрытый» код, обвешанный всевозможными визуальными редакторами и снабжённый определённым базовым контентом, то теперь многие игровые движки исповедуют «визуальный» подход к созданию игр, поддерживают всевозможные принципы drag&drop, слайдеры, ползунки, визуальные редакторы почти для всего на свете при минимизации ручного написания программного кода. Наиболее яркий пример — игровой движок Unity, который до 90 % работы по созданию игры позволяет проводить в своём редакторе.

Читать еще:  Как отключить услугу «Всё включено» в Одноклассниках

Итак, на что стоит обратить внимание при выборе «сердца» своей будущей игры:

  • Возможности. Если движок соответствует вашим минимальных потребностям — хорошо, если он умеет больше — просто замечательно, в случае необходимости вы легко сможете расширить свою игру и задействовать новые возможности движка или конструктора. Главное — соблюсти баланс между мощностью и громоздкостью, как уже говорилось выше — навряд ли будет удачной идеей создавать Тетрис на UE3.
  • Условия использования. Какие требования выдвигает владелец прав на движок или конструктор к разработчикам, использующим его? Какими правами обладает разработчик? Существуют ли какие-то дополнительные выплаты в случае успеха игры? В общем, в любом случае с условиями использования своего инструмента нужно ознакомиться во избежание неожиданностей.
  • Цена. Если вы используете бесплатную редакцию движка или конструктора — сможете ли вы «осилить» полноценную коммерческую лицензию, если дела пойдут в гору? Очевидно, что нет смысла пытаться сделать что-то серьёзное там, где за полную коммерческую лицензию придётся выложить 1 млн. $ ( условный пример ).
  • Поддержка со стороны разработчиков. Развивается ли их продукт? Исправляются ли баги? Появляются ли новые функции, возможности и т.д.? При прочих равных движок, который динамично развивается, предпочтительнее того, чья разработка была заморожена — ведь в случае какой-то критической проблемы в таком случае вы рискуете остаться с ней один на один.
  • Сообщество пользователей. Популярен ли движок/конструктор? Существует ли достаточно большое сообщество пользователей, говорящих на языке, который вы хорошо понимаете? Существуют ли специализированные ресурсы ( сайты, форумы ), посвящённые этому движку? Для популярных программных продуктов всегда доступно большее количество уроков, примеров, различных форумов, о них пишут в блогах и так далее — словом, у вас будет гораздо больше источников информации и учебных материалов. Это как раз тот случай, когда уникальность — скорее минус, чем плюс.
  • Задокументированность. Насколько хорошо представлена документация для тех или иных компонентов движка?
  • Поддержка сторонних инструментов разработки. Существуют ли законченные скрипты импорта/экспорта моделей из популярных 3D-пакетов? Использует ли движок какие-то особенные форматы данных, и если да — то созданы ли простые и удобные инструменты конвертации в эти форматы?
  • Простота использования. Насколько прост в освоении движок/конструктор? Необходимы ли узкие специализированные знания для его использования? Необходимо ли серьёзное вмешательство со стороны пользователя в исходный код для того, чтобы получить желаемый результат?

Самые популярные языки программирования для игр

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

Например, большую нагрузку многопользовательского режима выдерживают С и С++, легендарный Майнкрафт был создан на Java, как и большинство старых консольных игр.

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

Среди языков для создания игр С++ наиболее популярный, его применяли для разработки CS, WoW и StarCraft. Также используется в иных сферах – 3D анимации, создания программного обеспечения для самолетов, операционных систем и драйверов, работе с нейросетями.

Ссылка на основную публикацию
Adblock
detector