Графічні двигуни крос-платформи 2D [закрито]


57

Я шукаю 2D графічний двигун, який би дозволив мені перейти на Windows, Mac та iPhone, як і Unity для 3D.

Чи є хороший двигун, який робить це, і характерний для 2D?


Якщо ви відчуваєте пригоди, ви завжди можете перевірити одну із відкритих 2D-ігор, таких як Aquaria, Gish та решта Humble Indie Bundle.
MarkovCh1

6
Ви забули Linux, немає любові до цих хлопців?
Дерек

Відповіді:


37

Завжди є старий режим очікування, SDL . Досить низький рівень, але ця простота - це те, що дозволяє переносити його на bajillions платформ (включаючи windows, linux, mac, nintendo DS, wii тощо, тощо). Є порт iPhone , який я ще не використовував, але здається досить зрілим.


Не здається, що вони мають "стабільну" версію 1.3, але це версія, яку ви хочете підтримати iphone. Ймовірно, вам потрібно буде схопити версію 1.3 з їх репортажу HG і створити її самостійно.
Кейсі

22

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

Для Unity є навіть провайдери програмного забезпечення, що пропонують кращі рішення щодо управління спрайтом. Як спрайт-менеджер 2 .


2
Я насправді цим займався. Я вважаю, що 3D-аспект єдності, хоча, як правило, перешкоджає тому, що стосується інтерфейсу користувача. Крім того, я завжди в кінцевому підсумку створюю фіктивну сцену, на якій немає нічого, окрім камери з прикріпленим кореневим сценарієм. Я перевірю посилання, яке ви згадали, хоча!
Кевін Лаїті

20

SFML - це приємний сучасний, орієнтований на об'єкти, міжплатформенний графічний движок. Це апаратне прискорення (засноване на OpenGL) і має прив’язки для

  • C ++
  • С
  • .Net (C #, VB.Net, C ++ / CLI, ...)
  • Пітон
  • D
  • Рубін
  • Окамл

4
+1 для SFML. Це чудово, але єдине питання - відсутність iphone-порту.
Качка комуніста

12

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


Я постійно створюю ігри в Allegro. Дуже сподобалося.
Тон

Qt не переймає основний, хоча навіть з циклом подій у QCoreApplication. Ви можете викликати qApp-> processEvents в будь-якому циклі, який ви хочете, і Qt буде задоволений.
Mircea Chirea

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

2
SDL не переймає ваш основний цикл гри. Зазвичай ви створюєте свій власний і всередині цього дзвінка SDL_PollEvent, щоб отримати будь-які події, про які знає SDL (введення клавіатури, рух миші тощо).
dcarrigg

6

Ви можете подивитися на Troll2D

Box2D використовується для багатьох платформ. У тому числі iPhone. Але вам доведеться знайти спосіб відображення цих об'єктів. Оскільки Box2D обробляє лише 2D-симуляцію фізики.


Олафур - я б сказав, що Troll2D була вашою відповіддю, тому слід почати з цього. Box2d повинен бути задумливим.
Iain

5

LÖVE - це 2D двигун, який дозволяє легко та швидко розвивати ігри на мові Lua .

Він працює на Mac (PPC і Intel), Windows і Linux (32 і 64 біт), а ігри легко поширюються у вигляді файлів ".love", що працюють в один файл.

Вони в основному є блискавичною версією вашої гри з розширенням zip, перейменованим на любов .

На жаль, немає порту для iPhone (поки що).


5

Cocos2D виникла під Mac / Windows на Python і доступна в ароматі Objective-C під iPhone . Це популярно в розробці ігор для 2D iPhone. Рей Вендерліх має кілька чудових навчальних посібників Cocos2D для iPhone .

Оскільки вони перейшли з Python на Objective-C, я підозрюю, що ви більше не зможете перетинати між усіма платформами з однієї бази коду.


Правильно, існує багато портів cocos2d, але всі вони використовують свою мову. Objective-C для iPhone, Java для Android, Javascript для Інтернету, 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.
davr

iOS зараз підтримується, а Linux - ні.
Даник

4

Ви можете спробувати Angel Engine . Він заснований на C ++, OpenGL, Box2D, і він використовує Python для сценаріїв. Це здебільшого для прототипування, але останні версії, здається, орієнтовані на створення повноцінних ігор.


3

torque2D підтримує ПК та 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 .

Moai також можна публікувати в 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

@davr monotouch не порушує умови угоди станом на> 1 рік тому.
dodgy_coder

@dodgy_coder Так, я пам'ятаю, коли Apple, нарешті, вийняла ті відсталі правила (які були спрямовані виключно на шкоду Adobe, який я вважаю). Мій оригінальний коментар був вірним на той момент, коли я його опублікував :)
дав

-1

Unity3d - найкращий інструмент для розробки ігор для 2d. альтернативно моногама. html5 та flash не підходять для цієї теми. вже спалах мертвий.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.