Кроссплатформенные 2D графические двигатели [закрыто]


57

Я ищу движок 2D-графики, который позволил бы мне выпустить для Windows, Mac и iPhone, так же, как Unity для 3D.

Есть ли хороший движок, который делает это и относится к 2D?


Если вы любите приключения, вы всегда можете попробовать одну из двухмерных игр с открытым исходным кодом, таких как Aquaria, Gish и остальная часть Humble Indie Bundle.
MarkovCh1

6
Вы забыли Linux, нет любви к этим парням?
Дерек

Ответы:


37

Там всегда старый режим ожидания, SDL . Это довольно низкий уровень, но именно эта простота позволяет переносить его на баджиллионы платформ (включая Windows, Linux, Mac, Nintendo DS, Wii и т. Д.). Есть порт для iPhone , который я не использовал, но кажется достаточно зрелым.


Похоже, что у них версия 1.3 «стабильная», и это именно та версия, которую вы захотите для поддержки iphone. Вам, вероятно, нужно будет взять версию 1.3 из их репозитория HG и собрать ее самостоятельно.
Кейси

22

На самом деле нет никаких причин, по которым вы не можете использовать Unity3D для создания «2D» игр. Вы можете использовать текстурированные четырехугольники и орфографическую камеру, и у вас есть 2D игра. Есть даже некоторые уникальные решения, такие как использование системы скелетной анимации и наложение спрайтов поверх различных суставов, или использование действительно узкой перспективной камеры, чтобы получить дешевый параллаксинг.

Есть даже поставщики промежуточного программного обеспечения для Unity, которые предлагают лучшие решения для управления спрайтами. Как менеджер спрайтов 2 .


2
Я фактически делал это. Я считаю, что трехмерный аспект единства, как правило, мешает, насколько это касается пользовательского интерфейса. Кроме того, я всегда получаю фиктивную сцену, в которой нет ничего, кроме камеры с моим корневым скриптом. Я проверю ссылку, которую вы упомянули, хотя!
Кевин Лейти

20

