I would give the disc a bullet behaviour and a instance variable for bounces - for every bounce you add to it, and then add something like Bounces > 3 (<== Your limit) lerp(Disc.X,Player.X,dt) erp(Disc.Y,Player.Y,dt) - thiss will make it move back towards the player - you an change the dt*2 or dt*4 or something else to change the speed. This should give a general idea of how to do this, give it a try.