Collision detection

It’s hard to help you debug without the code. It could be that it should be a minus sign instead of a plus:

go.set_position(go.get_position() - message.normal * message.distance)

Feel free to share the project with me (bjorn.ritzl@king.com) and I can take a look.