Начни с того что SFML нужен для визуализации процесса.
А для самого процесса.
Я бы сделал коллекцию некоторых объектов, которые хранят свою текущую позицию, вектор скорости, возможно размер и какие-то прочие нужные для визуализации атрибуты, правила поведения и т.д.. И всё это тактировать снаружи. На каждом такте объект двигается в соответсвии со своей скоростью, проверяет коллизии со стенами и другими объектами, меняет по каким-то правилам свою скорость.