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

Умная навигация в играх на примере Mafia: Definitive Edition

  • Перевод
  • Из песочницы

Привет Хабр! Представляю вашему вниманию перевод статьи «Mafia: Definitive Edition’s Clever Navigation System» автора Tushar Deb.

Размер игр с открытым миром становится больше с каждым новым релизом: большие карты, больше исследований и еще больше перемещений. Исключение составляют относительно линейные проекты, в которых игроки могут двигаться одними и теми же путями. Например, в серии Need for Speed или Grand Theft Auto: Vice City, где игрок быстро запоминает маленький открытый мир и легко в нем ориентируется. В противном случае искать удобный и короткий путь в опенворлде — не самое увлекательное занятие.

И вот тут на помощь приходят мини-карта и метки — отмечаете точку и следуете маршруту. Легко!

«А Crysis потянет?» Почему до сих пор обсуждают игру, выпущенную 13 лет назад

Перевод

Каждый год выпускаются сотни новых игр. Некоторые из них добиваются успеха и продаются миллионами копий, но само по себе это не гарантирует статуса легенды. Однако изредка появляются игры, которые становятся частью истории отрасли, и мы продолжаем обсуждать их и играть в них спустя годы после выпуска.
Для игроков на PC есть одна игра, ставшая почти легендарной благодаря своей невероятной, обогнавшей своё время графике и способности снижать фреймрейты компьютера до однозначных чисел. Позже она стала знаменитой благодаря тому, что на десяток лет превратилась в надёжный источник мемов. В этой статье мы расскажем о Crysis и о том, что сделало его таким уникальным.

Первые дни Crytek

Прежде чем погрузиться в историю Crysis, стоит совершить краткое путешествие во времени и узнать, как было заложено основание Crytek. Эта компания по разработке ПО была основана осенью 1999 года в Кобурге, Германия тремя братьями — Авни, Джеватом и Фаруком Йерли. Объединившись под руководством Джевата, братья начали создавать демо игр для PC.

Человек, создавший «худшую в мире видеоигру»

Перевод

Видеоигру Говарда Скотта Уоршоу обвиняли в том, что она единолично обвалила целый многомиллиардный рынок. Но реальная история намного сложнее.
25 апреля 2014 года на свалку в Аламогордо (Нью-Мексико) приехал бульдозер, раскопавший настоящее сокровище — гору тридцатилетних видеоигр для Atari.
Пока на пустынных равнинах бушевала пылевая буря, небольшая группка отважных нердов столпилась у ограждения, чтобы исследовать находку. Они надеялись хотя бы одним глазком увидеть E.T. the Extra-Terrestrial — игру настолько плохую, что её обвинили в обрушении в 1983 году видеоигровой индустрии объёмом в 3,2 миллиарда долларов.
Для создателя игры Говарда Скотта Уоршоу это стало раскопками его прошлого.
Один из самых востребованных разработчиков игр, обладавший прикосновением Мидаса, создатель хитов остался в истории как человек, написавший E.T. — «худшую» видеоигру в истории.
Но история Уоршоу, как и история Atari — это притча о корпоративной жадности и опасности ситуации, когда количество становится важнее, чем качество.

Программирование

Совет

Примечание переводчика: на самом деле в Unity используется C#, который похож на C++

  1. Типы данных и переменные. В основе кода лежат данные, которые хранятся в переменных. Можно объявить переменную так:
    int — тип данных, i — имя переменной, = 0 — значение переменной.
    Часто используемые типы данных: int и long — для целых чисел, float и double — для чисел с плавающей точкой, string — строчные данные.
  2. Условия. С помощью оператора if можно создать условия для выполнения кода:

    Используя оператор else, можно расширить условие и отобразить что делать, если условие не соответствует истине:

  3. Циклы for/while. While-циклы повторяют части кода, пока условие остаётся истинным. Как только условие перестаёт быть истинным, цикл обрывается.

    For-циклы похожи на while-циклы. Для while мы пишем так:

    Равнозначный for-цикл будет таким:

  4. Структуры данных. У нас есть данные, с которыми можно взаимодействовать. К тому же их можно хранить в особой структуре — массиве, списке, очереди, стеке или наборе.
    Простой примера массива:
  5. Функции и исключения. Функция — это короткая строчка кода, заменяющая огромное количество строчек кода. Например, выведем функцию EatBread(), которая содержит следующее:
  1. Язык. На каком языке вы будете программировать? Чаще всего игры пишут на C++, JavaScript или C#. Языки отличаются синтаксисом и областью применения.
  2. API (Application Programming Interface). Как только вы ознакомились с базой, приступайте к изучению программного интерфейса приложения для конкретного игрового движка. Они представляют собой набор полезных инструментов, упакованных в простые классы и функции. API сильно упрощает жизнь программиста.
  3. Посмотрите примеры проектов на выбранном игровом движке. Можно найти много бесплатных примеров игр на движках Unreal и Unity. Это позволит увидеть итог и весь процесс работы целиком, а также почерпнуть идеи для своей будущей игры.

