Di recente ho cambiato il mio motore di gioco dai comportamenti di guida a movimenti basati sugli impulsi con una corretta risoluzione delle collisioni basata sul tempo. Ciò ha risolto così tanti problemi (niente più tunneling, yay) e reso la simulazione molto più stabile. Tuttavia, con la stabilità è arrivato un nuovo problema.
Le tre palle hanno iniziato il loro viaggio vicino al fondo dell'immagine, il loro obiettivo era dove la palla rosa si è fermata. Lungo la strada le palline rosse e verdi si sono incastrate nel punto di strozzamento nel muro.
Prima, potevo fare affidamento sugli errori in virgola mobile e sull'instabilità generale dei comportamenti di sterzata per far sussultare le palle verde e rossa fino a quando non riuscivano a superare il punto di strozzamento. Ora con un'adeguata risoluzione delle collisioni, le forze che agiscono sulle sfere si annullano a vicenda, il che si traduce nella perfetta stabilità delle sfere.
Quali metodi sono comunemente usati per risolvere tali situazioni? Forse una sorta di sistema di accodamento prioritario funzionerebbe, anche se posso vederlo diventare complesso una volta che devo decidere la priorità tra più di 2 oggetti.