Niedawno przestawiłem silnik gry z kierowania na ruch oparty na impulsie z odpowiednią rozdzielczością kolizji opartą na czasie. To rozwiązało tak wiele problemów (koniec tunelowania, tak) i sprawiło, że symulacja jest znacznie bardziej stabilna. Jednak wraz ze stabilnością pojawił się nowy problem.
Trzy kule rozpoczęły podróż w dolnej części obrazu, ich celem było zatrzymanie różowej kuli. Po drodze czerwone i zielone kulki utknęły w miejscu dławika w ścianie.
Wcześniej mogłem polegać na błędach zmiennoprzecinkowych i ogólnej niestabilności zachowań sterujących, aby zielone i czerwone kule przepychały się nawzajem, dopóki nie zdołały przedostać się przez punkt dławienia. Teraz przy odpowiedniej rozdzielczości kolizji siły działające na kulki znoszą się nawzajem, co powoduje, że kulki pozostają idealnie nieruchome.
Jakie metody są powszechnie stosowane w celu rozwiązania takich sytuacji? Być może zadziałałby jakiś system kolejkowania priorytetowego, chociaż widzę, że staje się on złożony, gdy muszę zdecydować o priorytecie między więcej niż 2 obiektami.