Физика бурундука или Box2D для C++ 2D GameEngine?

Я разрабатываю то, что это превращается в "межплатформенный" 2D Игровой Механизм, моя начальная цель платформы является iPhone OS, но могла идти дальше к Android или даже некоторой консоли как PSP или Nintendo DS, я хочу не торопиться с решением.

Мой механизм разрабатывается в C++ и читал много о Box2D и Бурундуке, но тем не менее я не могу решить который использовать в качестве моего Промежуточного программного обеспечения Физики.

Бурундук, кажется, был заставлен быть встроенным легко, и Box2D, кажется, широко используется. Бурундук является C, и Box2D является C++, но я услышал, что API Box2D намного хуже, чем API бурундука.

На данный момент я буду использовать функции создания и обнаружения коллизий формы механизма неправильных полигонов (не вогнутый).

Я оцениваю:

1) Good API's
2) Easy to integrate.
3) Portability.

И конечно если Вы замечаете что-либо еще, я хотел бы услышать его.

Какой Вы думаете, что это соответствовало бы моим потребностям лучше?

Править: Я закончил тем, что писал статью о своем конкретном выборе, можно найти его здесь

11
задан Goles 29 August 2010 в 23:02
поделиться

2 ответа

Вы правы, бурундук был разработан для улучшения многих мест где падает Box2D.

Тем не менее, Box2D определенно является более устоявшейся платформой, и по моему личному опыту, когда я принимал решение о том, какой движок использовать, я обнаружил, что у Box2D гораздо больше подписчиков в сообществе, поэтому его легче было изучить на примере.

4
ответ дан 3 December 2019 в 09:19
поделиться

Я использую оба, но когда могу выбрать, я выбираю бурундука, у него гораздо лучший API, и его намного легче выучить ...

Но это потому, что я изучил его, не нуждаясь в сообществе, руководство полностью в порядке.

ОБНОВЛЕНИЕ: Моя текущая игра использует Box2D, и я хотел бы использовать с ней Chipmunk ... В основном потому, что у Box2D есть две серьезные проблемы, которые усугубляются в моей игре: во-первых, в ней ДЕЙСТВИТЕЛЬНО СТАРЫЙ баг, когда объекты "цепляются". «На углах моя игра - это игра на прорыв, поэтому, когда мяч« катится »по стене, иногда он цепляется и отбрасывается от стены, многие люди спрашивали, почему физика моей игры выглядит« случайной ».

Другие проблемы, с которыми сталкивается Box2D, это то, как он хранит объекты, бурундук использует пространственный хэш, а Box2D использует двоичное дерево, в моей игре было МАССИВНОЕ замедление на уровнях с большим количеством объектов, я спросил Эрин (автора Box2D) причина, и он объяснил, что, поскольку Box2D использует двоичное дерево, если вы помещаете объекты в сетку (как я уже сказал, моя игра - это клон прорыва! все в сетке!), дерево становится несбалансированным, и Box2D замедляется. Решением для моей игры было преобразовать некоторые уровни в узор «шахматная доска», чтобы избежать этой проблемы.

Итак, для всех игр, основанных на плитке, я буду просто использовать Chipmunk, Box2D ДЕЙСТВИТЕЛЬНО не подходит для них (из-за ошибки "заедание" на углу плитки и ошибка замедления при использовании сетки плитки)

{{1} }
6
ответ дан 3 December 2019 в 09:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: