Llevar un juego como Mokepon a modo online implica entender cómo se comunican dos mundos: el navegador del jugador y el servidor que coordina la partida. Aquí descubrirás cómo funciona la arquitectura cliente servidor, qué papel juega el protocolo HTTP y por qué una API es la pieza que conecta a todos los jugadores en tiempo real.
Qué es la arquitectura cliente servidor en la web
Internet es una red de redes, y la forma más popular en que las computadoras se comunican dentro de ella es a través del modelo cliente servidor. Mientras lees esto desde Platzi, tu dispositivo actúa como cliente y Platzi.com responde como servidor [1:18].
En este modelo siempre hay dos actores: uno que pide un recurso y otro que lo entrega. La comunicación nunca empieza en el servidor, siempre arranca con una solicitud del cliente.
¿Qué es un cliente y qué es un servidor? El cliente es el dispositivo que consume un servicio, como tu navegador. El servidor es la computadora que provee ese servicio y devuelve los recursos solicitados.
Cómo se comunican cliente y servidor con HTTP
El protocolo que hace posible esa conversación se llama HTTP, Hypertext Transfer Protocol [2:10]. Es la forma estándar en que tu navegador se conecta con cualquier servidor de la web.
El flujo es siempre el mismo:
- El cliente envía una request o solicitud.
- El servidor procesa esa petición.
- El servidor devuelve una response o respuesta.
Por ejemplo, si entras a Platzi.com/courses, tu navegador hace una petición y Platzi te devuelve la lista de cursos almacenada en su servidor [2:55].
Cómo viaja la información a través de HTTP
A través de HTTP puedes mover prácticamente cualquier tipo de contenido. Si el navegador puede interpretarlo, lo muestra en pantalla; si no, lo descarga.
Existen tres formas principales de transferir información entre cliente y servidor:
- Archivos: texto, imágenes, videos, HTML, JavaScript o CSS [3:30].
- Streaming de datos: envío ordenado de frames en el tiempo para que muchos clientes consuman el mismo contenido en vivo, como una clase en directo o una transmisión en redes sociales [4:05].
- Transferencia de datos vía API: envío de información cruda y estructurada, sin archivos ni multimedia [4:50].
Esta última es la que vas a usar para construir Mokepon en línea.
Por qué usar una API en lugar de archivos
Cuando quieres intercambiar datos puntuales, como el nombre y la edad de una persona, no necesitas mandar un archivo completo. Lo que haces es empacar esa información en un paquete de datos con una estructura definida, como una cajita que contiene exactamente lo que el otro lado necesita leer [5:20].
El servidor responde siguiendo esa misma estructura, lo que evita confusiones y mantiene la comunicación predecible.
Qué es una API y para qué sirve en tu proyecto
En cuanto cliente y servidor empiezan a intercambiar datos, aparece la necesidad de poner reglas claras: qué formato usar, qué campos enviar, qué requisitos cumplir. Esas reglas son justo lo que define una API.
API significa Application Programming Interface [6:15]. Es la interfaz que acuerdan servidor y cliente para comunicarse sin ambigüedades.
¿Qué es una API? Es un conjunto de reglas que define cómo el cliente y el servidor intercambian datos. Garantiza que ambos hablen el mismo idioma al enviar y recibir información.
Cómo funcionará la API de Mokepon
En el proyecto vas a tener un servidor central, el servidor de Mokepon, que recibe a varios clientes: los jugadores conectados a la plataforma [6:50].
La lógica que usarás es sencilla:
- A cada jugador se le asigna un identificador único, por ejemplo A, B o C.
- El servidor también tiene su propio identificador, por ejemplo S.
- Cada jugador envía su status al servidor y los demás lo reciben a través de la API.
Con esa estructura podrás compartir entre jugadores qué Mokepon eligió cada uno, las coordenadas en el mapa donde se encuentran y, al final de la partida, los ataques seleccionados para resolver la batalla [7:40].
Qué papel juega el servidor como intermediario
El servidor no jugará la partida, funcionará como canal de comunicación entre clientes. Recibe el estado de un jugador y lo distribuye al resto, manteniendo la coherencia del juego en todos los dispositivos conectados.
Este enfoque es la base de cualquier juego multijugador moderno y de muchas aplicaciones en tiempo real que ya usas a diario.
El siguiente paso es pasar de la teoría al código. Vas a instalar Node.js para poder ejecutar JavaScript del lado del servidor y empezar a construir esa API que conectará a todos los jugadores de Mokepon [8:30]. ¿Ya tienes claro qué información te gustaría que viajara primero entre cliente y servidor en tu juego? Cuéntalo en los comentarios.