2013-07-11 17 views
80

Я работал некоторое время с Corona SDK и люблю, как быстро и легко создавать мощные приложения с помощью Lua. Но он может компилироваться только для iOS и Android, что сейчас кажется слишком маленьким.2D кросс-платформенные разработки игр

Мой главный интерес - это возможность компиляции на Desktop AND Mobile. По крайней мере, для следующего:

  • Windows + Mac для настольных компьютеров, как автономных приложений.
  • iOS + Android для мобильных устройств.

Я бы предпочел, чтобы он скорее склонялся к сценарию типа Lua вместо ActionScript, но, пожалуйста, не стесняйтесь публиковать все, с чем вы работали, и любить.

Я нашел следующие двигатели до сих пор:

  • Marmalade Quick - После того, как дальше, глядя в него, Marmalade Quick можно построить только для мобильных устройств!
  • IwGame - Работает на мармеладе и говорит, что он может развернуть до рабочий стол и мобильный телефон с Lua. Любая информация очень ценится на этом
  • sio2 - говорит «SIO2 является OpenGLES на основе кросс-платформенная 2D и 3D движок игры для IOS, Android, MacOS и Windows» и «Двигатель также позволяет порту вашей игры Mac Store и Windows », но их форум и название веб-сайта -« Игровой движок для мобильных устройств ». Невозможно найти любую информацию о том, может ли она развертываться на настольных платформах, любая информация очень ценится снова.
  • Loom Engine - 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 -.? тот же вопрос, как GameMaker
  • Corona - Lua, но только мобильный (Android и только iOS)
  • Cocos2D - Похоже, у него много вариантов, но не уверен с тем же языком? Похоже, вам придется переписать весь свой код.Любая информация, если cocos2D может развернуть на рабочий стол + мобильный телефон с почти таким же кодом, будет с благодарностью.
  • Angel2D - Говорит, что он может развернуть все, кроме Android, и использует Lua, кто-нибудь когда-либо использовал этот?
  • libgdx --- Я видел только хорошие вещи об этом. Вот тестовый тест для libgdx, и я увидел, что он достиг 40k спрайтов со скоростью 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, и я слышал, что он не получит будущие обновления, но достаточно стабилен? Больше информации приветствуется.
  • Citrus --- Не располагайте большой информацией о цитрусовых. AS3, который может строить для iOS, Android, Windows, Mac и других.
  • Haxe + OpenFL --- OpenFL (Haxe) построена для использования на многих платформах, а не только для Flash. Windows, Mac, Linux и Android все получают дополнительное встроенное развертывание или время исполнения OpenFL под названием Neko, которое теоретически быстрее Flash, и SDL 2.0 вскоре включит развертывание iOS (ish). - Спасибо Бояну.
  • Qt-Project --- Просто связывая проект Qt здесь, можете построить для всего и иметь довольно большое сообщество с большим количеством сторонних библиотек, чтобы помочь вам еще дальше.
  • Moai --- Единственный двигатель Lua, который я знаю, который может использоваться для настольных компьютеров и мобильных устройств. Единственным недостатком является то, что сообщество не так уж и велико, и документация не самая лучшая. Но если вы можете пройти мимо, это отличное решение и тот, который я использую сейчас.
  • Adobe --- Не забудьте добавить здесь adobe, так как он может построить все, что поддерживает вспышку.
  • Unity3D --- Недавно анонсированный 2D интеграция выглядит очень многообещающим, должен быть выпущен Q3-Q4 2013.
  • Cocos2d-x --- источника двигатель открытым. Поддерживает JS, Lua, C++ и несколько платформ.
  • Html5 --- Там, кажется, много акцента на html5 мобильных приложениях, вот только несколько инструментов, которые я нашел, что может помочь порту проекта html5 к платформе:

    1. Chromium embedded

    2. Sencha

    3. Phonegap

    4. Appcelerator/Titanium

    5. Icenium

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

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

+1

OpenFL (Haxe) построен на основе многих платформ, а не только для Flash. Windows, Mac, Linux и Android все получают дополнительное встроенное развертывание или время исполнения OpenFL под названием Neko, которое теоретически быстрее Flash, и SDL 2.0 вскоре включит развертывание iOS (ish). Loom аналогичен (пытается привлечь разработчиков Flash) тем, что использует AS3-подобный ECMAScript, но не создает из него собственный код. Однако он использует Cocos2D для рендеринга, поэтому теоретически он должен быть таким же быстрым, как Cocos2D –

+1

Вы действительно должны добавить Cocos2d-X в список: http://www.cocos2d-x.org/ – Clay

+0

Вы должны окончательно проверить UDK на Epic Games , Это действительно полный двигатель AAA, предназначенный для модераторов и разработчиков Indie. К сожалению, в настоящее время он не поддерживает Android, хотя они сделали полное лицензирование UE4 гораздо более доступным, что поддерживает Android. Имейте в виду, что UE4 только что был выпущен, а UDK - довольно развитая платформа. – PSIXO

ответ

9

Я бы порекомендовал 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)

+1

Хотя я уверен, что V-Play - потрясающий продукт, вы должны оговориться, что являетесь соучредителем. См.: Http://meta.stackexchange.com/a/59302 – Nepoxx

+1

