No passado eu estudei bastante sobre colisão de objetos e é algo muito legal de programar, mas também num jogo de plataforma começa a ficar muito difícil decidir o que fazer numa colisão, como por exemplo a colisão com uma parede, se ela foi exata, se por conta do framerate fez um objeto atravessar o outro (e daí nesse caso decidir voltar o objeto).
Depois de estudar isso eu entendo perfeitamente como que 100% dos jogos tem problema de "wall clipping".