Я хочу написать платформенную игру, все, что я делал раньше, это головоломки, не требующие физики.
Все, что мне нужно, это простое обнаружение столкновений, то, что я предоставлю физическому движку, это положение всех объектов, и оно должно вывести:
- Все объекты определенного типа объектов (маркеры), которые сталкиваются с любым объектом (и каким объектом), просто список пар.
- Для каждого объекта определенного типа (игроки и NPC), если он находится на земле или в воздухе.
Вся симуляция движения / скорости / гравитации / ударов / отражений будет выполняться с использованием пользовательского кода, потому что я хочу реализовать мир со странной физикой.
Должен ли я катить свой собственный двигатель? я могу использовать существующие, такие как chipmunk / box2d? Если мне нужно реализовать свои собственные, как я сделаю обнаружение столкновений не дорогостоящей операцией? (как наивная реализация просто проверки всего в O(n^2)
.
Я могу использовать target-c или c ++, я бы предпочел c ++ (он должен иметь лучшую производительность).