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

то приходится искать и совершенствовать свое творение,
на днях они делали тестирования 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
- bogimp
Комментарии (20)
World Construction Kit тоже не стоит на месте, как я погляжу. хотя конечно это вещь совсем другого толка)
зы. не дает покоя логотип Nape) зачем на обезьяну было надевать трусы?) вон даже скрудж макдкак, селезень-миллионер, без них обходился. я уже не говорю про виннипуха) сорри за оффтоп.
Очепятка в линке на тутор: code.google.com/p/nape/wiki/TutorialBasic
Догнать вряд-ли догонит, т.к. архитекрута другая, но приблизить можно.
можешь попробовать, но я бы посоветовал все-таки переходить. немного усилий и проблем будет гораздо меньше, а возможностей больше.)
меня сейчас уже ни за какие коврижки не заставишь написать что-то на AS2, хотя много пришлось с ним поработать в свое время и перешел тоже не сразу.
Все ссылки на AS2 порт APE не работают, но я смог нарыть данную штуку :)
Если интересно, могу прислать.
Но, не всё так радужно как мне казалось с начала. Скорость работы физики в АС2 ОЧЕНЬ низка.
На моих 2,8 гигагерцах я этого не заметил, но как скинул их до 1,6 (типа комп постарше или ноутбук) то 20-30 объектов на сцене уже вызывают тормоза.
Так что, как я не защищал АС2, переход на АС3 неизбежен. :(
отличный пост!
2D движками интересуюсь, делал ещё кое-какие пробы на Physaxe, но там фич некоторых не хватает, в основном joints конечно, ну и чистый haXe — не для вского проекта подойдет, при всех достоинствах этого языка.
Для быстрых прототипов и тестов идей ещё использую QuickBox2D, это ещё одна обертка над Box2D — иногда бывает удобно, особенно если скорость разработки важнее производительности.
Если используются стандартные опенсоурс лицензии то:
1) Если это MIT/BSD подобные, то вообще ничего не нужно. Только в исходниках копирайты оставить, если кому-то исходники отдаете, продаете.
2) Если GPL2, то нужно отдавать весь исходный код, если вы игру продаете третьему лицу.
Если же игра на вашем портале и вы ее не продаете, то ничего не нужно.
3) Если GPL3 — то нужно выкладывать только тот код физ движка, в котором делали свои изменения, код игры отдавать не нужно.