I created a maze-like setup while Rings with Bullet behaviour are supposed to run around randomly.
To handle the collisions with Walls, whenever a Ring collides with a Wall object, I ask it to set Bullet Speed to 0, then back a pixel (so it is not colliding with Wall anymore), then add a value to its current Bullet.AngleOfMotion. This added angle is a random of +90, -90, 180.
Then I set the Bullet Speed back to normal speed.
What I believe to be a bug is: If I leave things in the order described above, the Rings only go left and right and left and right whenever colliding with walls.
If I invert the order of the Bullet Behaviour actions, it works properly. I mean, it works properly if, after setting Speed to 0 and snapping the Ring back a pixel further from the wall, I set the Bullet Speed to normal speed and THEN ask the Bullet Angle to be added a random angle.
Then, the Rings correctly choose random angles and go up/down/left/right randomly when colliding with Walls.