SFML - это хороший современный объектно-ориентированный кроссплатформенный графический движок. Это аппаратное ускорение (на основе OpenGL) и имеет привязки для

  • C ++
  • С
  • .Net (C #, VB.Net, C ++ / CLI, ...)
  • питон
  • D
  • Рубин
  • Ocaml

4
+1 за SFML. Это здорово, но единственная проблема - отсутствие порта iphone.
Коммунистическая утка

12

SDL, Allegro, OpenGL
SDL и Allegro - это не только графические библиотеки, но и целые библиотеки для разработки игр.
Недостатком SDL является то, что он берет на себя функцию main () и переопределяет ее, что затрудняет его объединение с другими библиотеками. (QT по моему опыту)
Еще одна плохая вещь заключается в том, что SDL допускает только одно окно (это стабильная версия 1.2, версия разработки 1.3 делает, но она еще не полностью поддерживается и не документирована)
Я могу назвать слабые места SDL, потому что я знаю это лучше и работал с ним, но, несмотря на это, он очень мощный, его используют многие эмуляторы, включая порт Mame и ScummVM, а также игры.
OpenGL, несмотря на его популярное использование 3D, представляет собой графическую библиотеку и, как таковую, также позволяет 2D-графике управлять поверхностями на уровне пикселей и широко использует аппаратное ускорение как в 3D, так и в 2D.


Я использую для создания игр в Allegro все время. Любил это.
Тон

Qt не берет на себя main, даже с циклом обработки событий в QCoreApplication. Вы можете вызывать qApp-> processEvents в любом цикле, который хотите, и Qt будет счастлив.
Мирча Кирея

1
Должен ли SDL брать на себя ваш основной цикл? Я думал, что вы могли бы избежать этого, не включая SDLmain.h и проявляя осторожность, чтобы делать вещи самостоятельно ...
Рикет

2
SDL не берет на себя ваш основной игровой цикл. Обычно вы создаете свой собственный, и внутри этого вызова вызывается SDL_PollEvent, чтобы получать любые события, о которых знает SDL (ввод с клавиатуры, движение мыши и т. Д.).
dcarrigg

6

Вы можете посмотреть на Troll2D

Box2D используется для многих платформ. Включая iPhone. Но вам нужно найти способ отобразить эти объекты. Поскольку Box2D обрабатывает только двумерное физическое моделирование.


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

5

LÖVE - это 2D движок, который позволяет легко и быстро разрабатывать игры на языке Lua .

Он работает на Mac (PPC и Intel), Windows и Linux (32 и 64-битная версия), а игры легко распространяются как файлы «.love», работающие по принципу «один файл запускаются на всех платформах».

По сути, это версия вашей игры на молнии с расширением zip, переименованным в love .

К сожалению, нет порта iPhone (пока).


5

Cocos2D появился в Mac / Windows на Python и доступен в версии Objective-C под iPhone . Он популярен в разработке 2D-игр для iPhone. У Рэя Вендерлиха есть несколько отличных обучающих программ по iPhone для Cocos2D .

Поскольку они перешли с Python на Objective-C, я подозреваю, что вы больше не сможете осуществлять кросс-компиляцию между всеми платформами из одной и той же базы кода.


Правильно, есть много портов cocos2d, но все используют свой собственный язык. Objective-C для iPhone, Java для Android, Javascript для Web, Python для оригинальной версии для ПК и C ++ для нового порта Windows, который может поддерживать или не поддерживать Windows Mobile (неясно, что это). Кроме имени и философии дизайна они не являются взаимозаменяемыми в любом случае.
LearnCocos2D

Я думаю, что Cocos2d-x сейчас довольно стабильный и кроссплатформенный, с одним языком реализации: C ++ (включая iPhone).
legends2k

4

Если вас не беспокоит iPhone, всегда есть Flash, упакованный как AIR - вы теряете iPhone, но получаете Linux и веб-развертывание. Затем вы можете выбрать движок игры / физики / рендеринга, который подходит вашему проекту, например. FlashPunk, Flixel, Box2d.


Вы также получаете поддержку телефона Android (по крайней мере, более новые) и, возможно, поддержку Palm / Blackberry / Windows Mobile в будущем.
Давр

iOS теперь поддерживается, а Linux нет.
Даник

4

Вы могли бы попробовать Двигатель Ангела . Он основан на C ++, OpenGL, Box2D и использует Python для сценариев. Это в основном для прототипирования, но последние версии, кажется, сосредоточены на создании полных игр.


3

Toron2D поддерживает ПК и Mac из коробки. ITorque2D поддерживает развертывание на iphone. Также возможно получить консольное развертывание.


2

PlayN поддерживает HTML5, Android, iOS, Flash и настольную Java.

Вы пишете свой код на Java, и он обрабатывает преобразование кода Java в JavaScript (через GWT) для HTML, в сборку ARM (через IKVM для перехода от байт-кода Java к байт-коду CLR, затем MonoTouch для компиляции байт-кода CLR в собственное приложение iOS), к ActionScript через пользовательский бэкэнд GWT, который генерирует ActionScript вместо JavaScript, а также к Android и настольной Java без преобразований.


2

Moai SDK - это фреймворк, который может работать * на этих платформах. Это открытый исходный код, так что посмотрите их репозиторий на github .

Моаи также можно публиковать в Google Chrome и Android.

* Я не думаю, что публикация на Mac или Windows (т.е. в .app или .exe) доступна в данный момент, но может быть добавлена.


1

Haxe + NME поддерживает HTML5, Flash, Android, iOS, Blackberry, Windows, Mac, Linux, WebOS. Он поддерживает 2D-графику (растровые спрайты, векторный рисунок, а также такие эффекты, как тень и размытие).


0

В последнее время я много слышал о MonoTouch для людей, занимающихся разработкой iPhone и iPod touch. Фреймворк находится поверх Mono, который уже кросс-платформенный.


Жаль, что это нарушает соглашение о магазине iTunes, поскольку вы пишете что-то, что не является C / C ++ / ObjC, и используете слой перевода. Вы можете получить одобрение еще, но они могут потянуть вас в будущем. Лично я бы не стал рисковать.
Давр

@davr monotouch не нарушает условия соглашения с> 1 года назад.
dodgy_coder

@dodgy_coder Да, я помню, когда Apple, наконец, взяла те запаздывающие правила (которые, я считаю, были направлены исключительно на вред Adobe). Мой оригинальный комментарий был правдой в то время, когда я отправил это все же :)
davr

-1

Unity3d - это лучшие инструменты и движок для разработки игр. альтернативно моногамный. html5 и flash не подходит для этой темы. уже вспышка мертва

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.