
Un cliente de juego es un cliente de red que conecta a un usuario individual con el servidor principal del juego , utilizado principalmente en videojuegos multijugador . Recopila datos como puntuación, estado del jugador, posición y movimiento de un solo jugador y los envía al servidor del juego, lo que permite al servidor recopilar los datos de cada individuo y mostrar a cada jugador en el juego, [ 1 ] ya sea un juego de arena a pequeña escala o un juego masivo con miles de jugadores en el mismo mapa . Aunque el servidor del juego muestra la información de cada jugador para cada jugador en un juego, los jugadores aún tienen su propia perspectiva única a partir de la información recopilada por el cliente del juego, de modo que la perspectiva de cada jugador del juego es diferente, aunque el mundo para cada jugador sea el mismo. El cliente del juego también permite compartir información entre los usuarios. Un ejemplo sería el intercambio de objetos en muchos juegos MMORPG donde un jugador intercambia un objeto que no quiere por uno que sí quiere, los clientes del juego se interconectan entre sí y permiten compartir información, en este intercambio de objetos. Dado que muchos juegos requieren un espacio centralizado para que los jugadores se reúnan y una forma para que los usuarios intercambien su información, muchos clientes de juegos son un híbrido de estructuras de aplicaciones cliente-servidor y peer-to-peer .
Historia
La World Wide Web nació en un NeXTCube con una CPU de 256 MHz, 2 GB de disco y un monitor en escala de grises que ejecutaba NeXTSTEP OS. Sir Tim Berners-Lee puso la primera página web en línea el 6 de agosto de 1991, mientras trabajaba para el CERN en Ginebra, Suiza. [ 2 ] Los juegos en línea comenzaron a principios de los años setenta. En ese momento, los tablones de anuncios de acceso telefónico proporcionaban a los jugadores una forma de jugar juegos a través de Internet. En la década de 1990, las nuevas tecnologías permitieron que surgieran sitios de juegos por toda la Internet. [ 3 ] El sistema cliente-servidor proporcionó a los juegos en línea una forma de funcionar a gran escala.
Funciones
Un cliente de juego tiene 4 funciones principales: Recibir entradas, Analizar datos, Dar retroalimentación, Ajustar el sistema.
Recibe entrada
Un cliente de juego recibe información de un usuario individual. En un juego FPS, por ejemplo, un jugador realiza diversas acciones como moverse, disparar y comunicarse. Cada una de ellas requiere que el jugador controle los dispositivos de entrada . Tras recibir dicha información, el cliente de juego la envía de vuelta al servidor. [ 4 ]
Analiza datos
El cliente del juego decodifica y muestra la información que conforma el mundo del juego, incluidos los objetos almacenados en el ordenador y los resultados de las acciones realizadas por los jugadores, y luego traduce esta información a la interfaz de usuario y a los dispositivos de salida.
Da retroalimentación
El servidor procesa la información y la envía de vuelta al cliente. El cliente mostrará la información procesada al jugador según su punto de vista, de modo que cada jugador tendrá una perspectiva diferente de la pantalla debido a sus clientes privados.
Ajustar el sistema
El cliente también detectará cualquier cambio realizado por los jugadores durante la sesión de juego, incluyendo la disposición y la configuración. Dado que el juego es en tiempo real y los jugadores envían acciones constantemente, el cliente procesa información continuamente y ajusta el sistema en consecuencia.
Ejemplo de aplicación
Aquí tienes un ejemplo de cómo funciona el cliente del juego, usando League of Legends . En este ejemplo, un jugador llamado 7Turtle7 usa al personaje Kha'Zix para atacar a un personaje neutral conocido como "Red Brambleback". Varias cosas suceden desde la perspectiva del cliente.
1. El cliente extrae los datos almacenados en los archivos informáticos. Esto incluye las estadísticas del jugador, los objetos del mapa, las criaturas, las ilustraciones, los comportamientos de los personajes y otros datos estáticos para crear el entorno del jugador.
2. 7Turtle7 intenta atacar a Red Brambleback. El cliente envía datos de 7Turtle7 y Red Brambleback sobre estadísticas como posición, salud, maná, daño, defensa y muchos otros datos al servidor y permite que el servidor calcule el nuevo estado del mundo después de que 7Turtle7 ataque a Red Brambleback.
3. El servidor procesa los datos y los envía de vuelta a los clientes de todos los demás jugadores, informando lo que 7Turtle7 acaba de hacer y cómo el cliente debe dar retroalimentación al respecto. Después de que el cliente de 7Turtle7 recibe esta información, crea la salida y se la envía de vuelta a 7Turtle7. En este ejemplo, podemos ver que apareció un número rojo que indica el daño infligido a Red Brambleback y un 3 apareció en el panel de habilidades que indica el tiempo de reutilización de la habilidad que 7Turtle7 acaba de usar. El comportamiento del personaje, en este caso Red Brambleback, también cambia debido al ataque. Ahora se convierte en una criatura hostil que atacará a 7Turtle7 según la programación del juego, ya que 7Turtle7 atacó primero a Red Brambleback. Las salidas de arte como la animación de ataque, la barra de salud y la barra de maná también cambian.
4. Los demás clientes del juego también están al tanto del ataque de 7Turtle7, pero, según su perspectiva, deciden si les muestran o no esta información. Por ejemplo, el cliente de un jugador del equipo contrario está al tanto del ataque, pero no le mostrará los cambios, ya que el juego está configurado para que sea necesario descubrir que 7Turtle7 realiza tal movimiento para que se muestre en su pantalla.
5. Si bien el cliente envía y recibe datos desde la perspectiva de un usuario, hay datos que se comparten con todos los participantes del juego y otros que no se comparten en absoluto. Por ejemplo, en la esquina superior derecha de la perspectiva de 7Turtle7, se muestra un indicador de tiempo, el cual es el mismo para todos los jugadores. También se muestran los indicadores de FPS y Ping , que son exclusivos de 7Turtle7 y no se comparten con el cliente.
Uso
Adopción de tecnología
Para muchos desarrolladores de videojuegos, el proceso de utilizar nuevo software, a menudo denominado adopción de tecnología, es clave para su ingeniería. Plataformas estandarizadas como HTML5 y JavaScript permiten integraciones multimedia y desarrollos más profundos en navegadores web tradicionales y sistemas basados en navegador . Un cliente de juego proporciona la capacidad de hacerlo. [ 5 ]
Experiencia de usuario
Equilibrar el juego es un gran desafío para los desarrolladores. Un gran número de usuarios conectados al servidor desde sus clientes podría generar un alto consumo de recursos , pero al mismo tiempo, los usuarios necesitan permanecer conectados al juego . Los clientes del juego proporcionarán este tipo de información a un servidor centralizado.
Cooperación de los empleados
A medida que el juego se desarrolla, se añadirán nuevas funciones. En lugar de un equipo pequeño y cohesionado que no requiere mucha cooperación al inicio del juego, un juego desarrollado suele contar con varios departamentos trabajando juntos para encontrar una solución, lo que exige que todos los departamentos trabajen en armonía.
Actualizaciones
A veces, el equipo de desarrollo del juego crea contenido nuevo o corrige errores anteriores, lo que significa que necesitan que los clientes de cada jugador se sincronicen con el servidor. Una forma en que un desarrollador de juegos puede corregir errores o agregar contenido nuevo a un juego es mediante parches. La plataforma de distribución digital alertará al usuario cuando haya una actualización disponible, y el cliente aplicará esos parches de actualización automáticamente para los usuarios para garantizar que todos tengan la misma perspectiva del contenido del juego cuando se hayan realizado cambios. [ 6 ] Algunos ejemplos de plataformas de distribución digital incluyen Steam , Origin y Battle.net , que brindan los mismos servicios en lo que respecta a los clientes de juegos.
Véase también
Referencias
- ↑ "Space Crack: Arreglando el género de estrategia por turnos" . www.lostgarden.com . 13 de junio de 2005. Archivado del original el 20 de octubre de 2019. Consultado el 30 de octubre de 2016 .
- ↑ "Historia de los servidores en imágenes, desde 1981 hasta hoy | Blog de iWeb" . blog.iweb.com . Consultado el 31 de octubre de 2016 .
- ↑ "La historia de los juegos en línea - DigiSecrets" . DigiSecrets . 11 de marzo de 2013. Consultado el 31 de octubre de 2016 .
- ↑ "Cómo funciona World of Warcraft" . HowStuffWorks . 16 de noviembre de 2007. Consultado el 30 de octubre de 2016 .
- ↑ "La arquitectura de la actualización del cliente de League of Legends" . engineering.riotgames.com . 16 de mayo de 2016. Consultado el 31 de octubre de 2016 .
- ↑ "Cómo funciona World of Warcraft" . HowStuffWorks . 16 de noviembre de 2007. Consultado el 31 de octubre de 2016 .
- Clientes (informática)
- desarrollo de videojuegos
- videojuegos multijugador
- Plataformas de videojuegos