Siege Master Два и Box2D поход за скоростю и Nape как Святой Грааль

Уже некоторое время я работу над продолжением игры Siege Master, есть достаточно большая конкуренция со стороны классных чуваков ArmorGames,
то приходится искать и совершенствовать свое творение,
на днях они делали тестирования Crush The Castle 2, эх прийдется отложить релиз на некоторое время…


а стоп сейчас не об этом…

И так Я в поисках лучшей физики, потому что физика кушает 70-80% любимого CPU, я начал тестирование всех возможных варантов (живых) физики на флэше и так результат:

Те что мертви :)
— APE — давно умер
— Fisix Engine — таже проблема
— FOAM — …

Тестировалось
PopShapes от Andre michelle, даже не знаю почему
Motor2
WCK — ето просто супер для ленивих физиков :)) и любителей Box2D,
супер редактор в Flash IDE
Glaze — били большие плани на него, но уви…
Box2D — 2.02/2.1 — для сравнение, потому что Siege Master работает на нем.
— и супер новий движок от молодого програмиста Nape flash и haxe

Система для тестирование
— от 400 кубиков.



+ нужно било витянуть как можно больше FPS

Результати
незабиваем о том что рисовалка тоже кушает, quality low
— PopShapes видал менше чем 10fps и очень сирой а жаль, но есть у нево некоторие класние штучки
— WCK он сделан как Box2D так что см ниже
— Motor2 6-10 fps но зато у них супер вещ de.polygonal.ds
— Box2D 2.1/2.02 — 10-15 fps + глюки (потому что физика не успевала сработать, а мне нужно fps)

2.02 — даже падал… так что 2.1 — лудше

— Glaze 400 кубиков 70-80Fps как и ожидалося


— Nape я даже не ожидал и потому дальше тести пошли между Glaze и Nape(Haxe и Flash Вариант)
и так

тестирование на 800 (20 на 40) кубиков

— Glaze 6-10fps

— Nape Flash версия через SWC библиотеку, да да для флешеров рай…
15 — 20 fps

— Nape Haxe версия не большая разница 16 — 23 fps


Ну и для оптимизаци испозую BitmapData и CopyPixels дают очень хороший движок
824 обекта + Joins дают от 18-20 fps на моей тачтке.



Если сравнивать с Box2D то у меня предел бил около ~300 обектов

А тепер о Nape
В Nape — в новом и на момент активно развиваемом движке двумерной физики уже присутствует поддержка joints /constraints и немало других интересных фич, делающих его более продвинутым по сравнению с Physaxe, развитие которого остановилось довольно давно. При этом Nape унаследовал его производительность и по утверждением автора Luca Deltodesco превосходит его и в этом плане
Новый 2D движок активно использует haXe/AS3 препроцессор caxe написанный тем же автором и оптимизирован под возможности flash player 10/10.1 Кстати, в недавней заметке Luca написал, что в beta5 flash player 10.1 производительность и стабильность Nape ещё более заметно.

Да, ещё одно отличие, с Nape могут легко начать работать не только haXe — кодеры, но и программисты пишущие на ActionScript3, swc-библиотеку AS3-версии движка можно скачать с той же главной страницы Nape на google code. Там же есть ссылки на примеры применения и уже довольно неплохая основа документации (ещё один плюс по сравнению с Physaxe кстати).
www.haxe.ru/nape_095


Есть несколько класних примеров
Пирамидка Haxe та же Пирамидка но AS3
Урок с туториалом / туториал
Платформер тут обекти пролетают в одном направление и остаютса как в платформерах + звуки
Проверка Связей в Nape они не Joins a Constraints
Домино ефект как в Glaze, плюс изменение цвета от давлением. Blue = сколько объектов находится под давлением, Красный = ударную вязкость.
Мягкии тела
група обектов связаних в мягкие тела
Любимий всем RagDoll
Рисовалка обектов
Nape Machine :)

P.S. для скептиков могу викласть все исходники тестов
  • +20

Комментарии (20)

0
О, огромное спасибо за обзорчик, как раз был озадачен этой темой :)
0
занятно. никогда раньше не слышал о Nape.
World Construction Kit тоже не стоит на месте, как я погляжу. хотя конечно это вещь совсем другого толка)

