I'm experienced developer but with no expierience with creating games. In the past I was creating mainly business applications (in C++, Java, PHP, Python), on university I had some openGL basics but actually I don't know where to start with 3D games. I wonder what is currently the best FPS game engine? It doesn't have to be dedicated only for fps games. I want to try creating 3D realistic world and tools which allow me to have effects like reducing players speed if hitted in leg, reduced accuracy if hitted in arm, bullet shells on the ground if player was shooting, etc. It would be great if it would be not only for Windows but also for Linux and Mac. So where I should start?