Немного вдохновения.

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

    а не

    или

  • Декомпозиция. Сделайте из повторяющегося кода функцию и вызывайте её вместо копирования повторяющихся строк.
  • Шаблон проектирования Singleton («Одиночка»). Шаблон программирования, который позволяет данным храниться в одном месте.
  • Избегание статических переменных. Помимо использования синглтонов, я избегала статических переменных — они живут только на время игры, медленные и могут вести себя непредсказуемо.
  • Шаблон проектирования Observer («Наблюдатель»). Позволяет объекту узнавать о состоянии других объектов, не теряя компьютерного времени на проверку.
  • Сопрограммы. Позволяют начать выполнять действие, продолжать в течение нужного времени и затем прекратить. Я использую их для визуальных эффектов взрывов, резких движений.
  • Класс ScriptableObject. Он хранит данные с меньшими затратами, чем базовый класс MonoBehaviour.

Инструменты

  • Свой движок на C/C++. Низкий порог входа. (Примечание переводчика: на самом деле, создание своего движка требует больших усилий и глубокого знания принципов программирования).
  • Unity. Поддерживает 2D/3D. Требует знаний JavaScript/C#. Средний порог входа. Разработка для нескольких платформ.
  • Unreal. Поддерживает 2D/3D. Требует знаний C++. Средний порог входа. Разработка для нескольких платформ.
  • pixi.js. Только 2D. Требует знаний JavaScript. Средний порог входа. Разработка для браузера.
  • GameMaker Studio. Поддерживает 2D/3D. Требует знаний специального языка движка GML (Game Maker Language). Для новичков. Разработка для нескольких платформ.
  • Corona. Только 2D. Требует знаний Lua (похож на JavaScript). Для новичков. Разработка для нескольких платформ.
  • Visual Studio Code (для MacOS) — не зависает, имеет встроенную справочную информацию и удобные «горячие» клавиши.
  • Visual Studio (для Windows).
  • MonoDevelop — устанавливается с Unity, иногда подвисает.
  • .
  • .
  • Fungus.
  • Corgi Engine.
  • Dialogue System.
  • Post Processing Stack.
  • Keijiro Takahashi — работает над Unity, доступные проекты визуальных эффектов с открытым исходным кодом.

Финляндия для разработчиков игр: маленькая страна с большими возможностями

Финны умеют делать не только крутую музыку, но и отличные игры. Страна с населением в каких-то 5 млн человек и лишь 240 игровыми студиями может похвастаться оборотом игрового рынка в €2,2 млрд. Вам знакомы такие названия, как Supercell, Rovio, Remedy Entertainment, Housemarque, Seriously Entertainment? Все они — финские студии.

Более того, Финляндия стала центром притяжения ведущих геймдев-компаний мира: в Хельсинки открыли офисы Ubisoft, Electronic Arts, Epic Games, Huuuge Games, Zynga и другие.

Это удачное место для софтлонча: финны — платящие (и привыкшие платить!) пользователи с западным менталитетом и приятным ARPU в $48.

А вы знали, что в Финляндии государство спонсирует стартапы и игровые студии, а зарубежных разработчиков ждут с распростертыми объятиями? Мы в Alconost решили узнать об этих заманчивых перспективах побольше и пообщались с экспертом в финском геймдеве.

