Интересовался движком, но когда увидал скорость на простейшей демке — ужаснулся. Мб мой кривокод, но вроде не было ничего сверх. Кроме того почему-то при движении спрайтов наблюдал некоторую дёрганность.
Работал с этим движком, в принципе для простым игр с небольшим количеством спрайтов работает вполне сносно, даже на слабых устройствах. Из своего опыта могу сказать что для того чтобы сборщик мусора не 'насолил' вдальнейшем, лучше регионы текстур сделать public static, и вызывать как член класса, а не через метод, конечно нарушается инкапсуляция, зато скорость возрастает, что важно для конечного пользователя. Вообще в разработке Java игра под андроид лучше по возможновти:
1. Делать все статичным
2. Делать вызовы членов класса, вместо методов
3. Абсолютно нигде не использовать списки и коллекции (List, Collection), а только массивы
Вы правы, эти советы можно найти на developer.android.com/ А по поводу третьего пункта, к сожалению, вся отрисовка в AndEngine использует вложенные списки, в связи с этим и потери в скорости, как плата за универсальность.
Писали проект на этом движке. Зависли на низкой производительности средне-ценовых девайсов. Движок очень легок в изучении и довольно гибок, но для чего-то серьезного его использовать не получится.
Я еще не попробовал библиотеку, но по-моему, Camera — это вроде как viewport — та область, которую пользователь видит на экране. Если большая карта, что не влезает на весь экран, камера может ездить по ней вместе с прогуливающимся персонажем.
использовал движок в 2х играх, впечатления только положительные. Автор движка очень активно его развивает, есть библиотеки для работы с Живыми обоями, Дополненной реальностью и т.д. Пробывал другие 2D физические движки, этот лучший.
Но ушёл на Unity 3D так как возможностей AndEngine уже не хватает.
В итоге на всю игру у нас всего одна текстура размеры ее в нашем случае размерами 1024х512 когда рисуется какой нибудь объект — рисуется часть этой текстуры-атласа. Ширина первой текстуры расположеной в атласе 800 пикселей, тоесть 0-799 если мы расположим текстуру начиная с 800 пикселя они не будут пересекаться и следовательно не будет никаких сюрпризов при отрисовки этой части текстуры. Вы можете сами поэксперементироваь и посмотреть что получится если текстуру лазерной пушки разместить в 0:0.
Я тут начал разбираться с AndEngine и заметил, что разработчики не сильно заморачиваются с обратной совместимостью: некоторые классы переименовываются, некоторые методы становятся @Deprecated и т.п., что, в комплекте с отсутствием документации сбивает с толку. С одной стороны хорошо, что проект развивается, а с другой — подобные статьи теряют актуальность. Из того, что сейчас заметил:
Пишем игру для Android c помощью AndEngine. Часть 1