как узнать на чем сделана игра
Узнать движок игры
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Узнать движок игры
Танки Второй мировой: Т-34 против «Тигра»
Узнать движок браузерной игры
http://ru.demon.koramgame.com/ Добрый день! Можете сказать какой движок используется в этой игре?
Движок для игры
Всем привет,я решил попробовать создать игрушку на подобии GTA,только о спорте.Посоветуйте.
Движок для игры
Посоветуйте игровой движок. Нужно, чтобы он был написан на OpenGL под любім современнім язіком.
Fallout Equestria The game
Добавлено через 7 минут
Только ексешник. После редактирования настроек появляется файл gconfig.cfg c текстом
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Движок для игры
Всем доброго времени суток. Может я написал не в тот раздел, сильно не ругайте. Хотел бы взять.
Не запускается движок игры на C++, OpenGl
Добрый вечер, помогите, пожалуйста. Есть движок игры, написанный на C++ с использованием OpenGL, но.
Посоветуйте графический движок для простой 2д игры
Какой можете посоветовать графический движок для простой 2д игры с простыми задачами(перемещение.
Как писать игры под Android на движок unity?
какие есть хорошие книги или уроки как писать игры на андроид? изучение движка unity и тп. как.
На чём создавать игры: что есть что в мире геймдева
Так много разных инструментов для создания игр, что голова идёт кругом. Разбираемся, что это вообще такое и что выбрать для себя.
Unity, Unreal Engine, Godot, Game Maker Studio, Source, RPG Maker, CryEngine, Creation Engine, C++, C#, JavaScript, Swift, Java, Objective-C, Lua, Python, PyGame, PHP, Scratch, DirectX, PhysX, OpenGL, Havok, Cocos2D…
Большой список, не правда ли? Это только часть технологий, которые используются для создания игр. Если вы очень хотите войти в геймдев, но пока ещё ничего не знаете, сам этот список может вас отпугнуть. Или же по чьему-нибудь совету вы что-то выберете, а потом, освоившись немного, поймёте, что это не совсем то, что вам нужно.
Эта статья — смесь энциклопедии и дорожной карты, которая поможет вам выбрать инструментарий для себя.
Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Что есть что
Движки для разработки игр
Игры создаются с помощью движков — набора инструментов, который позволяет работать с графикой, физикой, скриптами и прочим.
Вот скриншот интерфейса движка Unity:
В левом верхнем углу — игровая сцена, на которую можно добавлять объекты, двигать их, убирать и так далее. Ниже расположено игровое окно — в нём можно увидеть, как будет выглядеть готовая игра. Можно даже нажать на кнопку Play и поиграть.
Дальше можно увидеть иерархию объектов на сцене, файловый менеджер и вкладку Inspector — в ней есть разные настройки для выбранного объекта. Кроме того, можно зайти в настройки проекта и указать желаемые показатели для гравитации, освещения, теней, качества графики и всего прочего.
Application Programming Interface — интерфейс программирования
Вы либо используете готовый движок, либо пишете свой — у обоих вариантов есть плюсы и минусы.
Список современных движков:
Впрочем, вы можете обойтись и без движка, если игра очень маленькая, вроде браузерки или небольшого платформера.
Языки программирования
Дальше идут языки программирования — с их помощью вы будете писать для компьютера условия и команды: если А, сделай Б, а если В, сделай Д. Несмотря на то что движки берут на себя огромную часть работы, программировать придётся много.
Перемещение по меню, переход между локациями, управление персонажем, движение камеры, смена музыки, диалоги, система квестов — всё это и многое другое нужно будет запрограммировать. Не говоря уже об игровом искусственном интеллекте.
Если вы уже выбрали какой-то конкретный движок, то и язык нужно выбирать подходящий. Например, в Unity поддерживаются C# и JavaScript
(его модификация, которая называется UnityScript), а в UE4 — С++.
Список языков:
Фреймворки
Вы можете использовать язык, чтобы написать игру без движка. Например, на JavaScript создаются браузерные игры, на C++ или C# — игры для компьютеров, на Java — для устройств на Android, и так далее.
Для этих языков есть либо библиотеки для работы с графикой, либо целые фреймворки для создания игр. Фреймворк — это каркас, почти готовое приложение. Разработчик просто дописывает для этого каркаса какие-то дополнительные функции, подгоняя его тем самым под свои нужды.
Разработчики игры Celeste решили отказаться от движков в пользу фреймворка XNA от Microsoft для языка C#. В итоге у них получился платформер с очень крутым управлением.
Использование библиотек или фреймворков, наряду с написанием собственного движка, даёт максимальную свободу. Но у вас пропадает возможность пользоваться графическим интерфейсом, а все настройки и параметры приходится писать с помощью кода.
Список фреймворков:
Библиотеки
Библиотеки, в отличие от фреймворков, не дают почти готовое приложение, но предоставляют определённые инструменты. Самый простой пример — библиотека Math (математика), которая есть практически в каждом языке программирования.
Использование Math позволяет вам без проблем возводить числа в степени, находить корни, искать модули, высчитывать синусы, косинусы и так далее. Вы не реализуете всё это самостоятельно, а просто вызываете нужную функцию и передаёте ей параметры.
В геймдеве используют более сложные библиотеки, которые позволяют работать с графикой или физикой. Например, графические библиотеки позволяют растрировать игровые объекты.
То есть разработчик не пишет для видеокарты инструкцию, какие пиксели ей выводить. Вместо этого он добавляет в игру спрайты (изображения)
или 3D-модели, а графическая библиотека сама высчитывает, как это должно выглядеть на мониторе.
Физические библиотеки берут на себя работу (сюрприз!) с физикой: ускорение свободного падения, закон сохранения энергии, импульсы, векторы — самые безобидные примеры.
Аналогичные библиотеки есть и для работы со звуком и другими аспектами игровой разработки.
Список графических библиотек:
Список физических библиотек:
Впрочем, если вы используете какой-нибудь движок, то особо задумываться об этом не нужно.
Что из этого выбрать
Если вы новичок, то стоит начать с движка — это поможет лучше понять, как вообще строится процесс создания игр. Выберите один движок и создайте несколько проектов. При этом постарайтесь понять, что происходит под капотом. Если у вас есть опыт в программировании, всё равно начните с движка — причина та же.
Критерии выбора движка следующие:
Если хотите, почитайте отзывы, но они могут вас запутать. Так, многие не любят Unity, но разработчиков на нём становится всё больше.
Source
Например, на Source сделаны практически все игры от Valve вроде Half-Life и Portal.
Как разобраться в игровых движках
Какие они бывают и как выбрать себе подходящий, если вы только начинаете постигать азы разработки
Некоторые из вас наверняка только начинают интересоваться игростроем, а потому не очень разбираются в том, что такое игровой движок и как его использовать. Поэтому для подготовки к джему я предлагаю вам краткий эскурс в понятие игрового движка и расскажу, какие они бывают и как выбрать себе подходящий.
Прежде всего, игровой движок — это программный комплекс, который упрощает разработку игр, предоставляя вам набор необходимых для разработки инструментов. Из этого следует несколько простых фактов. Во-первых, движок совершенно необязателен, игру можно написать и без него на голом языке программирования. Во-вторых, движок не сделает крутую игру за вас. Но с ним работа пойдёт в десятки раз быстрее, так что я всем очень советую не писать велосипеды, а использовать готовое.
Обобщённо говоря, игровой движок ответственен за организацию и поведение игровых объектов, а также за их отображение на экране. Ваша же задача — выбрать, как они будут выглядеть и как себя вести. Для этого движок предоставит вам возможность создавать и удалять объекты, задавать их параметры, добавлять логику и управлять ресурсами.
На самом деле, не так легко поделить игровые движки на отдельные категории, потому что чаще всего они предоставляют одни и те же возможности, вопрос лишь в количестве этих возможностей. Но я попробую.
Касательно внутреннего устройства игровые движки делятся на:
Если мы говорим о фреймворках, то игра пишется на том же языке, на котором написан фреймворк. Если же мы говорим о полноценном ПО, то программировать в них можно на:
Если говорить о лицензии, то тут тоже есть несколько вариантов:
Возможности, которые может предоставлять или не предоставлять игровой движок (список неокончательный):
Чем больше возможностей предоставляет движок, тем сложнее и дольше им пользоваться из-за огромного количества кнопочек и удлинённого времени компиляции, так что подбирать движок лучше не из соображений «чтобы умел побольше», но «взять достаточно для моих нужд — и не больше».
Ну и последнее разделение, которое относится к движкам лишь косвенно — это их дата создания и популярность. Чем раньше был создан движок и чем популярнее он, тем легче вам будет с ним работать, поскольку создатели движка наверняка уже починили огромное количество багов (да, это тоже важно, в игровых движках могут быть баги и их может быть много), а в сети вы сможете найти очень много обучающих материалов.
Игровой мир состоит из игровых объектов (GameObject). К этой базовой категории можно практически отнести всё, что находится в игре, в том числе игрока, его инвентарь, камеру, землю под ногами, каждый отдельный кустик и даже небо. Не стоит думать, что все объекты обязательно должны быть видимы — всякие триггеры (объекты, вызывающие события при прикосновении), барьеры, источники освещения и даже части интерфейса являются такими же объектами. Все игровые объекты обладают несколькими базовыми свойствами: положение в пространстве (Transform), включены ли они (Active), какой у них родительский объект и есть ли он (Parent).
Игровые объекты так же могут быть дополнены поведением (Behaviour или Component). Поведение — это отдельный код, который привязан к объекту и выполняется при определённых условиях. Условия могут быть самыми разными, а количество поведений, привязанных к объекту, ничем не ограничено. В таком коде вы например можете двигать объект по движению мыши или перекрашивать его цвет. А ещё у каждого поведения могут быть свои отдельные параметры (выраженные в переменных).
Например, мы можем создать для картинки поведение «Персонаж», у которого будут очки здоровья и возможность прыгать. И когда персонаж падает со слишком большой высоты, эти очки здоровья у него отнимать.
Помимо своих собственных поведений в игровом движке есть несколько стандартных типов поведений: форма столкновения (Bounding Box/Sphere/Capsule/…), физическое тело (Rigidbody), отрисовщик (Renderer), камера (Camera), создатель частиц (Particle Manager), аниматор (Animator) и ещё десятки других типов. Всеми этими поведениями вы можете управлять на лету.
Очень важным концептом является событие (Event). Это сигнал, который возникает при соблюдении каких-то условий. Поведения объектов в игре могут порождать эти события и реагировать на них. Например, столкновение — это событие, причём одно из самых частых по использованию. Именно на событиях строится основной игровой процесс, разработчик игры может навешивать действия (Action) одних поведений на события других и так, например, делать кнопки, рычаги, точки сохранений и так далее.
Но это и не единственный способ заставить игру работать, ещё есть раздел Update, в который можно написать код и который будет выполняться постоянно, в каждый игровой тик (tick). Тик — это самая минимальная единица времени, которую игра может обеспечить. Обычно тик составляет 16 миллисекунд, но если у вас плохо с оптимизацией, то он увеличится. Без этой функции не обойтись, и некоторые вещи, например плавное передвижение и проверка столкновений, пишутся именно там. Но чем меньше кода написано в этой секции — тем лучше.
Место, в котором находятся игровые объекты, называется уровень или сцена (Level или Scene). Уровни можно менять в любой момент, а в некоторых движках ещё и совмещать между собой. Ваши игровые объекты будут распределены по уровням, чтобы друг другу не мешать. Например это будут локации и их наполнение. Но определённые универсальные для всех уровней объекты, например главный персонаж или интерфейс, лучше хранить в отдельном месте.
В вашем проекте должна быть отдельная папка, в которой вы будете хранить сохранённые объекты (Prefab). Любой объект в игре вы можете сконструировать всего один раз, а затем сохранить в эту папку для дальнейшего, в том числе многократного, использования. Например, это могут быть деревья или враги. Во время игры вы можете создать любое количество объектов из этой папки, но лучше не переборщить и не использовать тысячи объектов, иначе движок начнёт лагать.
И последнее, про графику. Объекты в игре могут выглядеть самым разным способом. И дело даже не в отдельный настройках, а в самом способе их отображения на экране. Это могут быть 2D-объекты, например различные простейшие геометрические формы (Shape) или картинки (Sprite). А могут и 3D-объекты, которые состоят из 3D-модели (Mesh). Все видимые объекты в игре обязаны иметь материал (Material) — набор параметров, влияющий на отображение объекта. Такими параметрами могут являться текстуры (Texture), цвета (Color) и обычные числа (Float). Некоторые движки дают доступ ограниченный доступ материалу, давая лишь задать текстуру и цвет окрашивания, другие же дают полный доступ. В основе материала лежит шейдер (Shader) — особая программа, которая проводит математические вычисления и проецирует объекты в пространстве на плоский экран камеры.
Сразу предупреждаю, что список далеко не окончательный, в мире буквально каждый день кто-нибудь создаёт новый движок программирования — просто потому что это очень интересное испытание. Здесь же указаны более-менее популярные движки, о которых хорошо отзываются и которые вы можете начать использовать прямо сейчас, а их порядок ни в коей степени не отражает мои мнения о них.
Construct 3 — настоящий ветеран индустрии. Используется для создания 2D-игр и достаточно популярен. У движка больше настроек, с недавних пор есть версия для браузера, очень много примеров и шаблонов. Логика на визуальном интерфейсе. Но большинство возможностей скрыто за крайне дорогой лицензией. Бесплатная версия ограничена.
Stencyl — ещё один движок для создания 2D-игр. Имеет открытый исходный код и и приятный интерфейс. Логика на визуальном интерфейсе. Мало известен, но полностью бесплатен (платно только публикация на ПК).
GDevelop — другой движок для создания 2D-игр, набирающий огромную популярность. Так же имеет открытый исходный код и приятный интерфейс. Логика на визуальном интерфейсе. Полностью бесплатен.
RPG Maker — очень популярный движок для создания пиксельных RPG. Именно для RPG движок и заточен, но он подойдёт и для похожих жанров. Много встроенных ассетов и настроек для персонажей. Есть бесплатный 30-дневный пробник, дальше придётся платить.
Game Maker Studio — очень популярный движок для разработки 2D-игр. Позволяет программировать логику на адаптированном Lua и даёт много возможностей. Есть бесплатный 30-дневный пробник, дальше придётся платить.
Godot — очень многообещающий движок с открытым исходным кодом, который грозится «заменить Unity» в своей распространённости. Godot поддерживает 2D и 3D графику, а так же несколько языков программирования (C++, C# и модификация Python) и имеет свой визуальный скриптинг. Его использование полностью бесплатно.
Ren’Py — самый популярный движок визуальных новелл, на котором написаны тысячи новелл. Использует Python в качестве языка программирования логики. Полностью бесплатен
Monogatari — простой движок визуальных новелл на веб-технологиях. Мало известен, но выглядит интересно, к тому же движок на Javascript легче исправить под свои нужды. Код пишется на том же языке. Полностью бесплатен.
Unity — самый популярный в мире движок для разработки игр. Поддерживает 2D и 3D графику, имеет в себе невиданное количество вспомогательных модулей, огромный магазин ассетов и поддерживает большинство платформ. К сожалению, с ростом популярности движок становится всё сложнее и тяжелее в освоении, но всё равно очень доступен. Программирование на C#. Использование условно-бесплатное, при превышении определённого порога прибыли придётся платить за лицензию.
Что ж, теперь вы знаете, как выбрать движок и какие опции доступны. А теперь дерзайте! Скачивайте, тыкайте, экспериментируйте. На сайтах движков вы можете найти очень много шаблонов и примеров, а на YouTube (особенно английской его версии) можно найти буквально сотни и иногда даже тысячи гайдов по тем или иным сторонам разработки. Ждём ваши работы!
Выбор движка для первой игры
Разбор технологий и платформ — первая статья из цикла о разработке.
Автор: Антон Григорьев. Первую игру написал самостоятельно ещё в школе, а на 4-м курсе устроился на позицию джуниор-разработчика. В Pixonic работает заместителем технического директора и руководит отделом клиентской разработки. Отвечает за запуск новых проектов, обучение и внедрение новых технологий. Говорит на пяти языках, а программирует на десяти.
Когда вместе с vc.ru мы запускали проект «Пора создать свою первую игру», то не ожидали увидеть так много крутых работ в первом конкурсе. После цикла «Геймдизайн» нас завалили концептами с продуманными идеями, геймплеем, метой. С таким уровнем можно смело переходить к прототипированию на движке и тестированию конкретных механик.
За несколько недель мы:
Эта статья — первая из нового цикла «Разработка», где мы будем учиться делать цифровые прототипы, выбирать движок, заполнять пробелы в кодинге с помощью обучающих материалов и не только. В конце снова разыграем крутые призы, а главным станет вышедший недавно бандл PS4 Pro Spider-Man Limited Edition. Поехали.
Разработка игр для смартфонов, ПК и консолей значительно отличается. Хотя бы потому, что у них разные технические характеристики, устройства ввода/вывода и способы распространения продукта. Сразу сделать одну игру на несколько платформ не получится, но об этом мы еще поговорим. А пока рассмотрим особенности каждой из платформ и перейдем к движкам.
Если в планах кроссплатформенная игра, то нужно учитывать все особенности. Но быстро переделать интерфейс или способ ввода на новую платформу в большинстве случаев не получится.
Совет для начинающих:
Сначала поговорим про «взрослые» движки. Они позволяют разрабатывать под несколько платформ сразу, кроме того, у них есть очень много полезных инструментов. Пугаться и начинать с более простых не стоит — список составлен с учетом доступности для новичков, количества обучающих материалов в открытом доступе, наличия хороших вышедших игр на движке и цены.
Один из самых популярных движков на сегодня.
Платформы: мобильные устройства, ПК, Mac, Linux, консоли, Facebook, WebGl, VR и другие.
Unity идеально подходит для разработки под мобильные устройства (но не только). На нём сделаны Angry Birds 2, Hitman Go, Heartstone, Monument Valley, Fallout Shelter, Ori and the Blind Forest, Pillars of Eternity, Firewatch, Inside, Pokémon Go, Super Mario Run, Cuphead, Escape from Tarkov, Life Is Strange: Before the Storm и множество других популярных игр.
В Unity можно спокойно разрабатывать как 2D, так и 3D-проекты. В Asset Store есть много готовых платных и бесплатных решений: модели, текстуры, анимации и полноценные проекты. Например, шутер про зомби. Очень много обучающих материалов как от самих Unity, так и от энтузиастов на YouTube (подробнее расскажем в следующем материале цикла). Плюс множество плагинов для рекламы и внутриигровых покупок.
Язык программирования: C #, по сравнению c С++ у него меньше возможностей выстрелить себе в колено, в частности, это касается работы с памятью. Также поддерживается JavaScript, который на самом деле UnityScript. Если писать код совсем лень или нет навыков, есть плагины, которые позволяют делать игры без написания кода, например, Playmaker. Правда, за него придется выложить 45 долларов.
Кто-то ругает Unity за графику, но на самом деле графику можно сделать красивой на любом движке, просто в Unity она по умолчанию средняя. В последней версии движка появился новый Rendering Pipeline, и с ним вполне можно делать графику на уровне топовых AAA-проектов.
Очень продвинутый движок, сообщество которого в последнее время быстро растет, чему способствует компания-разработчик Epic Games. По Unreal Engine проводятся митапы, стримы, а в этом году прошла первая конференция, посвященная разработке на Unreal.
Платформы: движок в первую очередь для тех, кто хочет делать проекты с крутой графикой на ПК и консолях. Для мобильных устройств тоже подходит, но пока популярных мобильных игр на Unreal Engine немного: Fortnite и PUBG. Ещё на нём сделаны серия Infinity Blade, Batman: Arkham Knight и Life is Strange.
Язык разработки: C++. Кого-то это может отпугнуть, но есть решение — блюпринты. С их помощью теоретически можно разработать игру, не написав ни строчки кода. На практике — это очень полезно для быстрой разработки прототипов. Также есть магазин ассетов Unreal Engine Marketplace, где можно скачать готовые модели, звуки и полноценные проекты.
Злые языки говорят, что Unreal Engine превосходит Unity по графике. На самом деле это просто разные движки. Хотя частицы и пост-эффекты в Unreal Engine по умолчанию всё же красивее.
Стал известным после выхода Crysis — прорывной для своего времени игры. На нём вышло очень много крутых больших игр: первый Far Cry, MechWarrior Online, Sniper: Ghost Warrior 3, Armored Warfare, Homefront: The Revolution, Prey 2017-го года.
Платформы: ПК, консоли и VR. Официальной поддержки мобильных устройств нет, но по слухам разрабатывать можно.
Код движка можно модифицировать, что приносит как радость, так и боль. Я сам работал с CryEngine 2 — много модифицировали движок, исправляли баги, а когда попытались перейти на CryEngine 3 — потратили месяц и в итоге вернулись на предыдущую версию, так и не справившись с некоторыми проблемами.
Язык разработки: C++. Совсем недавно появился Marketplace с ассетами.
Молодой и бесплатный движок с открытым исходным кодом от Amazon на основе CryEngine для разработки игр AAA-класса. Главная особенность — встроенная поддержка сервисов от Amazon, например, AWS и Twitch.
Платформы: Windows, PlayStation 4, Xbox One, iOS, Android, VR (Oculus Rift, HTC Vive).
Серьезных проектов на Lumberyard в разработке пока можно пересчитать по пальцам, а выпущенных проектов нет вообще.
Стоимость движка: бесплатный, но за поддержку сервисов Amazon придётся заплатить.
В последнее время среди разработчиков игр для Web набирают популярность HTML5-движки. В их основе лежит WebGL, WebAudio и JavaScript. Самые популярные движки: Phaser и Turbulenz.
Отлично поддерживается создателями. Полезных фич много: спрайтовая графика, анимации, система частиц, 2D-физика, загрузка ресурсов одной строчкой кода, поддержка нескольких камер. Плюс поддержка мобильных браузеров и система плагинов для расширения функциий движка.
Лучше всего подходит для простеньких браузерных 2D-игр (match-3, hidden object, гонки).
Платформы: ПК, iOS, Android.
Этот движок уже поддерживает 3D-графику с динамическим освещением, физику, обрабатываемую в реальном времени и мультиплеер с присоединением к игре в один клик по ссылке и интеграции с соцсетями. Но игр на Turbulenz пока немного.
Платформы: Web, ПК и PlayStation 4.
Есть и нишевые движки для визуальных новелл, головоломок, RPG старой школы и других 2D-игр. Например, Corona SDK, GameSalad, Cocos2d, Game Maker. В Википедии есть большой список игровых движков, но перечисленных выше должно быть достаточно.
Мы в компании считаем, что для новичков лучше всего подходит Unity. По нему очень много подробных обучающих материалов, простейшую игру можно сделать за день (умелец запилит Flappy Bird за пару часов), легко деплоить на девайсы. Мы сами используем Unity для разработки игр и прототипов, поэтому в следующих материалах цикла «Разработка» будем больше акцентировать внимание именно на этом движке.
В следующей статье рассмотрим источники обучающих материалов для разработки 2D-игр.