зы. не дает покоя логотип Nape) зачем на обезьяну было надевать трусы?) вон даже скрудж макдкак, селезень-миллионер, без них обходился. я уже не говорю про виннипуха) сорри за оффтоп.
0
больше на памперсы похоже, типа, признак того, что еще молодой )))
и супер новий движок от молодого програмиста
0
кстати, да, похоже)
0
Nape впечатлил.
Очепятка в линке на тутор: code.google.com/p/nape/wiki/TutorialBasic
0
Еще хочу добавить что код Бокса2Д версии 2 под АС написан достаточно неоптимально. Если задаться его переписыванием с оптимизацией, то можно подтянуть его быстродействие.
0
сколько я знаю Box2D никогда не дотягивал к Glaze даже.
0
Glaze хорошо оптимизирован под флеш. Но у него недостаток в недружественности. Бокс2д более понятный и с лучше оформленными либами.
Догнать вряд-ли догонит, т.к. архитекрута другая, но приблизить можно.
0
тут понятно таже ситуация с nape, но исторически так случилось :)) жаль что никто не оптимизировал его :((
0
Классный пост. Много чего полезного для малышей) Подскажите — есть какие-нить физ движки для AS2? Я на AS3 никак перейти не могу(
+1
для AS2 навскидку вспоминается сейчас только Flade — предшественник APE. даже баловался с ним немного когда-то.
можешь попробовать, но я бы посоветовал все-таки переходить. немного усилий и проблем будет гораздо меньше, а возможностей больше.)
меня сейчас уже ни за какие коврижки не заставишь написать что-то на AS2, хотя много пришлось с ним поработать в свое время и перешел тоже не сразу.
0
CСпасибо Я сейчас читаю Колина Мука. Думаю дочитаю гдето к 2015 году;)
+1
Для АС2 есть порт движка APE. Это единственный вариант физики для АС2, Flade — очень сырой, там даже нет столкновений динамических объектов между собой.

Все ссылки на AS2 порт APE не работают, но я смог нарыть данную штуку :)
Если интересно, могу прислать.

Но, не всё так радужно как мне казалось с начала. Скорость работы физики в АС2 ОЧЕНЬ низка.
На моих 2,8 гигагерцах я этого не заметил, но как скинул их до 1,6 (типа комп постарше или ноутбук) то 20-30 объектов на сцене уже вызывают тормоза.

Так что, как я не защищал АС2, переход на АС3 неизбежен. :(
0
Давно пора:) Я тебе еще год назад говорил.
0
перехожу на as3 с as2. Ничего сложного. Может быть статью напишу, видно много таких. «Как перейти с as2 -> as3 без наркоза» =8) Только нужно пару проектов сначала закончить :)
0
обязательно попробую Nape,
отличный пост!
0
да, спасибо за информативный пост, а заодно и за цитату из моего поста и ссылку на haxe.ru, поставлю оттуда ссылку сюда.
2D движками интересуюсь, делал ещё кое-какие пробы на Physaxe, но там фич некоторых не хватает, в основном joints конечно, ну и чистый haXe — не для вского проекта подойдет, при всех достоинствах этого языка.
Для быстрых прототипов и тестов идей ещё использую QuickBox2D, это ещё одна обертка над Box2D — иногда бывает удобно, особенно если скорость разработки важнее производительности.
0
и да, выложи плз. исходники тестов, интересно погонять )
0
А вот такой вопрос — физ движки свободны для частного использования? тоесть нужно ли платить в случае чего, или же писать о разработчиках движка в кредитах?
0
В лицензии все обычно пишут.
Если используются стандартные опенсоурс лицензии то:
1) Если это MIT/BSD подобные, то вообще ничего не нужно. Только в исходниках копирайты оставить, если кому-то исходники отдаете, продаете.
2) Если GPL2, то нужно отдавать весь исходный код, если вы игру продаете третьему лицу.
Если же игра на вашем портале и вы ее не продаете, то ничего не нужно.
3) Если GPL3 — то нужно выкладывать только тот код физ движка, в котором делали свои изменения, код игры отдавать не нужно.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.