Я работаю над простым симулятором футбола, я использую потенциальные поля для предотвращения столкновений, более конкретно следуя технике,
http://www.ibm.com/developerworks/java/library/j-antigrav/
Только препятствия на поле являются другими игроками, и они постоянно движутся. Проблема в том, что это работает, если я назначаю действительно большую силу толчка для персонажей, так как персонажи двигаются со скоростью, для изменения направления требуется некоторое время, но у этого есть несколько недостатков с такой высокой силой тяжести, что я никогда не могу расположить NPC, чтобы схватить мяч, потому что всегда есть какая-то сила толкает меня вокруг.
Хотя я мог решить эту проблему, назначив силу тяги мячу, но на самом деле это еще хуже. NPS будет идти к мячу, мяч начинает тянуть, что заставляет NPC толкать мяч, он идет в петлю, пока NPC не падает на стену.
Как я это реализовал, у меня есть вектор, который направит меня к моей цели, затем я добавлю к этому все гравитационные силы, действующие на NPC, и направлюсь в этом направлении.
В основном мне интересно, какие улучшения я могу сделать? Моя текущая проблема не в том, чтобы другие игроки точно ударяли по мячу, не оказывая влияния на других игроков.