Индиспектр

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

В этом году Braid исполнилось 12 лет

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

Студия ZA/UM образовалась из группы друзей, которые любили играть в D&D

Сперва начинающему разработчику стоит выбрать специальность, в которой он хочет и «может» разобраться. Есть художественные задатки — рисуйте. Изучайте 2D-арт, правила анимации, что такое шейдеры и композиция. Пробуйте себя в 3D и постановке сцены.

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

Геймдизайнер должен владеть питчингом, уметь писать дизайн-документы, владеть математикой, рисовать локации и концепт-арты, доносить мысль понятным языком (геймдизайнер — это не генератор идей).

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

Томми (Tommy Refenes) и Эдмунд (Edmund McMillen) — прекрасный пример хорошей команды. Программист и художник, а большего им и не надо.

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

Фил Фиш (Phil Fish) и его история разработки FEZ — яркий пример плохого поведения разработчика

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

Devolver Digital — известный издатель инди-проектов. Их основная цель — помогать молодым разработчикам

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

Five Nights at Freddy’s стал крупной франшизой благодаря пугливым видеоблогерам, которые забавно корчились на камерыKickstarterIndie Game: The Movie

Избавляемся от «мистических» строк в системе реактивного связывания на Unity

Любая система, которая часто используется в проекте, со временем обречена на эволюцию. Так случилось и с нашей системой реактивного связывания reactive bindings.
Что это за система? Она позволяет нам связывать данные на префабе с данными в коде. У нас есть ViewModel, лежащая на префабе. В ней есть некие ключи с разными типами. Соответственно, вся остальная логика, которая у нас привязана к UI, привязана к этим ключам и их изменениям. То есть, если у нас есть некая логическая переменная, меняя ее в коде, мы можем менять любые состояния UI автоматически.
Использование reactive bindings принесло нам как множество новых возможностей, так и ряд зависимостей. Для связи переменных кода и ViewModel, лежащей на префабе, нам необходимо было соответствие строковых имен

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

  • Строковые ключи в коде;
  • Нет проверки соответствия ключей в коде и ключей в модели.

Эта статья — о том, как мы дополнили систему и тем самым закрыли эти потребности.

Как начать свой путь?

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

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

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

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

Где учиться и как искать первую работу?

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

К примеру, если вас интересует создание игр с применением возможностей Unity и вы хотите узнать больше об этом движке, можете ознакомиться со специальностью “Unity/Game Developer” на нашем сайте.

Первую работу стоит искать, следуя отработанной тактике:

  1. Изучаете необходимые языки и технологии, параллельно уделяя много времени практике.
  2. Составляете достойное портфолио, в котором буду несколько ваших удачных работ.
  3. Отправляетесь на сайты поиска работы и рассылаете свое резюме, указывая ссылку на ваши работы, которые вы заранее выложили в GitHub. 

Вопрос первого трудоустройства был более подробно рассмотрен в нашей статье “FAQ начинающего программиста”.

Заключение

Таким образом, мы рассмотрели самые популярные направления в современном игростроении. Если желаете серьезно заниматься созданием игр — выбирайте язык С++ и соответствующий вашим потребностям движок. Если вы не гонитесь за высокой оптимизацией, лучшим выбором будет движок Unity и язык C#. Для iOS и macOS выбирайте Objective-C и/или Swift. Мобильная разработка имеет достаточно места для реализации амбиций при помощи Java, C++, C#, Swift и других языков. Ну а веб-пространство будет прекрасным плацдармом для HTML, JavaScript и ряда вспомогательных технологий. Вообще, умелые программисты могут создавать игры на каких угодно языках. Так что самое главное — изучить необходимые технологии, научиться хорошо писать код, и, конечно, быть влюбленным в геймдев. Тогда у вас все обязательно получиться!

Четыре приема быстрой разработки на Unity3D

Перевод

Уже долгое время Unity3D — мой любимый инструмент разработки игр, которым я пользуюсь уже более 8 лет — и для профессиональных продуктов, и для личных проектов, и при обучении программированию и гейм-дизайну. Более того, я писал на Unity почти на всех гейм-джемах, в которых участвовал, благодаря чему получалось создавать основу игры всего за несколько часов.

Как вы, наверное, знаете, гейм-джем — это конкурс разработчиков игр, участники которого делают игру с нуля за короткий период времени. Гейм-джем обычно идет от 24 до 72 часов, но бывают и более длительные — например, GitHub Game Off, который длится весь ноябрь.

После участия в различных гейм-джемах, в том числе и с самодельным движком моей группы на C++ (к сожалению, он только на португальском языке), я составил список правил быстрого прототипирования, которые вскоре превратились в мой основной принцип разработки ПО: меньше кода — быстрее работа.

Основная идея — писать меньше кода (или, иначе говоря, держать меньшую кодовую базу) — решает две задачи:

Защита от ошибок: чем меньше размер кода, тем меньше вероятность сделать ошибку.

Экономия времени: при каждом изменении кода нужны обновления и тесты, что требует времени.

А для Unity есть и третья причина: каждое изменение в коде запускает обновление Unity, на что регулярно тратится некоторое количество времени.

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

Краткое описание

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

Представителей профессии условно можно разделить на несколько групп:

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

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

Подготовка к публикации

Как тестировать игру на баги?

  1. Дайте другим поиграть в игру. Желательно вместе с вами, на случай, если они столкнутся с ошибкой и не смогут понять или объяснить её.
  2. Проверьте игру на разных платформах. В редакторе может не быть проблем, но работает ли она там, где её будут запускать? Будьте особенно внимательны с Linux и Android.
  1. Проверьте консоль на исключения. Если нашли исключение, найдите файл и строку, где сработало исключение. Если оно звучит по-марсиански, поищите решение в сети, и подумайте, почему именно в этой строке срабатывает исключение.
  2. Напишите в консоль. Попробуйте вывести логи (системные файлы) в предполагаемых местах ошибки. Введите разные переменные и сверьте полученные значения с ожидаемыми. При несовпадении — исправляйте.
  3. Проверьте логи. Системные записи вашего проекта дадут больше информации, чем консоль. Прочтите строки, где сработало исключение. Гуглите всё, что не знаете.
  4. Поспите. Всё починится с утра. Это просто плохой сон 🙂

Типичные ошибки

  • NullReferenceException.
    В чём дело: функция выполняется с несуществующей (null) переменной.Быстрое решение: проверьте, является ли переменная null.
  • SyntaxErrorException.В чём дело: ошибки в синтаксисе.Быстрое решение: в сообщении указано, какой символ выдал ошибку. Найдите и исправьте его.
  • Розовый или чёрный экран.Возможная проблема: не обработался шейдер.Возможные причины: вы используете 3D-шейдеры в 2D-игре или шейдеры, которые не поддерживаются операционной системой. Убедитесь, что вы используете мобильные шейдеры для мобильных игр.
  • Установите нужную частоту кадров. Для визуальной новеллы хватит 20 кадров в секунду, а вот для шутера нужны 60. Низкая частота кадров тратит меньше времени на отрисовку.
  • Анимация / система частиц / выборочная обработка. Объекты, невидимые для камеры игрока, не обрабатываются. Персонажи анимируются, частицы обновляются, 3D-модели обрабатываются только в поле зрения игрока.
  • Сжатие текстур и звуков. Для сжатия текстур используйте Crunch. Потоковая музыка и распаковка звуковых эффектов перегружают игру. Попробуйте снизить качество аудио. Сжатие может заметно снизить качество объектов.
  • Не позволяйте Raycast касаться лишних объектов. Raycast похожи на маленькие лучи, выстреливающие из ваших пальцев или мыши, когда вы касаетесь экрана или кликаете. Найдите объекты, которые не должны реагировать на действия игрока и удалите их из вычислений Raycast.
  • Используйте объектный пул. Частое создание и удаление большого количества объектов снижает производительность. Вместо этого, объедините их в список, очередь или другую структуру. Например, пули должны объединяться в один массив.
  • Оптимизируйте шейдеры. Задайте материал для каждого визуализатора. Игре не придётся создавать новые материалы в начале игры, что сэкономит ресурсы. Пусть визуализатор включает только то, что функционально необходимо.
  • Используйте AssetBundles (дословно «комплекты активов») вместо старой системы Resources в Unity. AssetBundles экспортирует ваши файлы из Unity и помещает в один файл, экономя оперативную память.

