Como ejemplo de una aplicación web en tiempo real, he implementado el juego Arkanoid utilizando WebSockets. A diferencia de una arquitectura clásica, donde el programa corre íntegramente en la máquina que ejecuta el código, en esta implementación la lógica del juego corre en la parte del servidor, y el cliente se dedica a comunicar a este el estado de los controles y a dibujar los gráficos en el navegador (thin client).
Entre otras, esta estrategia suele utilizarse para la creación de juegos multijugador. Como se ha explicado, las reglas del juego y el estado de los jugadores – posición, puntuación, nivel, vida, etc. – son controlados por el servidor. La carga gráfica y el estado de los controles es manejada por el cliente.
Aunque este juego es de un solo jugador, sirve de muestra de aplicación distribuida usando tecnología WebSockets. En una segunda parte implementaré el juego agar.io como ejemplo de juego multijugador.
Código fuente: https://github.com/sergiss/arkanoid-ws