Скачать специальная программа для создания игры. Как создать игру на Андроид с нуля — осваиваем азы гейм девелопмента

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

Но если перспектива мучиться с C++, чтобы создать очередной Майнкрафт, Вам не прельщает, существует много способов разработки игр для тех, кто не владеет кодированием.

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

GameMaker


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

Lumberyard – это новый игровой движок от Amazon, разработанный на CryENGINE. Этот бесплатный движок создан для того, чтобы привлечь людей разрабатывать игры для Amazon Web Services (AWS), но его можно использовать и для своих целей. Lumberyard интересен тем, что его инструмент визуального скриптинга разработан специально для дизайнеров и разработчиков, не обладающих обширным опытом. Lumberyard позволяет добавлять функции, связанные с облаком, в игру. Lumberyard – это совсем свежий движок, поэтому нужно подождать и посмотреть, как он будет себя вести и будет ли он отвечать всем обещаниям разработчиков. В конце концов, этот движок может создать серьезную конкуренцию Unity и Unreal.

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

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

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

Понятие

Игровой движок или 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;
  • объемный густой туман и дым для придания атмосферы;
  • наличие необычных физических эффектов (например, нанокостюма).

Рано или поздно любому человеку, более или менее активно играющему в компьютерные игры, приходит в голову мысль: «Чужие игры – это, конечно, хорошо, но своя все же лучше!». Некоторые из таких людей начинают учиться программированию, игровому дизайну, однако дело это непростое, и закончить обучения смогут не все. Профессиональные разработчики, зная о всех возможных трудностях, связанных с изучением этой непростой науки, создали специальные пакеты программ для создания игр.
В большинстве своем эти программы используют графическое представление привычных для каждого профессионального программиста функций. Это позволяет создавать полноценные 2D и 3D игры, используя одну лишь мышку. Звучит заманчиво, правда? К сожалению, не обошлось и без минусов. Большинство программ узко направленны в жанре (то есть если написано «Стратегия», то максимум жанрового смешения, который вы сможете себе позволить – это «RTS/RPG» и т.п.), а некоторые из них так и вовсе позволяют только свободно менять модели, текстуры, фон, музыку, движения, но это в любом случае будут лишь вариации на тему одной и той же игры. В сегодняшнем обзоре представлены программы, которые (по возможности, конечно) лишены вышеперечисленных минусов.

Game Maker

Из простого редактора текстур и моделей (первые версии программы) Game Maker превратился в полнофункциональную среду разработки приложений. Последняя на сегодняшний день восьмая версия позволяет работать с 2D и 3D объектами, использовать стандартные и созданные пользователями библиотеки (для этого нужно использовать Lib Maker) и многое другое.
Game Maker – это самая, наверно, дружелюбная программа-конструктор игр из представленных сегодня. Для создания кода можно использовать как мышь («графический» вариант программирования), так и более классическую клавиатуру (то есть вбивать код вручную). Поддерживается импорт моделей из различных редакторов, к примеру, из популярного 3D Max.
Однако, несмотря на очевидные плюсы, есть и минусы. Один из них – ограниченная поддержка 3D, введенная с шестой версии программы. До шестой версии основными играми, созданными с помощью Game Maker, были платформеры, но после появилась возможность создавать полноценные трехмерные игры. Другой минус – необходимо минимальное знание принципов программирования. В основе каждого действия, созданного на основе Game Maker, лежит реакция объекта на какое-то событие, а значит, прежде, чем приступать к работе, нужно понять, что такое триггеры, скрипты и спрайты (последние нужны, к примеру, для того, чтобы сделать огонь и траву). Ну и, конечно, лучше бы уметь работать с текстурами, моделями и анимацией.

Unity 3D

