Некоторое время я работал с Corona SDK, и мне нравится, насколько быстро и легко я могу создавать мощные приложения с помощью Lua. Но он может компилироваться только для iOS и Android, чего сейчас кажется слишком мало.
Мой главный интерес состоит в том, чтобы его можно было скомпилировать для настольных компьютеров и мобильных устройств. По крайней мере, для следующего:
- Windows + Mac для настольных ПК как отдельные приложения.
- iOS + Android для мобильных устройств.
Я бы предпочел, чтобы он больше склонялся к сценариям типа Lua, а не к ActionScript, но, пожалуйста, не стесняйтесь публиковать все, с чем вы работали и что любите.
Пока что я нашел следующие двигатели:
- Marmalade Quick - после дальнейшего изучения, Marmalade Quick можно создавать только для мобильных устройств!
- IwGame - работает поверх мармелада и заявляет, что его можно развернуть на настольных компьютерах и мобильных устройствах с помощью Lua. Любая информация приветствуется по этому поводу
- sio2 - говорит: «SIO2 - это кроссплатформенный 2D и 3D игровой движок на основе OpenGLES для iOS, Android, MacOS и Windows» и «Движок также позволяет вам переносить вашу игру в Mac Store и Windows», но их форум. а веб-название - «Игровой движок для мобильных устройств». Не могу найти никакой информации о том, можно ли его развернуть на настольных платформах, любая информация снова приветствуется.
- Ткацкий станок - Loom похож на Haxe + OpenFL (пытается привлечь разработчиков Flash) в том, что он использует AS3-подобный ECMAScript, но не создает из него собственный код. Однако он использует Cocos2D для рендеринга, поэтому теоретически он должен быть таким же быстрым, как Cocos2D. - Спасибо Бояну.
- SDL - я читал во многих местах, что SDL можно развернуть практически на любой платформе или устройстве и имеет привязку Lua. Но я не могу найти, как это работает, потому что это не двигатель. Еще раз очень благодарен всем, кто может объяснить, как это работает, и если это возможно.
- SFML - «Windows, Linux, Mac OS X и скоро Android и iOS.» Не использует Lua, но может использовать другие языки, такие как Java и Python и т. Д. У кого-нибудь есть информация по этому поводу?
- Torgue2D - «Torque 2D был разработан с учетом устройств OS X, Windows и iOS и одинаково хорошо работает на всех платформах». использует TorgueScript и не использует Android = (
- Sencha - похоже, компилируется для всех платформ, также использует Javascript, который я знаю. Но даже с V8 JS будет ли это работать хорошо с точки зрения производительности по сравнению с другими вариантами?
- GameMaker - собственный скриптовый язык GML, и я помню его как инструмент для непрограммистов. Неужели он превратился в настоящий движок, я имею в виду серьезную разработку?
- Construct2 - тот же вопрос, что и создатель игры
- Corona - Lua, но только для мобильных устройств (также только для Android и iOS)
- Cocos2D - Кажется, у него много опций, но вы не уверены в том же языке? Похоже, вам придется переписать весь код. Мы будем очень благодарны за любую информацию, если cocos2D можно развернуть на настольных компьютерах и мобильных устройствах с почти тем же кодом.
- Angel2D - говорит, что его можно развернуть на все, кроме Android, и использует Lua, кто-нибудь когда-нибудь использовал это раньше?
- libgdx --- Я видел в этом только хорошее. Вот эталонный тест для libgdx, где я видел, как он достиг 40 тыс. Спрайтов со скоростью 60 кадров в секунду. http://www.sparkrift.com/2012/1/love2d-vs-allegro-vs-clanlib-vs-libgdx-vs-cocos2d-x-vs-monogame-vs-xna-vs-sfml . Кажется, libgdx едва ли превышает 30 КБ. Но все равно кажется потрясающим. Для меня это на том же уровне, что и Qt, почти идеально, за исключением того, что я не особо беспокоюсь о производительности на нем. libgdx может собирать практически все.
- XNA + MonoGame --- производительность MonoGame лишь немного ниже, чем у libgdx, его можно собрать на большинстве платформ. Однако я мало что знаю о XNA и слышал, что он не будет получать обновления в будущем, но работает ли он достаточно стабильно? Дополнительная информация приветствуется.
- Цитрус --- Не так уж много информации о Цитрусе. Игровой движок AS3, который можно создавать для iOS, Android, Windows, Mac и др.
- Haxe + OpenFL --- OpenFL (Haxe) строится на многих платформах, а не только на Flash. Windows, Mac, Linux и Android получают необязательное собственное развертывание или среду выполнения OpenFL под названием Neko, которая теоретически быстрее, чем Flash, а SDL 2.0 скоро позволит развертывать iOS (иш). - Спасибо Бояну.
- Qt-Project --- Просто свяжите здесь проект Qt, можно собрать все, и у него довольно большое сообщество с множеством сторонних библиотек, которые помогут вам еще больше.
- Moai --- единственный движок Lua, который я знаю, который можно построить для настольных и мобильных устройств. Единственным недостатком является то, что сообщество невелико, а документация не самая лучшая. Но если вы можете пройти их, это отличное решение, и я использую его сейчас.
- Adobe --- Не забудьте добавить сюда Adobe, так как он может быть встроен во все, что поддерживает flash.
- Unity3D --- Недавно анонсированная 2D-интеграция выглядит очень многообещающей, она должна быть выпущена в 3–4 кварталах 2013 года.
- Cocos2d-x --- движок с открытым исходным кодом. Поддерживает JS, Lua, C ++ и несколько платформ.
Html5 --- Кажется, много внимания уделяется мобильным приложениям html5, вот лишь несколько инструментов, которые я нашел, которые могут помочь перенести ваш проект html5 на платформу:
Итак, я был бы рад, если бы вы прокомментировали свой опыт работы с любыми двигателями и предложили, какой из них вы бы порекомендовали. Спасибо за помощь!
РЕДАКТИРОВАТЬ: Поскольку эта тема становится популярной, я буду добавлять другие варианты, которые я нашел со временем. Я предлагаю вам выбрать то, что вам больше всего знакомо и лучше всего подходит для вашего проекта.
источник
Ответы:
Я бы порекомендовал V-Play (v-play.net) - это кроссплатформенный игровой движок, основанный на Qt для iOS, Android, Symbian, MeeGo, Blackberry10, а также может экспортировать в нативные настольные приложения для Windows, Mac и Linux.
Он основан на C ++, но имеет аккуратную поддержку сценариев для QML и JavaScript . QML легко изучить и может повысить вашу продуктивность, поскольку требуется меньше кода - просто посмотрите сравнение с cocos2d-x (на 60% меньше Loc) или Corona (на 15% меньше LoC) для сравнения тех же игр.
(Отказ от ответственности: я один из парней, стоящих за V-Play)
источник
Если вам нравится Python, Kivy - отличное решение в наши дни. Он компилируется для всех запрашиваемых вами платформ:
Kivy использует много оптимизированного кода для рендеринга графики (через Cython), поэтому он тоже работает быстро.
Вот колонка, которая дает вам некоторую предысторию и обзор (для Android).
источник
Как насчет HaxeFlixel ? У нас есть большой выбор демонстраций и, конечно, поддержка кроссплатформенной разработки через Haxe + OpenFL. Это проект с открытым исходным кодом, размещенный на GitHub . Мы поддерживаем все основные платформы (включая iOS).
источник
Вот мой игровой фреймворк Oxygine . Это современный аппаратно-ускоренный 2D-фреймворк C ++ с открытым исходным кодом для мобильных платформ и платформ ПК. Возможности: OpenGL (ES) 2, сжатые текстуры, атласы, сложная анимация / анимация / спрайты, граф сцены, шрифты, обработка событий, инструменты сборки и другие. Может быть построен на основе SDL2 или Marmalade SDK.
В основе движка - граф сцены, аналогичный Flash. Короче говоря, вы можете назвать это Flash для C ++, но это удобнее и быстрее. Изначально он разрабатывался для мобильных платформ (iOS, Android), но может использоваться и для компьютерных игр.
источник
Никакого упоминания о App Game Kit (AGK) поэтому позвольте мне заполнить пробел. Это в основном 2D кроссплатформенный SDK, позволяющий кодировать один раз либо на C ++, либо на собственном «базовом» языке. Версия 2 только что получила более 400% финансирования на Kickstarter и будет иметь полную поддержку 3D, поддержку Spine (для 2D-анимированных персонажей), физику пули и множество других новых функций.
У него уже есть Facebook, Twitter, набор команд сенсора Ultrabook, Box2D и многое другое. Я использую его с самого начала, и он мне нравится (вы можете сказать?). Нет, я не работаю в The Game Creators (компании, которая его создала), хотя признаю, что какое-то время делал некоторые приложения.
Одна из лучших функций, с моей точки зрения, заключается в том, что вы можете разрабатывать в Windows и транслировать из IDE через Wi-Fi на любое поддерживаемое устройство, поэтому, пока я пишу код, я могу (в течение нескольких секунд) протестировать свой код на iPad, Android, Windows, Mac или Blackberry Playbook.
источник
Если у вас есть опыт работы с C #. Взгляните на дуальность.
источник
Я просто отвечаю, чтобы дать вам некоторое представление о том, как используется SDL. Как вы уже сказали, это не игровой движок (на самом деле это просто библиотека). Кроме того, он вообще не объектно-ориентирован, и у вас нет простых средств анимации (вам придется их кодировать самостоятельно).
Как это работает (я использовал версию C, но, думаю, привязка Lua должна быть похожей):
Включите заголовки, необходимые для создания проекта на нужной платформе.
Создайте свой собственный игровой цикл, в котором вы настроите (как минимум) всю систему обработки событий, диспетчер частоты кадров и «средство очистки экрана (или средство обновления)» (я настаиваю на том, что вам придется вручную обновлять экран с помощью процедуры SDL_flip_screen, что не является одной из ваших проблем с Corona).
Затем запрограммируйте свою игру, используя всю «механику», которую вы создали ранее.
SDL - это библиотека низкого уровня (например, не ожидайте, что у вас будет простой в использовании фреймворк графического интерфейса или фреймворк раскадровки Corona).
Наконец, эта библиотека использовалась для переноса Civilization III на Linux, так что да, она работает, но потребует много энергии, чтобы иметь что-то вроде Corona;)
PS: Я не являюсь носителем английского языка, поэтому, пожалуйста, дайте мне знать, если я не понял :)
источник
Gideros - отличный двухмерный кроссплатформенный движок на основе Lua , который в настоящее время поддерживает платформы Android и IOS, но это еще не все. И он также имеет некоторые замечательные функции, такие как мгновенное тестирование устройства, автоматическое масштабирование и автоматическое разрешение изображения, чтобы легко настраивать различные размеры экрана, а также возможность расширения каждой платформы с помощью собственных плагинов.
источник
У вас также есть ShiVa3D , серьезный конкурент Unity3D. Он использует Lua и поддерживает множество платформ от мобильных до игровых консолей и веб-браузеров.
Очень интуитивно понятный в использовании и очень приятный интерфейс для работы.
источник