El uso de java o flash para estos juegos, es debido a atributos que PHP no tiene. PHP solo funciona de lado de servidor, no está creado para hacer animaciones. Para hacer lo que deseas, tendrías que aprender Java o Flash.
En el caso de Flash, este se puede comunicar con PHP, recibir y enviar datos. Java por su lado se puede comunicar directamente con base de datos o archivos para guardar información del juego y otros...
Espero te haya quedado claro, nos vemos.
Edito : Olvidé que existe una librería que te permite crear animaciones flash con php, nosé si permitirá hacer algo tan avanzado como lo que quieres, pero te lo dejo para que le eches un vistazo.
http://www.php.net/manual/es/ref.ming.php
Aquí hay un pequeño tutorial, espero te sirva.
Tutorial