Инструменты (только для Unity)

Скрипты:Графика:

  • A guide to optimizing Unity UI;
  • Art Asset best practice guide.

Память:

  • Reducing the file size of your build.
  • Memory.

Оптимизация под платформы:

  • Practical guide to optimization for mobiles;
  • WebGL performance considerations;
  • Memory Considerations when targeting WebGL;
  • Olly’s seven stages of optimizations for mobile VR.

База данных на ScriptableObject c системой сейва/загрузки

Из песочницы

Введение

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

Для хранения таких данных существует много способов — кто-то хранит их в таблицах, в xml или json файлах, которые редактируют собственными инструментами. Unity предоставляет свой способ — Scriptable Objects (SO), которые мне нравится тем, что для их визуального представления не нужно писать свой редактор, легко делать ссылки на ассеты игры и друг на друга, а с появлением Addressables эти данные можно легко и удобно хранить вне игры и обновлять отдельно.

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

Разработчик ресурсоемких игр

Язык программирования С++

Серьезные игры требуют задействования большого количества вычислительных ресурсов компьютера, которые, как известно, ограничены. Также, для получения бóльшей прибыли конечный продукт необходимо распространить среди максимального числа игроков. Это достигается не только удачными PR-кампаниями, но и путем портирования игры на разные геймерские платформы (Xbox, PlayStation и другие). Возникает необходимость в применении мультипарадигмального, кроссплатформенного, высокопроизводительного языка программирования, с помощью которого можно управлять памятью и не создавать лишнюю загруженность системы. Таким критериям отвечает язык С++. Без него не обходится ни одна разработка серьезного гейм-продукта.

Благодаря С++ создается механика игры — взаимодействие игрока с миром и мира с игроком. Когда говорят о профессиональных программистах игр, обычно имеют ввиду именно программистов С++. За возможность создавать оптимизированные крупномасштабные игры уровня ААА придется заплатить немалым количеством сил и времени, ведь данный язык программирования считается одним из самых сложных в изучении. Этот путь разработки зачастую выбирают самые хардкорные ребята, готовые к вызовам и испытаниям, которые очень увлечены гейм индустрией и желают стать ее неотъемлемой частью. 

Игровой движок

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

Unreal Engine — это очень популярный игровой движок. Среди его преимуществ выделяют: гибкость, мультиплатформенность, высокие показатели графической составляющей, качественное освещение, возможность создавать игры под VR, общая дружелюбность к разработчику и богатый встроенный инструментарий разработки. Самые известные игры, созданные при помощи Unreal Engine: Mass Effect, Bioshock Infinite, Mortal Combat 11, Fortnite, Borderlands, Batman: Arkham Asylum.

Разработка на этом движке ведется на языке С++, однако, возможно использование специального скриптового языка Blueprint, который в определенной степени может упростить создание игр.

CryEngine — мощный движок от немецкой компании Crytek, детищем которого стали такие игры, как: Crysis, Far Cry, Ryse: Son of Rome, Sniper II: Ghost Warrior и другие. Обладает кроссплатформенностью, продвинутой системой анимаций, впечатляющим уровнем графики, реалистичной физикой, собственной технологией трассировки лучей и многими другими достоинствами. Стоит отметить, что в разработка на CryEngine вызывает больше трудностей, чем на Unreal Engine.

Если провести анализ данных движков, то Unreal Engine подойдет для разработки ААА игр, особенно шутеров и приключенческих экшенов. Также, это неплохой выбор для инди-разработчиков из-за своей выгодной политики лицензирования. CryEngine же больше подойдет опытным командам, которые обладают большим количеством времени и средств для создания дорогих и крупномасштабных игр.

Существует множество других движков: Chrome Engine, C-Engine, Frostbite, Source, Id Tech, Creation Engine и т. д. Изучайте информацию о них и выбирайте тот, который лучше всего подойдет под ваши нужды.

CryEngine 5

