...

воскресенье, 1 сентября 2013 г.

Adobe AIR + Nape Physics. Разработка под iOS

Итак, недавно я купил Mac mini, т.к. давно мечтал заняться портированием одной из своих игрушек под iOS. Вопрос стал в выборе платформы, и я какое-то время склонялся к Adobe Air, пока не копнул глубже…


На днях у нас была локальная «конференция» из пяти человек в одном из питерских баров KillFish. И там мы обсудили мельком и Air, и Unity, и Cocos2d, и прочее… Я голосовал за AIR, т.к. думал, что раз уж «Angry Birds: Star Wars» сделана на Starling + Air, и она летает с приличным количеством физики и эффектов — значит, это мой выбор! Тем более, многие видели демки на Starling, где в iOS мы наблюдаем сотни анимированных объектов со стабильными 60 fps. Но на деле… всё упирается в физику.




Разработчик по имени Павел посеял во мне зерно сомнения, высказав свою неуверенность по части причастности AIR к Angry Birds — Star Wars. Придя домой, я скачал с торрентов .apk файл энгри бёрдов, переименовал в .zip, и обнаружил всё то, чего быть в AIR-версии просто не может: уровни в .lua, ассеты в .pvr и .zip, и прочие непотребства. Оказалось, на AIR делали всего лишь версию для Facebook. В довершении я скачал все фреймворки из заголовка, открыл IntelliJ IDEA, подключил сертификаты от Apple, и сделал простую демку для теста производительности физики. Результаты огорчили…


Чтобы получились честные 60 fps:


iPhone 4 — тянет всего 15-20 динамических тел.

iPad 1 — 20-25.

iPad mini — до 45.


Многие, конечно, делают и во флешках 24-30 fps. Но это не наш метод. Конечно, если выставить 30 fps, на том же iPhone 4 можно будет использовать до 40 физ.тел.

Что мы получаем в итоге:


1. AIR подходит для игр без физики, GPU вполне тянет большое количество графики.

2. AIR + Nape подходит для игр с физикой, при условии небольшого количества тел (20 тел — 60 фпс).

3. AIR + Nape подходит для нединамичных игр с физикой, при условии занижения фпс (40 тел — 30 фпс).



Какие выводы можно сделать? Утверждать, что AIR не подходит для iOS игр — нельзя. Можно делать фермы, тауэр дефенсы, матч3 и прочие пазлы, платформеры и ещё кучу всего. Можно делать даже игры с физикой, при условии небольшого количества тел и заниженного фпс. Но вот когда вам нужно сделать динамичную игру на 60 фпс с нормальным количеством физ.объектов — AIR сдаёт позиции.


Посмотрев на свои игры, я понял, что AIR подходит далеко не для всех. Laser Cannon, который я планировал портировать, теперь будет лежать в ящике до выхода Unity 2D (что обещают уже совсем скоро):



Инфа о Unity 2D — http://blogs.unity3d.com/2013/08/28/unity-native-2d-tools/


Видюшка вдохновила. Как и инфа, что Unity для iOS девелоперов теперь абсолютно бесплатная (не Pro версия, само собой). Так что, расстраиваться, в принципе, нечему. C# я люблю не меньше ActionScript 3.0.


Смотрим, читаем, экспериментируем… делаем выводы:)


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:



Комментариев нет:

Отправить комментарий