La cuestión es que, en el desarrollo web, una gran parte de la presentación generalmente se realizaría en el lado del servidor (utilizando un marco que incrusta algún tipo de sistema de plantillas para enviar HTML al cliente). Si quieres hacer un juego interactivo, gran parte del trabajo tiene que suceder en el lado del cliente (en el navegador), por lo que el problema no es tanto cómo generas HTML, sino cómo haces que las cosas se muevan en la pantalla del usuario.
Para esta parte del lado del cliente, como se mencionó, su elección es Flash o JS (potencialmente usando Canvas para el navegador moderno).
Para la parte de comunicación cliente-servidor-base de datos, cualquiera de las tecnologías que mencionó estaría bien. El navegador y el servidor pueden comunicarse mediante llamadas ajax clásicas si es necesario.
No conozco un marco que pueda manejar ambos problemas, pero probablemente sea porque son realmente distintos y suceden en un lado diferente de la combinación cliente-servidor.