Программы для создания игр не существовали бы в том виде, в каком они существуют сейчас, если бы не этот пакет. Unity 3D – намного более сложный инструмент, чем Game Maker. В него входит встроенный редактор моделей, мощный графический движок, полностью использующий возможности DirectX и OpenGL, отдельные программы для создания и обработки шейдеров, тени, ландшафтов, физики и звуков, а также богатые библиотеки скриптов.
Все перечисленное замечательно работает в тандеме, что позволяет работающему с Unity 3D человеку не пользоваться сторонними программами. В отличие от нашего предыдущего гостя, данный редактор, во-первых, направлен на работу с трехмерной графикой, во-вторых, делает возможным создавать игры любого жанра на высоком уровне, в-третьих, облегчает процедуру создания онлайн игр.
Однако есть и ложка дегтя в этой большой, шикарной бочке меда. И это, опять же, минимальное знание программистских принципов. До определенного момента (на стадиях разработки окружения и моделей) об этом можно не задумываться, но дальше нужно будет приложить некоторые усилия. Несмотря на богатую библиотеку и мощный скриптовый движок с моментальной компиляцией, какую-то часть кода придется прописать самому. Во всяком случае, если вы действительно хотите создать что-то свое.

3D Rad

Однозначный победитель по простоте освоения. 3D Rad может стать для многих талантливых игроделов отправной точкой, эдакой тренировочной платформой, а может стать и полноценным конструктором игровых хитов. Многое здесь зависит от таланта разработчика, ведь из этой программы можно выжать довольно много.
Основные возможности все те же, что и в предыдущих программах, но 3D Rad, в отличие от остальных, поддерживает плагины, имеет некоторые предустановленные ИИ модели (автомобиля и следопыта), карты теней и текстур, возможность создания онлайн игры (!) и условно-бесплатные обновления (жертвуете один раз 5$ на развитие движка и получаете бесплатно каждый месяц обновления; кто не жертвует – ждет три месяца).



Заключение.
Все три программы для создания игр хороши по-своему. Game Maker – середнячок как по сложности, так и по возможностям, 3D Rad может многое, но только при толковой подборке плагинов, а Unity 3D – это вообще полноценная среда для комфортного игростроения, которая, однако, требует определенных навыков. Так что выбирайте любую из них, исходя лишь из своих целей и талантов.

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

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

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

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

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

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

Немного предыстории.

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

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

5 Место

Stencyl – конструктор игр, который поможет создать вам игры разных жанров в формате 2D , для таких платформ как Android , IOS , Windows а так же игры в формате Flash и HTML 5.

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

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

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

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

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

Примером работы движка является множество онлайн флейш игр, которых полным-полно в сети интернет.

· Простота работы.

· Большое количество видео уроков и инструкций, а также поддержка на официальном сайте.

· Конструктор является полностью бесплатным.

· Возможность коллективной работы над игрой.

· Возможность применения собственных скриптов на языке ActionScript 3.0.

· Разработка игр для разных платформ.

· Англоязычный интерфейс.

· Не сразу понятный интерфейс.

4 Место

Kodu Game Lab – это визуальный редактор позволяющих создавать трехмерные игры без каких любо знаний языков программирования. Этот движок дает возможность создавать игровые миры, карты и размещать в них персонажей, для которых потом можно создавать задания или сценарии.

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

Kodu Game Lab имеет много возможностей и на её базе можно создавать любой жанр игр. Из-за того, что интерфейс программы очень простой любой желающий может создать самую примитивную игру со своим сценарием и миром.

· Большое количество инструментов.

· Простота работы.

· Создание абсолютно любого жанра игр.

· Русскоязычный интерфейс.

· Не требуется наличие мощного компьютера.

· Плохая оптимизация.

· Низкие возможности создания игр.

· Невозможность создания дистрибутива для дальнейшей установки на другом компьютере.

· Невозможность создания своих текстур и добавления своих материалов.

3 Место

Unity – это мощный движок для создания игр. Этот движок является кроссплатформенным, позволяет создавать игры под популярные ОС, такие как Windows , MacOS , Linux , Android , IOS , а также для игровых консолей Xbox , Wii .

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

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

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

Основные языки программирования, которые вам нужны для создания простых игр это C# и JavaScript.

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

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

Что бы понять все возможности данного движка советую ознакомиться с популярными видео играми, которые были полностью созданы на Unity – это Cities Skylines, Hearthstone: Heroes of Warcraft, Rust, Firewatch, Superhot, Kerbal Space Program.

· Ориентировочно-понятный интерфейс.

· Создание абсолютно любого жанра игр.