Уверен - я только что добавил –

4

Никакого упоминания о App Game Kit (AGK) здесь, так позвольте мне заполнить этот пробел. Это в основном 2D кросс-платформенный SDK, позволяющий вам кодировать один раз на C++ или собственный «Basic» язык. Версия 2 только получила более 400% финансирования на Kickstarter и будет иметь полную поддержку 3D, поддержку спинного хребта (для 2D анимированных персонажей), физику пули и целую кучу других новых функций.

У этого уже есть Facebook, Twitter, куча команд датчика Ultrabook, Box2D и многое другое. Я использую его с самого начала и люблю его (вы можете сказать?). Нет, я не работаю для The Game Creators (компания, которая его создала), хотя я признаю, что иногда делал некоторые приложения.

Одна из лучших функций с моей точки зрения - вы можете разрабатывать в Windows и транслировать с IDE через Wi-Fi на любое поддерживаемое устройство, поэтому пока я кодирую, я могу (в течение нескольких секунд) проверять свой код на iPad, Android, Windows, Mac или Blackberry Playbook.

4

Если у вас есть C# background. Посмотрите на Duality.

Duality гибкая структура 2D игра полностью написана на C# - и это здесь, чтобы сделать вещи немного легче для вас. Он обеспечивает как расширяемый игровой движок, так и визуальный редактор. Будет нет необходимости в редакторе уровня, среде тестирования или менеджере контента , потому что Duality - это все, что само по себе. И лучше всего: это бесплатно.

+1

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

+0

Является ли это кросс-платформой совместимой? – JCPhlux

+2

@JCPhlux, да. Я не уверен в мобильных устройствах, но он работает на моно. – Andy

5

Вот моя игровая основа Oxygine. Это современная аппаратная ускоренная платформа 2D C++ с открытым исходным кодом для мобильных и ПК-платформ. Особенности: OpenGL (ES) 2, сжатые текстуры, атласы, сложные анимации/tweens/sprites, граф сцены, шрифты, обработка событий, инструменты построения и другие. Может быть построен поверх SDL2 или SDK Marmalade.

В основе двигателя есть график сцены, аналогичный Flash. Короче говоря, вы можете назвать это Flash для C++, но удобнее и быстрее. Первоначально он был разработан для мобильных платформ (iOS, Android), но также может быть использован для компьютерных игр.

enter image description here

+0

Я пробовал (и фактически выпустил готовый игровой продукт), работает очень хорошо! – Juster

2

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

Как это работает (я использовал версию C, но я предполагаю, что Lua привязки должны быть похожи):

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

Создайте собственный игровой цикл, в котором вы настроите (по крайней мере) всю систему обработки событий, менеджер частоты кадров и «очиститель экрана (или обновитель)» (я настаиваю на том, что вам нужно вручную обновите свой экран, используя процедуру SDL_flip_screen, которая не является одной из ваших проблем с Corona).

Затем введите код вашей игры, используя все «механики», которые вы делали раньше.

SDL - низкоуровневая библиотека (не ожидайте наличия простой в использовании инфраструктуры графического интерфейса или рамочной системы Corona).

Наконец, эта библиотека была использована для порта Civilization III в Linux, так что да, он работает, но он будет просить вас много энергии, чтобы иметь что-то, как вы были с Corona;)

PS: Я не носитель английского языка, поэтому, пожалуйста, дайте мне знать, если я не понял :)

5

Как насчет HaxeFlixel? У нас есть большой выбор demos и, конечно же, поддержка кросс-платформенной разработки через Haxe + OpenFL. Это проект с открытым исходным кодом, размещенный на GitHub. Мы поддерживаем all major platforms (включая iOS).

6

Если вы используете Python, Kivy - отличное решение в наши дни. Он компилируется на все платформы, которые вы просите:

Kivy работает на Linux, Windows, MacOSX, Android и IOS. Вы можете использовать на всех поддерживаемых платформах. Он может использовать изначально протоколы и устройства, такие как WM_Touch, WM_Pen, Mac OS X Trackpad и Magic Mouse, Mtdev, Linux Kernel HID, TUIO. В комплект входит мультитач-мышь .

Kivy использует много оптимизированного кода для рендеринга графики (через Cython), так что это тоже быстро.

Вот speakerdeck, который дает вам некоторый фон и обзор (специфический для Android).

+0

В то время как kivy можно использовать для игры dev, это не является точным игровым движком, kivyent (kivent.org), однако, является игровым движком, основанным на киви, который, возможно, больше подходит, если, возможно, если ваша игра очень * проста и не требует дополнительной сложности. – Tshirtman

1

У вас также есть ShiVa3D, серьезный конкурент Unity3D. Он использует Lua и поддерживает множество платформ от мобильных до игровых консолей и веб-браузеров.

Очень интуитивно понятный и очень приятный интерфейс для работы.

2

Gideros is a great Lua based 2d cross platforms engine, в настоящее время поддерживающий платформы Android и IOS, но еще впереди. И он также обладает некоторыми замечательными функциями как мгновенное тестирование устройств, автоматическое масштабирование и автоматическое разрешение изображений, чтобы легко настраивать различные размеры экрана, а также возможность расширения каждой платформы с помощью собственных плагинов.

Смежные вопросы