2D движок для игр: Обзор самых популярных движков для разработки игр — «Хакер»
Двигатель вашего инди проекта. Краткий обзор доступных игровых движков / Хабр
Как известно создание игр не самое простоё занятие. Чем больше мы узнаем об этом процессе, тем более невозможным кажется то, что это работает.
«Самый полезный найденный мною способ — подумать об игре как о психически больном пациенте. Она полностью потеряла разум, поэтому каждая написанная вами инструкция будет исполнена, как какая-то нелепая чушь.» Том Фрэнсис, создатель Gunpoint.
Размышления о том, как спроектировать и написать свою игру, парализуют разум. Единственный выход, просто сделать это. Нужно начать, прыгнуть в процесс разработки, даже если это очень страшно. Надеюсь приведенная под катом информация поможет сделать ваш первый прыжок удачным.
1. GameMaker Studio 2.
Описание:
- Лицензия и стоимость: 99 долларов за вечную лицензию на разработку десктопных игр, доступен пробный период.
- Идеально подходит для: короткие 2D платформеры и RPG, кроссплатформенные игры.
- Созданные игры: Nidhogg, Undertale, Risk of Rain, Hyper Light Drifter.
GameMaker Studio 2 — это первая вещь, на которую стоит обратить внимание, если вы хотите заняться разработкой игр. Движок позволяет разработчикам работать с помощью собственного языка сценариев.
Плюсы
Марк Эссен, создатель Nidhogg 1 и 2, сказал, что GameMaker отлично подходит начинающим, потому что имеет открытые сценарии и огромное количество документации, что позволяет новичкам быстро освоиться. Алекс Престон, создатель Hyper Light Drifter, сказал, что большое сообщество GameMaker — это огромное преимущество. Молодые разработчики должны искать лучшее места, где можно получить помощь сообщества, и использовать лучшие приемы для достижения целей.
Минусы
GameMaker очень прост в своем коде, поэтому вы можете быстро запутаться в проекте. На начальных этапах можно очень быстро выполнять итерации и сосредоточиться на дизайне игры, но, если не придерживаться каких-то личных организационных стандартов, вы увидите плохую сторону создания игр в GameMaker. Дункан Драммонд, создатель по истине превосходного проекта Risk of Rain, отметил, что простота платформы может обернуться проблемами для разработчиков. Вы с легкостью можете разработать игру, но если делаете это неправильно, то очень быстро потеряете производительность.
GameMaker не лучший выбор, если вы хотите в будущем перейти на другой движок, такой как Unity.
Советы начинающим
Лучший способ учиться — удалять свою работу и начинать все сначала. Так вы сможете прокачать свои дизайнерские навыки. Чтобы научиться разрабатывать игры, нужно просто начать. Работайте, даже если получается плохо, старайтесь получить как можно больше помощи. Помните, чем больше ошибок вы совершаете, тем большему учитесь.
2. Unity
Описание:
- Лицензия и стоимость: начальная версия бесплатна, Unity Plus — 35 долларов в месяц, Unity Pro — 125 долларов в месяц.
- Идеально подходит для: почти любая инди-игра.
- Созданные игры: Ori and the Blind Forest, Cuphead, West of Loathing, Galak-Z, Pokemon Go.
Unity является одной из основных платформ для разработки инди-игр. Хотя она обладает удивительными 3D возможностями, на движке также создаются 2D игры. Unity сложнее освоить, чем другие движки в этом посте, но огромное сообщество и документация помогут вам быстро освоиться.
В магазине Unity есть множество дополнений, которые сделают разработку 2D игр на этом движке еще удобнее. Вы можете использовать такие инструменты, как Corgi Engine и Rex Engine, предлагающие готовые физики и управления.
Плюсы
Даже если вы привыкли делать иры старомодным способом, Unity сможет заинтересовать вас. С его помощью можно быстро создать концепцию и прототип игры. В индустрии разработки игр используется много как простых, так и сложных движков. Unity, безусловно, является одним из лучших движков и позволяет достигнуть высокой производительности разработки. Его можно использовать как для создания маленьких игр, так и в ААА проекте.
Минусы
Даже этот движок имеет свои минусы. Если вы сталкиваетесь с каким-то багом, то полностью зависите от разработчика движка. Ведь вам придется ждать, пока разработчик исправит проблему, ведь проект имеет закрытый исходный код. Редактор и отладчик далеко не всегда стабильны, хотя разработчики публично заявляли, что исправление таких ошибок — первая строчка в их приоритетах.
Советы начинающим
Не всегда все зависит лишь от умения делать что-то. Важно поставить правильную цель и найти способ ее достигнуть. Даже если у вас не хватает знаний, чтобы сейчас создать игру на Unity, просто поставьте себе цель.
3. Ren’Py
Описание:
- Лицензия и стоимость: бесплатно.
- Идеально подходит для: визуальные 2D романы, симуляции.
- Совместимо с: Python.
- Созданные игры: Analogue: A Hate Story, Long Live the Queen.
Ren’Py — простой для изучения движок с открытым кодом. Хотя он требует некоторого знания программирования, в действительности вам нужно знать, как пользоваться текстовым редактором и программой для обработки изображений. Работа с этим движком будет очень полезна для новичков языка Python.
Плюсы
Ren’Py — это кроссплатформенный движок, который открывает большие возможности для разработчиков. Он удобен для новичков, но требует некоторых навыков редактирования файлов сценариев. Да, вы не сможете просто перетаскивать мышью нужные вам вещи, но писать код — это не страшно. Этот движок позволяет решить главную проблему начинающего разработчика — страх начать. Быстрая и удобная разработка поможет вам создать вашу первую игру. Даже если в будущем вы хотите написать что-то отличное от романа, Ren’Py даст вам полезный опыт. Когда в игру, созданную вами, играют другие люди, меняется отношение к себе и своим способностям.
Минусы
Движок несколько ограничен в поддержке графических и механических функций. Очень проблематично создать игру с 3D или Live2D, вы столкнетесь с огромным количеством проблем, поэтому если именно это ваше цель, выберите другую платформу.
4. Ink
Описание:
- Лицензия и стоимость: бесплатно.
- Идеально подходит для: текстовые приключенческие игры.
- Совместимо с: Unity, C#, HTML.
- Созданные игры: Sorcery, 80 days.
Ink — это бесплатно распространяемое дополнение для Unity. Оно подойдет для создания разветвленных диалогов, рассказов. Ink легок в освоении, и без проблем интегрируется с Unity.
Ink был создан, как дополнительное программное обеспечение. То есть вы создаете игру в Unity, а затем подключаете сценарий и диалоги, сделанные с помощью Ink.
Плисы
Написать подробный сценарий и систему разветвленных диалогов очень сложно. Ink помогает не запутаться и серьезно упрощает жизнь разработчику. Ink будет интересен тем, кто больше интересуется написанием историй для игр, чем чистым программированием.
Минусы
Использовать ink как самостоятельный полноценный движок очень сложно, поэтому большинство разработчиков расценивают его, как дополнение к своему проекту.
Создаём игры с минимальными знаниями. Краткий обзор 10 движков и конструкторов
Что нужно для того, чтобы начать создавать хорошую видеоигру с нуля? На самом деле, время! Сегодня у нас есть все необходимые инструменты. Давайте рассмотрим 10 бесплатных и платных инструментов, которые помогут в игростроении.
Возможно, у вас есть отличная идея или достаточно времени, чтобы попробовать свои силы в реализации первого проекта. Не стоит бояться, нужно действовать! Не все движки требуют знаний программирования, многие из них очень дружественны. Но если вы новичок, сразу задумайтесь о реализации своей идеи на чём-то простом.
И да, стоит смириться, что для знакомства с руководствами и уроками в большинстве случаев нужен английский язык.
Amazon Lumberyard
Средний продвинутый уровень / Бесплатный / Для всех типов видеоигр
Бесплатный, мощный и настраиваемый инструмент для создания видеоигр от гиганта Amazon. Своей силе и кросс-платформерности он обязан архитектуре движка CryEngine. Лучше всего то, что он показывает глубину без ущерба для ясности. В сети есть много ресурсов, которые помогут начать создавать свою игру, даже если это не самый простой инструмент в нашем перечне.
С чего начать?
Construct 3
Начальный уровень / Платный / Только 2D-игры
Обращая внимание на платность Construct 3, стоит учитывать, что движок очень простой и для его использования не нужен производительный PC. Работать можно даже из браузера. Несмотря на это, создатели утверждают, что движок достаточно мощный, чтобы справляться с любыми 2D-играми, на которых он специализируется. Construct 3 не требует каких-либо знаний в области программирования и его можно рекомендовать широкой аудитории.
С чего начать?
GDevelop
Начальный уровень / Бесплатный / Для всех типов видеоигр
GDevelop предназначен для разработчиков любых игр: быстрых, мультиплатформенных, но, в первую очередь, простых для понимания. Вы сможете создавать всевозможные проекты (платформы, головоломки, стратегии, ретро), не зная определённого языка программирования. Готовые продукты запустятся на PC, мобильных устройствах и в браузере.
С чего начать?
GameGuru
Начальный уровень / Платный / Только 3D-игры
Если вы хотите сделать игру от первого лица в жанре шутера или хоррора, то предлагаем рассмотреть движок GameGuru. Это довольно простой инструмент, но он поддерживает мультиплеер и позволяет создавать разнообразные карты. Результат вряд ли поразит, но здесь вам не нужно знать программирование.
С чего начать?
GameMaker Studio 2
Начальный уровень / Платный / Только 2D-игры
Это один из самых удивительных 2D-движков, который позволяет выпускать высококачественные видеоигры без особых знаний. Он концептуально прост и может стать настолько глубоким, насколько вы этого хотите. Без сомнения, это один из лучших способов начать творить и пробовать создавать игры. 30 бесплатных дней пользования позволят понять, насколько он вам подходит. Авторы GameMaker не только создали доступный инструмент, но и ряд учебных пособий, которые позволят начать возиться с максимальным комфортом.
С чего начать?
GameSalad
Начальный уровень / Платный / Только 2D-игры
GameSalad – эталон для обучения созданию видеоигр в школах и институтах. Его визуальная среда основана на перетаскивании мышью, всё интуитивно понятно и не требует знаний в области программирования. Тем не менее профессиональные разработчики используют его для создания прототипов игр. Несколько игр на GameSalad входят в топ-100 Apple Store, поэтому на нём делают мобильные продукты.
С чего начать?
Godot
Средний уровень / Бесплатный / Для всех типов видеоигр
Идеальный движок для разработки собственных видеоигр как в 2D, так и в 3D. И не только потому, что он бесплатный, но и из-за наличия множества внутренних инструментов, с интегрированной средой, которая позволяет создавать игры с нуля, не используя другие инструменты. Godot позволяет делать видеоигры для PC, мобильных устройств и веб-приложений с очень достойными визуальными результатами благодаря мощному движку рендеринга.
Движок бесплатный, без подписки, с открытым исходным кодом и без роялти. Однако многие профессионалы говорят о его «зелёности». Godot всего 6 лет, но его сообщество и возможности постоянно растут.
С чего начать?
RPG Maker
Начальный уровень / Платный / Для ролевых игр
Классика, которая была на рынке уже более 25 лет назад. На RPG Maker создавались сотни коммерческих видеоигр, и многие есть в Steam. Последняя версия, известная как RPG Maker MV, поддерживает высокое разрешение и разработку для PC и мобильных устройств. Этот движок также не требует знаний в области программирования. Игры создаются в дружественных для новичков меню из огромного количества ассетов (объектов).
С чего начать?
Unity
Средний уровень / Бесплатный / Для всех типов видеоигр
Один из самых мощных и универсальных инструментов, который создан в 2005 году, и с тех пор приобрел огромную популярность благодаря своей эффективности при разработке игр для нескольких платформ. Unity очень популярен среди независимых тружеников из-за свободы выбора при разработке. Здесь нам предоставляется подходящая рабочая среда для 2D и 3D-игр. Постичь премудрости Unity быстро не получится, но из-за его распространённости в сети много информации.
С чего начать?
- Из-за пандемии коронавируса создатели движка предлагают до 20 июня 2020 года бесплатный доступ к премиальной обучающей платформе Unity Learn Premium с курсами, пошаговыми проектами и пособиями. Хороший способ начать с нуля.
- Чего можно достичь: Thomas Was Alone, Cuphead, Inside, Ori and the Blind Forest, Hearthstone.
- Ролики на официальном YouTube-канале Unity.
Unreal Engine
Средний продвинутый уровень / Бесплатный / Для всех типов видеоигр
Если вы хотите что-то серьёзное, чтобы получить лучший результат, то ваш выбор – Unreal Engine. Это сверхпопулярный движок среди разработчиков видеоигр, на котором создаются в том числе дорогие и успешные блокбастеры от именитых студий мира. Но прежде, чем бросаться изучать Unreal, подумайте, возможно, вашему первому проекту не нужен такой мощный инструмент.
Очевидно, что для достижения наилучшего результата потребуются обширные знания в области программирования. Однако в сети есть множество учебных пособий, которые помогут сразу начать работать. Необходимо лишь время. Много.
С чего начать?
Знаете какой-то отличный не включённый в список инструмент? Или вы профессионал и хотите что-то порекомендовать? Добро пожаловать в комментарии! С удовольствием выслушаем ваши предложения.
5 бесплатных open source движков для игр на JavaScript | GeekBrains
Выбираем простые в изучении, Facebook-совместимые и свободные движки для создания игр на JS и HTML5.
https://d2xzmw6cctk25h.cloudfront.net/post/1709/og_cover_image/d1d61d467f731daa8c6c57f9b9caf10c
Если вы только начали программировать и хотите написать мобильную и/или кроссплатформенную игру, беритесь за JS. Связка HTML+JavaScript работает везде. С фреймворками типа Electron на ней даже можно строить десктопные приложения.
Взгляните на 5 движков, с которым работа над игрой — в радость. Все они на момент написания статьи бесплатны и имеют открытый исходный код (open source). А еще — позволяют делать игры для Facebook. У каждого движка есть песочница, чтобы писать и тестировать код онлайн!
Для веб-разработчика создание HTML5-игры — повод ближе узнать Canvas и WebGL, поработать с 2D- и 3D-графикой в браузере. Это еще и урок оптимизации, ведь интерактивные красивости должны съедать как можно меньше памяти.
Эту библиотеку используют в качестве игрового движка, но на самом деле у нее более широкое применение. Она упрощает вывод интерактивной 2D-графики и анимации в любых приложениях на базе HTML5. Поэтому рекомендую веб-разработчикам присмотреться к Pixi.
Для рендеринга PixiJS может использовать как WebGL, так и стандартный Canvas. Но первый работает заметно быстрее, особенно когда нужно одновременно анимировать сотни и даже тысячи объектов. Скорость достигается за счет того, что WebGL — инструмент низкоуровневый. А значит без дополнительных фреймворков кодить для него трудоемко: нужно прописывать каждую мелочь в управлении текстурами и шейдерами. И здесь на сцену выходит PixiJS, который берет это на себя.
Тест производительности — разработчики назвали его Bunnymark. Вы можете сотнями добавлять на сцену шустрых разноцветных кроликов и следить, как меняется кадровая частота (FPS) — то есть как быстро идет рендеринг. На слабеньком нетбуке я получила частоту 29–30 кадров в секунду даже при безостановочном насыпании 25 000 кроликов на сцену. При этом анимация уже добавленных прыгунов быстро восстанавливалась до скорости 30 кадров секунду даже при наличии 75 000 мелких кролей на экране. На хорошей машине можно получить FPS на уровне 40–60+. Показатели зависят от видеокарты и браузера.
Песочница — интерактивная библиотека, где можно поиграть с заготовками кода. На сайте движка вы найдете более 60 готовых примеров работы с видео, текстом, графическими эффектами, текстурами, спрайтовой и скелетной анимацией. Скачать заготовку можно в один клик. Код подробно откомментирован — все понятно, даже если вы учите JS со вчерашнего дня. Если официальных примеров мало, загляните в папку examples GitHub-репозитория, куда участники сообщества добавляют собственные наработки. При желании можете пополнить ее своим вкладом.
Доступность. В PixiJS есть функции, которые помогают адаптировать игру для людей с нарушениями зрения. Основа доступности — озвучивание экрана и поддержка клавиатурного управления наряду с «мышиным» и тактильным.
Взгляните на эту демку. Вы можете зажигать лампочки кликом мышки по нужной дощечке (вариант для зрячих) или же выбирать дощечки клавишей Tab, а лампочки включать нажатием Enter (вариант для незрячих и слабовидящих).
Исходники на Github.
Сообщество: живое и общительное — обитает в основном на форуме HTML5GameDevs, куда можно обращаться с вопросами.
Плюсы: Стабильно быстрый 2D-рендеринг даже на слабых машинах (при условии, что браузер поддерживает WebGL). Низкоуровневость — ниже только чистый JS, так что работа движка очень прозрачна. Кроссплатформенность, поддержка тачскрина. Удобная песочница, подробная документация на английском языке, понятный вводный курс для новичка. Движок хорош для создания небольших казуальных 2D-игр для мобильных устройств и ПК.
Минусы: в сравнении с движками, заточенными именно под игры, предлагает меньше инструментов «из коробки». Мало руководств на русском языке.
Игровой движок для настольной и мобильной разработки на JS и TypeScript. Работает на основе PixiJS — использует его для визуализации сцен. Следовательно, опирается на тот же шустрый WebGL с возможностью отката на Canvas в устаревших браузерах.
Сейчас параллельно существуют две версии движка: Phaser 2 и Phaser 3. «Трешка» увидела свет 13 февраля 2018 года. По заявлению разработчиков, они полностью переписали движок, чтобы придать ему модульную структуру и сделать data-ориентированным. Знакомство с новой версией пока осложняется нехваткой документации и действующих примеров. Но работа в этом направлении идет полным ходом: уже есть базовое руководство, урок «Делаем первую игру на Phaser 3» и экспериментальная лаборатория примеров. Примеры пока с дисклеймером «Извините, может не работать». Поэтому когда люди сегодня говорят о Phaser, они обычно имеют в виду Phaser 2.
Песочница отличается фантастическим числом интерактивных примеров и заготовок — на момент написания статьи их 685! Это гораздо больше, чем у PixiJS и большинства других движков. Код можно быстро скачать в виде .zip- или .tar.gz-файлов или клонировать в GitHub. Также доступны такие фишки, как мобильный предпросмотр сцены и сменные темы оформления для редактора кода.
Игровая витрина с проектами пользователей — быстрый способ оценить возможности движка и вдохновиться на что-то свое. Можно отдельно вывести игры с пометкой STAFF PICK («Выбор команды [Phaser]»).
Исходники: на GitHub.
Сообщество: большое и активное. Для общения есть каналы в Slack и Discord, а также ветки по Phaser 2 и 3 на форуме HTML5GameDevs. Новости можно узнавать в Twitter и из еженедельной рассылки. На русском языке уроков и статей хоть и не море, но больше, чем о PixiJS. Например, на хабре есть любопытные статьи «Разработка браузерной онлайн-игры» и «Обучающая игра за неделю, или попытка таймкиллера по английскому».
Плюсы: перспективный движок, оптимизированный под мобильные платформы. Очень прост в освоении благодаря пошаговым инструкциям для новичка. Тонны примеров, постоянно выходят новые уроки и руководства.
Минусы: последняя версия — Phaser 3 — еще сырая. Плагины и утилиты к движку стоят в среднем 20$ и поддерживают только Phaser 2. У второй версии движка есть неочевидные настройки, которые трудно изменить — например, скорость движения объектов автоматически подстраивается под FPS (см. статью «История участия в Game Jam» на хабре).
Вебинар GB: «Создание игр на JavaScript с помощью Phaser».
Для разработки браузерных 3D-игр этот фреймворк так же значим, как Pixi — для 2D. Работа с мешами, освещением, материалами, физикой, позиционным звуком — вот это все — продумано, задокументировано, снабжено интерактивными примерами. С Babylon можно делать игры для Android, iOS и десктопных браузеров. Наряду с JS поддерживается TypeScript.
Движок дружелюбен к новичкам, но без сюсюканья: вас не заманивают красивыми картинками. Первое, что радует глаз в разделе документации — интерактивный Get Started, который меняется в зависимости от выбора языка (JS/TS). Вы можете сходу оценить список возможностей и доступных расширений, поиграть с примерами, посмотреть видеоуроки — например, вводное занятие для начинающих (на английском с французским акцентом).
Для первого знакомства отлично подойдет пошаговый текстовый курс Babylon 101. Но это не для тех, кто хочет «мегаигру за 30 минут». Нужно быть готовым читать, вникать, экспериментировать.
У Babylon есть свой онлайн-редактор 3D-сцен, который подробно описан в разделе Resources (тег Editor). Там же вы узнаете, как подружить Babylon.js с Unity, Blender, Ionic Angular и ReactJS.
Песочница: у движка очень удобный редактор кода (Playground) с мгновенным предпросмотром и прослушиванием (если речь о звуке, в том числе позиционном). Здесь можно писать с нуля или редактировать код примеров и заготовок. Еще одна фишка песочницы — компонент Inspector для быстрой отладки кода.Также есть Sandbox — онлайн-просмотрщик 3D-сцен и моделей, куда можно перетаскивать файлы с жесткого диска.
Игровая витрина на главной странице движка содержит более 100 красочных сцен, игр и демонстраций.
Исходники: на GitHub.
Сообщество: активное — новые сообщения на форуме появляются каждый час. В Рунете по движку много уроков, статей и переводов. Пример с хабра: «Создание шейдеров на основе Babylon.js и WebGL: теория и примеры».
Плюсы: мощный, бурно развивающийся движок со множеством онлайн-инструментов, готовых рецептов и ресурсов. Среди расширений — 60 заготовок для создания эффектов (огня, травы, частиц, меха и других), генерации ландшафта, работы с GUI и прочего. Команда регулярно фиксит баги, найденные сообществом.
Минусы: требует времени на изучение, бывают ошибки при импорте 3D-моделей из Blender и Autodesk 3ds Max.
Если вы хотите делать игры для Facebook, знайте, что Egret — в числе официально рекомендованных для этого движков. Китайский фреймворк позволяет создавать кроссплатформенные 2D-игры, которые адаптируются под размер экрана.
Лично мне нравится, что документация, инструкции по установке, примеры и справка по API доступны с одной страницы. Все это, включая комментарии в коде, добросовестно переведено на английский. НО! Языковой ступор настигает при запуске среды Egret Launcher — интерфейс на китайском. Спасают англоязычные руководства.
Параллельно с развитием 2D-движка готовится к релизу Egret Engine 3D. Пока оценить работу с трехмерной графикой можно только по приглашениям в режиме закрытого бета-теста. Из громких обещаний 3D-версии — плагин, конвертирующий заготовки из Unity 4 и 5 в сцены HTML5.
Песочница: простая и удобная — с ~50 примерами, предпросмотром на экране смартфона, возможностью быстро скачать свой код или сбросить изменения. Каждый пример также доступен по QR-коду.
Игровая витрина: около 20 разношерстных проектов, которые открываются по клику или QR, плюс еще десятка красочных мобильных игр — только по QR. Все на китайском, но казуалки интуитивно понятны (например, «Веселая Кухня»), чего не скажешь о карточной игре, комиксе-слайдере и сюрреалистическом непонятно-чем.
Исходники: на GitHub.
Сообщество: По сведениям разработчиков, 75% китайских игроделов, работающих с HTML5, используют Egret. Среда выполнения Egret-приложений за время существования движка была установлена более чем на 500 миллионах мобильных устройств. В Twitter и Facebook новости движка появляются минимум пару раз в месяц. На GitHub можно наблюдать жаркие дискуссии участников проекта — на китайском.
Плюсы: регулярные обновления, совместимость с инструментами Egret (визуальным редактором кода Egret Wing, анимационной платформой DragonBones, менеджером игровых ресурсов ResDepot и другими). Есть архив старых версий движка с описанием изменений на английском.
Минусы: интерфейс лаунчера и игр-примеров — на китайском. Лаунчер для Windows работает только с 64-битными системами. Заготовки в песочнице — очень простенькие, пока нет поддержки 3D. Документация или подробное описание на русском отсутствуют — единственная статья вышла на хабре в 2015 году.
Еще один перспективный китайский движок с амбициозной задумкой. Позволяет создавать 2D-, 3D-, AR- и VR-игры для Android, iOS, ПК и даже консолей! Да, приложения виртуальной реальности на JS — это неплохо придумано. Кстати, для этого движка можно еще писать на TypeScript и ActionScript.
Фишка в том, что вы пишете код один раз и можете получить результат в виде HTML5, Flash или мобильного приложения. Движок умеет работать с векторной графикой, растровыми шрифтами, скелетной анимацией, частицами, физикой. Еще он совместим с упомянутой выше системой анимации DragonBones. Есть свои средства работы со звуком — на основе OpenAL и HTML5 Audio.
LayaAir использует свой формат 3D-моделей (.lm). На сайте разработчика есть плагин для конвертации игровых объектов Unity3D в .lm-файлы. Об устройстве и настройке 3D-сцены в LayaAir читайте здесь, а о переносе сцен из Unity — тут.
У LayaAir своя IDE со встроенными редакторами кода, UI, сцен, покадровой анимации, частиц. Также в LayaAirIDE есть средства для упаковки игры во Flash или нативное приложение. Минус в том, что часть пунктов интерфейса в среде разработки не переведена. Контекстные меню, некоторые подсказки и названия закладок автоматически переводятся на русский или другой основной язык вашей системы. Сообщения и предупреждения в отладочной консоли — на английском. В итоге получаем такую картинку:
Если вы изначально пишете для мобильных устройств, скачайте набор LayaNative SDK, где есть средства тестирования и пересборки HTML5 для запуска на планшетах и смартфонах.
Есть документация и справка по API на английском. От сайта впечатления неоднозначные — многое переведено, но не сразу находится. Совет: если перевода нет на сайте, ищите его на GitHub — и наоборот. Критически важные разделы, в том числе страница загрузки движка — переведены полностью.
Песочница — более сотни примеров (в основном простеньких). Можно редактировать код «на лету». Интерфейс большей частью переведен на английский, а вот комментарии в коде остались на китайском.
Игровая витрина — в Википедии пишут, что на движке сделана минимум сотня игр. На сайте представлено около 30 мобильных игр в 2D и 3D. К сожалению (для меня), все они на китайском языке и доступны после регистрации в игровой секции одного очень популярного китайского портала. Но есть и хорошие новости. Для оценки производительности в вашем браузере — смотрите демо в 2D, 3D и VR. Также можно заценить простенький шмап.
Сообщество: китайские товарищи общаются на форуме, который работает по принципу «Вопрос–ответ» и более-менее переводится Гугляндексом.
Исходники: на GitHub. Обратите внимание, что свободен только движок LayaAir, а весь фреймворк LayaBox с тонной дополнительных инструментов и примочек имеет лицензию Freeware.
Плюсы: поддержка 3D, виртуальной и дополненной реальности. Возможность создавать нативные приложения. Совместимость с Unity. Набор бесплатных дополнительных инструментов. Движок активно развивается.
Минусы: IDE на китайском (но есть англоязычная справка по настройке), сайт переведен частично и сыроват. Иногда посреди английского мануала тебя направляют в китайскую секцию сайта, хотя есть переведенная. Раздел Developers Community на момент написания статьи не работал. Материалов для новичков маловато: платные онлайн-курсы на китайском не в счет. На русском пока вообще ничего нет.
Что еще почитать/посмотреть о создании игр на JS
Вебинар «Разработка 2D-realtime игры на JavaScript» — работа на чистом JS — без фреймворков.
Вебинар «Пишем HTML5-арканоид на чистом JavaScript и Canvas» — создание игры с нуля за 2 часа.
Статья «6 интересных багов, с которыми я столкнулся, пока делал игру для „ВКонтакте”» — что бывает, когда отказался от PixiJS для рендеринга.
Вебинар «Основы работы с Immutable.js» — как JS-библиотека для работы с иммутабельными данными помогает делать игры.
Вебинар «Разработка без бюджета: что нужно знать, чтобы не потратить год жизни впустую».
Статья «Создаем игру для самых маленьких на Phaser в Intel XDK» — подробно описывает первые шаги в работе с движком, дает советы, где брать ресурсы.
Статья «Трехмерная графика в вебе» — о WebGL и библиотеках для работы с ним.
Вебинар «Как придумать популярную игру?» — не только на JS.
Статья «Многопользовательский онлайн-шутер на WebGL и asyncio» — клиентская часть на BabylonJS, серверная — на Python.
Quad-engine. Свой 2D-движок. Когда приперло со всех сторон / Хабр
Предисловие.
Было начало 2010 года, когда я расстроился при просмотре очередного фреймворка с поддержкой Delphi. В тот момент я искал замену уже сильно устаревшему и заброшенному PowerDraw. Как говорится, тоже самое, только с перламутровыми пуговицами. Пересмотрев всё, что было из 2Д, я так и не нашел искомого. То не было шейдеров, то черезчур нагроможденный с точки зрения кода, то вообще какой-то убогий. А душа просила простоты использования и шейдеров.
Поэтому я сел, и начал изобретать свой велосипед. Первое собранное приложение выглядело, конечно, не сильно впечатляюще:
Под катом прилично картинок.
В Марте был забронирован домен quad-engine.com, было нарисовано лого моим хорошим знакомым Weilard’ом и началась работа. На тот момент «движок» писался под игру типа собери-три, и одним из условий было обязательное наличие красивого бамп-меппинга с цветным спекуляром. В первых интерпретациях попытка сделать его была предпринята через мультитекстурирование, но результат оставлял желать лучшего. Так я лишний раз удостоверился что мне нужен мощный 2Д фреймворк с поддержкой шейдеров.
Как только с текстурированием, загрузкой и отрисовкой было покончено, сразу же все силы были брошены на прикручивание шейдеров (и пробы деллались с бамп-меппингом и спекуляром):
По завершению реализации шейдеров (пока еще не в том виде, что сейчас), сразу стало понятно, что без поддержки вывода текста движком это будет назвать ну вообще никак невозможно. Поэтому я написал утилиту для генерации текустур и служебной информации из шрифтов. А с полученным результатом уже и поддержку вывода текста в движке.
Кстати, вот она эта утилита:
Со шрифтами вышла история долгая, так как качество буковок, рендерящееся через DrawText на канву меня разочаровало быстро. В связи с этим было решено отказаться от такого подхода и рисовать каждую буковку самостоятельно, сглаживая грани так, как хотелось бы мне. Поэтому тут пришлось углубиться в получение векторного представления буковок от системы и растеризовать самостоятельно, получая в итоге карту символов:
В реальном приложении выглядело на тот момент это так:
С игрой три-в-ряд довольно быстро всё не сложилось и решили от проекта отказаться, но «движок» потихоньку рос и обзаводился новым функционалом. Мыслей было больше чем реализованных фич, а ядро пришлось пару раз серьезно переписать.
Шейдеры
Под то, чтобы сделать их использование удобным и достаточно гибким ушло времени много, а еще больше ушло на то, чтобы разбираться и «играться» с шейдерами, писать свои. Например реализация вот такого эффекта была ограничена только умением писать шейдеры и фантазией. Обращу внимание, что это всё 2Д, как я и говорил. Однако, шейдеры, делают всё объемным, хотя в кадре только 2 треугольника:
Шаг 1: Рисуем диффузную текстуру:
Шаг 2: Рисуем тени на диффузной текстуре:
Шаг 3: Рисуем в рендертаргет карту высот, соотвествующую месту:
Шаг 4: Рисуем в другой рендертаргет карту нормалей:
Шаг 5: Накладываем parallax oclussion mapping шейдер:
Шаг 6: Увеличиваем и обрезаем картинку, чтобы избавиться от артефактов на краях:
Симпатично, правда? Но на этом можно не останавливаться и сделать всё еще интереснее (используя при этом всё еще один только шейдер). Добавим еще немного шагов?
Шаг 7: Добавим воду, с корректировкой цвета по глубине (из карты высот):
Шаг 8: Добавим текстурку с облаками и отражения на воде, а воде добавим рябь:
Шаг 9: Сделаем воде отражающую способность пропорциональную глубине:
О шейдерах можно писать долго и много, можно расписать в детялях, с алгоритмами и кодом. Но так, как цель статьи не в этом, а в рассказе истории развития движка, технические детали я опущу.
После реализации пары таких вот красивых эффектов, было решено, что работа с шейдерами уже более чем удобная и можно отложить этот блок до лучших времен.
Псевдовекторные шрифты
Суть псевдовекторных шрифтов в том, что все данные хранятся в текстуре особым образом. А рендер букв происходит с помощью шейдера. Настолько простого, что он практически не замедляет отрисовку сцены. Однако шейдер позволяет делать антиалиасинг, обводку и свечение у букв, а также масштабировать буквы не теряя при этом четкости и не размыливая изображение.
Да, они есть. И о них очень хочется рассказать, но тема настолько большая, что тянет на отдельную статью, как я, пожалуй, и поступлю. Поэтому прошу меня извинить, но этот раздел мы откладываем до следующей статьи.
Крик души
А давайте чтобы избежать непонимания и холиваров, я попрошу просто принять тот факт, что движок писался и продолжает писаться на Delphi. Начинал писаться на Delphi 2007, сейчас поддерживается на XE5. API выбрано DirectX и никакие OpenGL мне не нужны, я с ним работал и знаю что это. На момент начала меня интересовала только платформа Windows.
Так о чем же, собственно речь?
Многие скажут, мол что же, надо брать С++ или C# и писать на нем. Здраво, но цель статьи не холивары, поэтому примем за должное. Движок начал писать для Delphi, позже адаптировав и под другие языки. Именно под Delphi недоставало такого инструмента, коим всё стало сейчас. Просто, удобно и прозрачно. И позвольте называть мои наработки «движком», это слово более русское, нежели фреймворк и мне нравится больше, хотя я и понимаю, что это только фреймворк.
Движок строился на DirectX9 таким образом, чтобы не тащить за собой никаких *d3dx* библиотек. Иными словами — кроме dll самого движка ничего не надо больше. ООП, да, всё определенно хотелось на объектах. Слабые машины, а именно поддержка интегрированного видео. Что ёще? Шейдеры, без них вообще бесполезно было и начинать.
На кроссплатформенность мне откровенно было наплевать, потому что я уверен, что нет ничего лучше, чем хороший инструмент, а сделать хороший, да еще и кроссплатформенный несколько сложнее и требует больше времени, а его у меня нет, разработка идет 4fun, для удовольствия, то есть.
Что мне помогло?
Помогли, совершенно однозначно, игры, которые я или мои друзья писали с использованием quad-engine. Каждый раз выползала какая-то необходимость, которая не была тем или иным образом учтена в движке. На текущий момент на нем пишется один большой игровой проект (разумеется большой в понятиях и рамках инди-разработчиков), и он также помогает развивать мне движок вширь, править ошибки и всячески улучшать.
Когда с шейдерами было покончено встал вопрос куда же развиваться дальше. А дальше развиваться было и остаётся куда. Я решил делать те вещи, на которые обычно закрывают глаза другие разработчики. А именно — мелочи. Мелочи пошли уже немного за грань фреймворка для рисования. Появился функционал создания окна, автоматической обработки потери Direct3D устройства и его восстановления, вместе со всеми потерянными рендертаргетами (этой проблемы уже нет в более старших версиях DirectX). Были добавлены такие вещи, как определение разрешений, аппаратные курсоры. Даже такой маленький нюанс, как убирание рамки вокруг окна, если оконное разрешение совпадает с экранным (так называемый borderless window). Иными словами всё, чтобы было удобно и просто. Все эти удобства как раз и рождались в процессе разработке игр. В частности последний вал обновлений связан с разработкой моей игры долгостроя Blast-off. Но о ней я раскажу в другой раз.
IGDC
IGDC, или если писать полностью Independent Games Developers Contests помог мне в развитии моего движка. Участники ни раз и ни два использовали разные версии движка для конкурсных работ, писали на разных языках, в том числе помогли отточить заголовочные файлы для C#. Многие из этих работ, кстати, доступны для скачивания у меня с сайта с полными исходными кодами и указанием версии библиотеки, которая была использована.
Немного видео
Лучше один раз увидеть, чем сто раз услышать, верно?
Зачем это всё?
Зачем же я написал этот пост? Рассказать как всё было, возможно кому-то окажется полезным моё творение, а кто-то может быть поможет и подскажет что сделать еще. В любом случае я буду рад любым комментариям и готов написать статью на любую заинтересовавшую вас из этого повествования тему. Раскрыть её, так сказать, полнее.
PS: Использовать можно бесплатно и без какого-либо дополнительного соглашения. Писать о том, что используете необязательно, но если в игре\программе будет указано, мне будет приятно. Если же вы используете уже, и разработка не секретная, пришлите мне весточку, я размещу на сайте в разделе showcase вашу работу.
Update: 29.09.2014 было принято решение сделать движок OpenSource. Собственно, репозиторий тут: bitbucket.org/Darthman/quad
лучших движков для 2D-игр: полный список (2020)
Ищете лучший движок для 2D-игр для своего следующего проекта?
Их буквально десятки на рынке. Это может очень быстро стать ошеломляющим.
Поэтому я решил разместить их все 44 в одном месте. Давай сделаем это!
Вы, наверное, уже слышали об этом. На данный момент это самый популярный игровой движок.
50% мобильных игр создаются на Unity. И это важно: это означает, что здесь доступно гораздо больше документации и руководств, чем у других.
Вы получите помощь, если она вам понадобится , будь то на официальных форумах или просто просмотрев одно из многих видео на YouTube, таких как Brackeys или Blackthornprod.
Что касается самого программного обеспечения, вам, скорее всего, потребуется уметь программировать на C # .
Интерфейс Unity
Вы можете получить, используя один из плагинов визуальных сценариев из магазина ресурсов, например PlayMaker. Но я бы порекомендовал поискать более простой движок, если вы не хотите изучать программирование.
Не самое простое, но вполне выполнимое . И вам, вероятно, не придется менять движки для будущих игр, даже если вы выберете 3D.
Сделано с Unity
Цена
Вы можете использовать Unity Personal бесплатно, пока не заработаете 100 тысяч долларов на своем проекте. В вашей игре будет заставка Unity.
После этого вам нужно будет перейти на Unity Plus (~ 25 долларов в месяц при ежегодной предоплате или 35 долларов в месяц) до 200 тысяч долларов и до Unity Pro (125 долларов в месяц) после этого.
Unity поддерживает все платформы, на которых вы, скорее всего, захотите публиковаться. (ПК / Mac / Linux / консоли / мобильные устройства и т. Д.)
Посмотрите цены сами.
Начало работы
Загрузите Unity Hub здесь и установите Unity отсюда. Это может занять некоторое время.
Тогда я бы порекомендовал вам пройти туда и пройти этот крошечный урок 1h55.
После этого поработайте над более длинной серией руководств, подобной этой от Brackeys.
К тому времени, когда вы его закончите, вы должны быть готовы опубликовать свою собственную игру.
Это тот, с которым я лично ездил. Он разработан для быстрого и простого создания 2D-игр.
Вы можете создавать игры с помощью интерфейса drag-n-drop (DnD) или путем программирования на специальном языке, называемом GameMaker Language (GML).
Вы не найдете этот язык e
.
лучших движков для 2D-игр в 2020 году
Разработка видеоигр в 3D — непростая задача. Обычно для этого требуются часы моделирования и анимации, а также сложный код, учитывающий три измерения. Они, как правило, дороже и требуют больше ресурсов для производства.
Сравните это с 2D-играми; простые 2D-игры можно создать за считанные минуты. Код намного проще, а ресурсы двухмерные, что значительно упрощает создание. Есть причина, по которой большинство инди-игр являются 2D-играми, плоские игры, такие как платформеры, вершины или изометрия, просто лучше для небольших или одиночных команд.
Если вы планируете стать частью небольшой команды разработчиков игр, или если вы разработчик-одиночка, выбор 2D-движка — хороший выбор. Некоторые небольшие команды и даже разработчики-одиночки действительно создают 3D-игры (это не невозможно), но с 2D-играми просто проще работать.
Итак, вот список лучших 2D-движков, как бесплатных, так и иных. Список неупорядочен не только потому, что «лучший» относителен, но и потому, что выбор движка обычно является личным для команды или проекта.Поэтому я попытался составить список, охватывающий многие типы разработчиков и авторов, а не просто перечислять все движки.
Лучшие движки для 2D-игр на 2020 год
Godot Engine
Godot с открытым исходным кодом
Godot (произносится как «G’dough») с открытым исходным кодом и полностью бесплатен. Его хвалили за то, что он очень легкий и быстрый, и он способен создавать как 3D-, так и 2D-игры. Он работает немного иначе, чем другие движки, и имеет собственный язык программирования: GDScript.GDScript похож на Python, поэтому его не составит труда изучить для тех, кто имеет опыт работы с Python, или для новичков. Он также позволяет создавать визуальные сценарии с подключаемыми блоками и сценарии на других языках, таких как C ++ и C #. В нем есть несколько целей публикации: Windows, Mac, Linux, HTML5, iOS и Android.
С другой стороны, многие люди описывают эти инструменты как ограничивающие, им трудно добиться той же настройки, что и в других движках. Это также требует некоторого обучения — поскольку движок действительно работает по-другому, особенно если вы начинаете работать с другим движком.
В Godot пока нет бестселлеров, созданных в его среде, но это не мешает ему быть очень многообещающим движком для новых студий.
GameMaker Studio 2
GMS 2 имеет все необходимое
GameMaker Studio 2 — это эволюция оригинального GameMaker, обладающая некоторыми впечатляющими функциями. Во-первых, помимо звука движок может создать игру целиком без необходимости использования других программ. Он имеет прилично надежный встроенный движок для создания спрайтов, систему анимации, редактор уровней, а также функции мозаики и отображения.GMS 2 отличается быстрым запуском и созданием игр, чрезвычайно быстрой настройкой и легким в освоении языком программирования, поэтому ваши идеи можно сразу же воплотить в код. Он также имеет собственный язык визуального программирования, называемый Drag and Drop, что делает его хорошим движком для 2D-игр без программирования.
Однако такая простота запуска обходится дорого. Хотя начать игру легко, а движок гибок, когда дело доходит до кода, беспорядочный код или методы проектирования очень легко вернуться с удвоенной силой позже в проекте.Хорошая организация важна. Наряду с этим, хотя он экспортируется на многие платформы, каждая платформа находится под отдельной платной лицензией. Эти лицензионные сборы могут составлять очень изрядную сумму, если разработчик хочет публиковать на нескольких платформах. Наконец, при кодировании GMS 2 использует собственный язык программирования: GML. Хотя для некоторых это не проблема, вам будет очень сложно перенести проект куда угодно, кроме GameMaker Studio.
Для GameMaker Studio 2 было выпущено несколько довольно известных игр.Hyper Light Drifter, UNDERTALE, Nidhogg и Risk of Rain были созданы с использованием этого движка. Стоимость лицензии для настольных ПК начинается с 99 долларов, но эта цена значительно возрастает, если вы хотите опубликовать на консоли.
Unity
Unity очень популярен
Unity — один из наиболее часто используемых игровых движков всех времен, и многие люди уже знакомы с ним. Движок построен на создании 3D-игр, но Unity хорош и для 2D. У него огромное сообщество, полное полезных руководств, а также у него есть Unity Asset Store, который полон полезных инструментов и ресурсов, помогающих в разработке игр.
Однако Unity требует сложного обучения. Кроме того, он не предназначен для создания 2D-игр. Хотя создание 2D-игр на Unity жизнеспособно, проекты часто перегружены ненужными инструментами или частями движка, предназначенными для 3D, и требуют зависимостей или инструментов, которые не поставляются с редактором. Интерфейс также может быть медленным и раздутым, и в его запутанном интерфейсе может быть сложно найти нужный инструмент или переключить его.
Unity использовалась для создания нескольких хорошо известных 2D-игр, таких как Ori and the Blind Forest, Cuphead и West of Loathing.Unity можно бесплатно загрузить и использовать для проектов с финансированием или доходом менее 100 тысяч долларов. Это делает его доступным для инди-разработчиков, хотя после достижения этого ограничения он переходит на более дорогую модель ценообразования.
Corona
RPG Maker предназначен для ролевых игр.
Corona Engine бесплатен в использовании и использует простой в изучении и использовании язык программирования Lua. Corona предназначена для создания мобильных игр, фактически, когда вы создаете игру, предварительный просмотр игры отображается в эмуляторе телефона.Corona также полезна, потому что она позволяет создавать игры в реальном времени, где изменения, которые вы вносите в игру, сразу видны.
Corona немного голая, в ней нет реального интерфейса, как у других движков, только IDE и превью игры. Все ресурсы должны быть созданы в других программах, а все анимации должны быть спрайт-листами. Это может быть одновременно и устрашающим, и освобождающим, и дополнительной работой. Однако Lua довольно легко изучить, а документация хорошо написана и проста в использовании.
В Corona нет громких игр, но есть несколько успешных приложений, таких как Gunman Taco Truck и Fun Run 2.Хотя Corona можно использовать бесплатно, у нее есть цена, связанная с проприетарной интеграцией, в первую очередь с поставщиками рекламы.
RPG Maker
RPG Maker предназначен для ролевых игр
RPG Maker создан для одной цели — создания 2D-ролевых игр. Он идеально подходит для традиционных ролевых игр, подобных старым играм Final Fantasy, Fire Emblem или Pokemon. Редактор богат и полезен, и в нем есть мощные инструменты для карт, инвентаря, предметов и персонажей. Создатель RPG идеально подходит для создания игр без программирования, так как большая часть игрового дизайна выполняется в редакторе, но создание сценариев для вашей игры возможно и полезно.RPG Maker использует Ruby или JavaScript для скриптов, в зависимости от того, какую версию вы используете. У него также теплое и дружелюбное сообщество, полное полезных руководств и пользовательских ресурсов. Движок может экспортировать на ряд платформ, включая Windows, MacOSX, Android, iOS и HTML 5.
Производитель RPG очень ограничен; он предназначен для одной цели. Если вы когда-нибудь захотите сделать что-то, что не является 2D-ролевой игрой, вам будет лучше найти другой движок, однако, если вы ищете, как сделать 2D-ролевую игру, это сильный выбор.У него также есть некоторая кривая обучения, и если вы фанат программирования, RPG Maker может быть разочаровывающим опытом.
Производитель RPG сделал несколько успешных игр, таких как Yumi Nikki и OneShot, но он больше известен как движок для хобби, чем как профессиональный. Новейшая версия RPG Maker MV продается по фиксированной цене в 79,99 долларов, но она, да еще и дешевле предыдущих версий, часто поступает в продажу.
libGDX
LibGDX — это фреймворк, стимулирующий свободу
LibGDX — это не столько игровой движок, сколько фреймворк; предлагает множество функций, но не имеет реального интерфейса, удобного для новичков.Это освобождает многих людей, обладающих навыками программирования и желающих избавиться от черных ящиков, характерных для обычных игровых движков, но не желающих проделывать всю работу по разработке собственного движка. Он создан для платформы Java, а игры можно писать на Java, Scala или Clojure. Наличие платформы Java означает, что игры, созданные с использованием libGDX, очень портативны и могут работать на нескольких платформах.
Минусы так же очевидны, как и плюсы: если вы новичок в программировании или создании игр, было бы лучше найти более удобный для новичков движок, чем этот базовый фреймворк.Некоторым людям может быть сложно просто настроить среду для libGDX.
Для libGDX нет основных выпусков, хотя он имеет открытый исходный код и бесплатен для использования и публикации.
Ren’py
Ren’py идеально подходит для визуальных новелл
Ren’py — это совершенно другой движок. Он отличается от RPG Maker тем, что разработан вокруг центральной популярной темы. Для Ren’py игра выбора — визуальные романы. Если вы поклонник визуальных романов или симуляторов свиданий, вы, вероятно, играли в игру, созданную на Ren’py.Он имеет , очень простой в освоении , встроенный язык сценариев, с поддержкой Python, если требуется большая сложность. Он бесплатный и с открытым исходным кодом, экспортируется в Windows, Linux, OSX, Android и iOS с поддержкой HTML 5 в стадии разработки.
Ren’py страдает некоторыми из тех же недостатков, что и RPG Maker, хотя он очень хорош в одном деле: если вы пытаетесь выйти за рамки визуальных новелл, было бы лучше попробовать другой движок.
Известен культовой классикой и фанатскими играми. Примечательно, что в Рэнпи был создан литературный клуб Doki Doki.
Есть еще много механизмов, не перечисленных здесь, все с мощными инструментами и конкретными вариантами использования. Найти подходящую для инвестиций может быть сложно, но полезно, а начать карьеру в игровом дизайне так же просто, как загрузить программу и просмотреть несколько руководств.
.