· Кроссплатформенность.

· Оптимизация.

· Большое количество видео уроков и инструкций.

· Движок является полностью бесплатный.

· Не требуется наличие мощного компьютера.

· Не подходит для начинающих.

· Закрытый исходный код.

· Устаревшая графика.

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

2 Место

Unreal Engine – является довольно мощным движком для создания игр. Эта платформа даёт возможность создания 2D и 3D игр. Неотъемлемой частью таких современных и мощных движков является кроссплатформенность, и в Unreal Engine она довольно хорошо реализована. Можно создавать игр для всех популярных платформ как для смартфонов (Android , IOS ), так и для компьютеров под управлением (Windows , MacOS ).

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

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

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

Хочу заметить, что, будучи не опытным в сфере создания игр, а также если вы не знаете основ программирования на С++, тогда не стоит начинать знакомство с разработкой игр с этого движка. Так как Unreal Engine является профессиональным инструментом для создания игр.

Что бы понять всю силу и возможности движка, можете просмотреть уже созданные на нем популярные проекты, такие как Gears of War 4, We Happy Few, Final Fantasy VII, Dead Island 2, Taken 7 и еще длинный список примеров возможностей.

· Огромное количество инструментов.

· Создание абсолютно любого жанра игр.

· Кроссплатформенность.

· Оптимизация.

· Большое количество видео уроков и инструкций.

· Собственные форумы, обсуждения в разработке игр.

· Движок является полностью бесплатный.

· Встроенный магазин дополнений.

· Возможность создания мульти плеера в играх.

· Высокий уровень графики.

· Открытый код

· Не подходит для начинающих.

· Сложный интерфейс.

1 Место

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

CryEngine – мощный движок для создания современных игр в любом жанре под все возможные платформы. Он так же является кроссплатформенным и позволяет создать игры под ОС Windows , MacOS , Linux , Android , IOS .

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

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

Вот некоторые проекты, реализованные на CryEngine: CrySis, Star Citizen, Sniper: Ghost Warrior 3, Ryse: Son of Rome, Warface, первая часть FarCry и многие другие.

· Огромное количество инструментов.

· Создание абсолютно любого жанра игр.

· Кроссплатформенность.

· Оптимизация.

· Большое количество видео уроков и инструкций.

· Собственные форумы, обсуждения в разработке игр.

· Движок является полностью бесплатный.

· Встроенный магазин дополнений.

· Возможность создания мульти плеера в играх.

· Высокий уровень графики.

· Почти не ограниченные возможности в создании игр.

· Открытый код

· Не подходит для начинающих.

· Довольно требователен к компьютеру.

· Сложный интерфейс.

Заключение

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

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

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

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

Как разработать RPG-игру за неделю с нуля и без бюджета. Часть I.

RPG за неделю? С нуля? Это вообще возможно?
Я рискнул, и я сделал это.

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

Tom Bampton, автор ежемесячных обзоров игр в номинации «Игра на день» (www.gameinaday.com), сказал: "Дерзай!" Затем он добавил дополнительное условие - я должен сделать это, не используя существующие игровые движки. Мне можно использовать только основные библиотеки / API.

Сначала я отказался от этой идеи. У меня не было лишнего времени, чтобы на неделю отстранится от разработки текущего игрового проекта на работе. Но потом я подумал: да черт с ним, ведь что такое неделя? В типичной компании, например в Е.А., рабочая неделя составляет 40 часов. Так почему бы не сделать игру не за календарную неделю, а за 40 чистых часов? Это уже реальнее, - но я не хотел создавать очередной тетрис или арканоид. А как насчет ролевой игры - одного из самых сложных игровых жанров? Это возможно?

Я знал, что это будет чрезвычайно трудно. Но я принял вызов.

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

Так вот, как я создал игру в течение одной недели с нуля, и без бюджета. Если вам лень читать, и вы хотите побыстрее заглянуть в конец повествования, чтобы узнать, как выглядит конечный продукт, посмотреть все его баги, вы можете скачать версию игры для Windows здесь: http://www.rampantgames.com/hackenslash.html

ПЛАНИРОВАНИЕ
Цель
Создать олдскульную RPG в стиле старых игр начала 80-х, с видом "сверху вниз", например как The Temple of Apshai, Ultima III, и Telengard. Игрок будет двигаться через комнаты в типичном подземелье, сражаясь с различными монстрами с помощью «меча и магии». Постепенно он будет совершенствовать свои возможности получая опыт, повышая уровень, приобретая магическое снаряжение.

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

Правила разработки

Правило № 1: Время разработки ограничено одной неделей (включающей 40 часов)
На разработку игры должно быть потрачено в сумме не более 40 часов. Они будут включать время, потраченное на непосредственную работу над игрой и на ее обдумывание. Перерывы в разработке больше, чем десять минут, не будут учитываться. Это будет "идеальная" рабочая неделя из 40 высокопроизводительных часов.

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

Правило № 2: Использовать только бесплатные инструменты
За исключением программного обеспечения, которое поставляется с установкой Windows, используется только свободный софт, по возможности с открытым исходным кодом. Смысл этого - показать, что не нужны дорогие (или пусть даже дешевые) инструменты для разработки игры. На оборудование, такое как сканер, микрофон и цифровая фотокамера, данное правило не действует - если у вас их нет, будем считать, что их можно у кого-то одолжить.

Правило № 3: Нет движкам, только стандартные библиотеки / API
Игра должна быть создана "с нуля" без использования существующих игровых движков. Никакого обмана, и создания игры или каких-то ее частей с помощью конструкторов игр или использования подобного программного обеспечения.

Инструменты
Код:

Python 2,3 (http://www.python.org/)
PythonWin
PyGame (http://www.pygame.org/)
Py2exe – чтобы собрать что получится в исполняемый файл для распространения. (http://starship.python.net/crew/theller/py2exe/)

Gimp 2,0 (http://gimp-win.sourceforge.net/)
MS Paint (тот что идет с Windows) - для вставки скриншотов, захваченных клавишей PrintScreen (GIMP почему-то отказался это делать)
Бесплатные текстуры были взяты (http://www.textureartist.net/textures/index.htm) и (http://www.mayang.com/textures/)

Audacity (http://audacity.sourceforge.net/) плюс мой микрофон или бесплатные.

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

Час 1-10: Базовая архитектура
Проектирование движка и основных компонентов. Получить отображения мира на экране. Я должен реализовать возможность перемещать тестового игрока по всему миру, и смотреть на вещи, а затем превратить то, что получится, в игровой редактор.

Час 11-20: Возможности игрока
Реализация всех основных возможностей для игрока - перемещение, атака, открытие дверей, смерть, подбор вещей и использование инвентаря. Создать каркас представления всех объектов в окружающей среде, для тестирования возможностей игрока во взаимодействии с миром.

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

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

После 40 часов: Тестирование и релиз игры
Протестировать, и устранить найденные ошибки (не добавляя новые возможности!) Собрать все в кучу, и выложить в интернете. Завершить документацию.

Дневник разработчика Hackenslash: Игра за неделю

Час 1 – Дикое проектирование и базовые классы
Этот час был проведен за созданием некоторых базовых классов для игры - и использования их в дальнейшем проектировании. Мир будет представлен в виде последовательности комнат, соединенных порталом. Все в мире базируется на комнатах, подобно тому, как это было в старых адвенчурах или MUDах. Большинство объектов в игре представлены как " GameObject ", который имеет позицию и содержимое (в том числе может содержать и другие объекты - карта может содержать комнаты, в комнате может быть сундук, в сундуке - меч... и, я думаю, меч может содержать несколько комнат, но мы так делать не будем.)

Я создаю объекты creature (существо) и player (Игрок)
Я генерирую набор атрибутов для существ, и внедряю их в класс. Видимо я задрот, который играет слишком много в РПГ игры. Я пока еще не знаю точно, как будет выглядеть и работать игровая механика.
Я делаю объект room (комната), наследуемый от GameObject. У комнаты есть ширина, высота, и стены - и на текущий момент больше ничего.

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

Час 2 - PyGame 101
Цель этого часа - инициализация PyGame, ну и начать хоть что-нибудь рисовать на экране. На самом деле, я провожу большую часть времени за чтением документации PyGame, пытаясь выяснить что там и как, поскольку у меня почти нет опыта использования PyGame или SDL.

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

Час 3 - Если бы стены имели уши, я б их сильно отругал.
Цель этой часа – обозначить контуры комнаты стенами, и отобразить это на все еще черном экране. Чтобы сделать это, мне нужна комната, и мне нужна графика. Приходится много сидеть над GIMPом, правя загруженные из интернета текстуры, так чтобы они превратились в подходящие тайлы. Я создаю класс менеджера текстур. И я заполняю структуру образца комнаты. Я также потратил немного больше времени, просматривая документацию PyGame, чтобы найти что-нибудь еще, что можно использовать, дабы сделать работу легче.

Час прошел. А у меня все тот же черный экран. Стен как не было, так и нет.

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

Не имея подробного плана проекта, действительно довольно легко запутаться, когда выполнив определенную работу Вы задаетесь вопросом "Что дальше?" Я решил, что если рисунок одной комнаты хорошо, то нарисовать две – вдвойне лучше.

Для хранения созданных комнат я создал файл "minidungeon".
Я начать добавлять логику порталов "portals" - отверстий в стенах, для перехода в другие комнаты (и предоставляющих всю информацию о смещении, необходимую для правильного отображения смежных комнат).

Час 5 - Hackenslash получает больше комнат

Я изменил название окна на "Hackenslash!". Просто потому, что это круто.
Я создал карту объектов для хранения комнат, и класс MapMaster содержащий несколько карт.
Я добавил вторую комнату и подключил к первой через портал.
Соседние комнаты подключены к текущей через порталы, и теперь отображаются на экране.
Я исправил некоторые ошибки отсечения, чтобы правильно отображались стены, частично выходящие за пределы окна.

Час 6 - за который мы улучшаем скил рисования

Добавил класс дверей, а также настроил карты для размещения двери (дверь должна быть общей для двух комнат). (Правка: Жаль, что я никогда это так и не использовал!)
Я создал еще 3 тайла стен, объединил их в одно изображение.
Графический вид стен изменяется в зависимости от типа.
Я делаю простую графику для вида сверху вниз.

Часы 7-8 – Вращения и восклицания!

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

Часы 9-11 – Елементы - бррр!

И вот опять, мне нужно решить вопрос "Что дальше?".

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

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

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

Часы 12 - 13 - Нам нужен Лут!

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

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

Час 14 - Ковры

Я сильно отстаю от графика, что же мне делать?
Черный фон кажется слишком уродливым, поэтому я замостил полы внутри комнаты коврами - отдельными тайлами.

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

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

Часы 15-16 - Click! Click!

Я занялся управлением мышью и обработкой событий.
Добавил управление персонажем мышью. Движение пока происходит рывками, нет плавной прокрутки уровня.
Игрок может выйти за пределы комнаты, отсутствует проверка столкновений.
Я исправил несколько ошибок.
Помучил GIMP и создал красивые лестницы.
.
На разработку уже затрачено почти 17 часов, так что я начинаю немного нервничать. Я прошел 2/5 пути создания игры, - закончился второй "рабочий день" разработки. То, что у меня уже сделано впечатляет, но я понимаю, что сделать осталось много больше. У меня есть еще четыре часа, чтобы закончить основные возможности игрока, и вложится в график. Это будет трудно... но я все равно не жалею, что потратил лишнее время на рисование графики!

Час 17 – Плавно перемещаемся, пока не стукнемся лбом о стену

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

Час 18 - Переступаем пороги

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

Час 19 - Лестница в небо, Адское меню

Мой брат вызвался сделать музыку для игры. Он сделал музыку для Void War, и получилось довольно хорошо. Это напомнило мне, что нужно сделать воспроизведение звука (и музыки). Вроде бы в PyGame это сделать довольно просто, поэтому оно не должно занять слишком много времени. (Правка:. Я так и не нашел для этого времени, к сожалению в Hackenslash вы не услышите ни единого звука.)

Моя следующая цель состоит в обработке взаимодействия с существами и предметами. Мне очень нравится, как это сделано в The Sims и Neverwinter Nights, когда вы хотите взаимодействовать с игровым объектом, появляется контекстное меню. Я планирую реализовать что-то похожее.

Учу лестницы перемещать игрока в новую комнату.
Я немного проштудировал Интернет и документацию PyGame, ища, нет ли где открытых исходных кодов подобного меню на PyGame. И не нашел ничего.
Я начал делать собственное меню.

Часы 20 - 21 - Что там с меню?

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

Час 22 – Заснуть в процессе

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

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

Час 23 - Боевые параметры!

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

Час 24 - Меню игрока

Я завершил оптимизации для окна параметров.
Создал всплывающее меню, которое появляется, когда игрок кликнет на персонажа.
Я создал быстрое меню для использования зелий, кастования заклинаний и т. д.
Я исправил некоторые ошибки в работе меню.

Час 25 – До(раз)пиливаю полы и стены

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

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

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

ПЕРЕРЫВ - Кризис!

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

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

Двери: Вырезано! Я очень хочу сделать двери в игре. Жалко расставаться с этой функцией - тем более, что я уже некоторое время работал на ней. Но остается еще слишком много работ, например искусственный интеллект. И, наверное, понадобится 2-3 часа, чтобы заставить их работать, а их у меня нет.
Инвентарь: упростить! Забудьте о дополнительном инвентаре, и возможности смены оружия по желанию. Все, что подобрано и не стало текущим оснащением, будет сразу пересчитано в деньги.
Ловушки: упростить! Я хотел бы иметь множество ловушек с интересными и разнообразными последствиями их активации. Не судьба. Ловушки будет иметь простой визуальный эффект, наносить урон и временно увеличивать вероятность нарваться на случайного монстра
Луки (стрелковое оружие): Вырезано! В игре будет только оружие ближнего боя, на расстоянии можно атаковать заклинаниями.
Сохранение / загрузка игры: упростить! Сохранить можно только персонажа, а не состояние мира. (ПРАВКА: Я и этого не сделал!)
Система частиц: Отложить! Создание системы частиц перемещено в самый низ списка приоритетов. Я сомневаюсь, что придется их делать. Хотелось бы сделать впечатляющие визуальные эффекты с помощью частиц для заклинаний... но, скорее всего, этого никогда не будет.
Заклинания: упростить! У меня была серьезная концепция о заклинаниях: их можно было бы найти в виде свитков, и количество более десятка. Это грустно, но будет всего несколько заклинаний: Лечение, Урон, Ослабление, Усиление, и Восстановление. При повышении уровня, можно позволить игроку усилить заклинания за счет увеличения числа магических очков.
Анимация монстров и игроков: Вырезано! Я никудышный художник, чтобы сделать это достаточно быстро.

Принимая решение, что я не буду делать (или то, что отложу на после), не менее важно решить, что нужно сделать в первую очередь.

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

Отлично, с приоритетами разобрались, продолжаем разработку.

Час 26 - Бросим кости

Я работаю над механикой «игральных костей», - механизма, с помощью которого в игру будет внесен элемент случайности. Поскольку у нас нет ограничения реальных костей, мы можем получать случайное число любого желаемого диапазона. Например от 1 до 33, или от 6 до 17. Так что я могу бросить кости, сравнить то, что выпало со своей атакой и защитой врага. Если выпавшее число выше защиты, атака удалась.

Например, предположим, что у меня общее значение атаки 15. Я атакую монстра, у которого 10 защиты. Мои шансы 15 из 25 (25 =15 +10), или 3 из 5. Так игра будет генерировать случайное число между 1 и 25, и если оно выше десяти, я выиграю.

Для вычисления нанесенного урона используется немного другой способ. Я добавил защищающемуся параметр «броня», а атакующему "урон". Я генерирую случайное число от 1 до их суммы, а затем вычитаю броню. Если результат меньше единицы, урон не наносится. В противном случае, он равен полученному результату. Таким образом, если монстр, с уроном равным 10 атакует игрока с 5 очками брони, игра будет генерировать число от 1 до 15, из которого вычтет 5, то, что получится, и есть нанесенный урон.

Это объяснение и описание заняло больше времени, чем его реализация.

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