CryEngine — игровой движок, созданный немецкой частной компанией Crytek в 2002 году и первоначально используемый в шутере от первого лица Far Cry.  В середине марта компания предоставила миру новый, пятый  CryEngine. Движок абсолютно бесплатен и воспользоваться им, может любой желающий, с помощью которогоможно создать игру, различного жанра и различной сложности.

  1. CryEngine Sandbox: редактор игры в реальном времени, предлагающий обратную связь «Что Вы видите, то Вы и ИГРАЕТЕ».
  2. Рендерер: интегрированные открытые (англ. outdoor) и закрытые (англ. indoor) локации без швов. Также рендерер поддерживает OpenGL и DirectX 8/9, Xbox с использованием последних аппаратных особенностей, PS2 и GameCube, а также Xbox 360.
  3. Физическая система: поддерживает инверсную кинематику персонажей, транспортные средства, твёрдые тела, жидкость, тряпичные куклы (англ. rag doll), имитацию ткани и эффекты мягкого тела. Система объединена с игрой и инструментами.
  4. Инверсная кинематика персонажей и смешанная анимация: позволяет модели иметь множественные анимации для лучшей реалистичности.
  5. Система игрового искусственного интеллекта: включает командный интеллект и интеллект, определяемый скриптами. Возможность создания особенных врагов и их поведения, не касаясь кода C++.
  6. Интерактивная динамическая система музыки: музыкальные дорожки отвечают действиям игрока и ситуации и предлагают качество CD-диска с полным 5.1 звуковым окружением.

Скачать CryEngine

Бесплатные программы для создания игр

Unity 3D — это игровой движок с возможностями конструктора, который обладает широким функционалом, возможностями для кастомизации. В нём можно создавать игры без программирования, однако они будут весьма шаблонными. Для действительно интересного проекта придётся использовать C# — язык программирования, который применяется в Unity 3D.

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

Русский язык не используется в профессиональном софте, поэтому интерфейс Unity 3D локализован только на английский.

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

 CryENGINE 3 Free SDK — лидер среди всех игровых движков. Показавший себя с лучшей стороны во многих AAA проектах, он доступен для любого пользователя. Создать огромную локацию, наполненную реалистичными реками, лесами и горами в CryENGINE SDK можно за считанные часы. Благодаря наработкам Crytek вы получаете отличную графику прямо «из коробки».

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

Благодаря тому, что разработчики движка наполнили его примерами локаций, бесплатным контентом и отличнейшей документацией, пользоваться им просто. Чтобы создать собственную игру в CryENGINE 3 Free SDK, не нужно программировать, создавать 3d модели и что-то рисовать. Достаточно просто расставить готовые объекты в нужные места.

3D Rad смотрится достаточно скромно среди AAA движков, но это не делает его плохим. Да, он не поддерживает огромные пространства, а модели с большим количеством полигонов вызывают у него падение FPS, однако, для использования в простых проектах он является лучшим выбором.

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

 Unreal Development Kit — настоящий монстр, наполненный самыми современными технологиями. Просто скачав движок, вы сможете опробовать его на примерах локаций, а в дальнейшем пользоваться наработками Unreal в своих проектах. Этот движок вряд ли подойдёт новичкам, но тем, кто хоть немного разобрался в том, какие программы нужны для создания игр, он предлагает массу возможностей.

У UDK есть серьёзное преимущество — программа лояльности к индивидуальным разработчикам. Чтобы пустить игру в продажу, совершенно не нужно оплачивать лицензию. Достаточно просто отдавать несколько процентов владельцам компании. Это позволяет любому человеку войти в мир геймдева.

Используют этот движок те, кто не знаком с языками программирования, ведь в нём есть функционал для графического скриптинга — Blueprint.

Документация по UDK и Unreal Engine по-настоящему обширна. В ней рассматриваются все аспекты создания игр.

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

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

Стоит отметить, что Kodu имеет максимально низкий порог вхождения. Использовать его могут те, кто совершенно не разбирается в геймдеве. Этому способствует система создания игр без программирования, отсутствие необходимости Hi-poly моделирования. Если вам хочется создать простую, детскую игру, то Kodu — лучший вариант. Его можно освоить за несколько дней, завершив проект в максимально короткий срок.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector