jueves, 6 de mayo de 2010

Screaming Racers

Screaming Racers es un videojuego de simulación de carreras donde los coches están controlados por agentes inteligentes que comienzan sin tener ningún conocimiento del entorno ni del vehículo. Estos agentes tratan de aprender y mejorar sus habilidades como pilotos, teniendo en cuenta que el único conocimiento que van a tener es el que ellos mismos sean capaces de aprender. El objetivo del juego es crear el mejor grupo artificial de pilotos para poder competir en cualquier circuito y contra cualquier otro equipo.

Arquitectura interna.

Este videojuego se ha diseñado como un sistema multiagente para beneficiarse de las ventajas de un modelo distribuido. La aplicación está dividida en dos partes: servidor y clientes.
El servidor cuenta con un simulador que da vida al entorno donde los agentes piloto se desarrollan, interactúan y aprenden.

Los clientes serán utilizados por los jugadores para conectarse al servidor. El diseño multiagente proporciona una serie de ventajas en lo que se refiere a los agentes piloto. Estos pueden ser movidos desde los clientes al servidor y viceversa cuando sea necesario. Por este motivo se minimizan los problemas de la latencia en las comunicaciones. Por otro lado, los agentes piloto pueden sentir el entorno mediante una serie de sensores predefinidos y además se pueden comunicar entre ellos, permitiendo a los equipos compartir el conocimiento para beneficiarse de un comportamiento colaborativo.
En esta arquitectura cliente/servidor, los principales componentes se encuentran dentro del servidor. Son los responsables de mantener el entorno virtual y el sistema multiagente, además de las comunicaciones entre los clientes. A continuación presentamos una breve descripción de cada uno de estos componentes:
  • Motor Físico: su objetivo es el de aplicar las distintas leyes que rigen la física a todos los objetos que se encuentran en el entorno.

  • Agente Simulador: es el responsable de gestionar y desarrollar cada sesión de entrenamiento o competición. Debe comunicarse con todos los agentes piloto para que estos puedan coordinar su funcionamiento. Funciona también como agente pizarra para comunicaciones entre equipos.

  • Motor Gráfico: muestra en pantalla la apariencia de entorno y la interfaz de usuario.

  • Agente Controlador: es el encargado de coordinar al resto de componentes.

  • Agente Comunicador: implementa las tareas de comunicación entre servidor y clientes y viceversa.

  • Agentes Piloto: cada uno de estos agentes implementa el cerebro de uno de los pilotos del simulador. Reciben información de sus sensores por medio del agente simulador y toman decisiones para actuar en consecuencia.



Resultados obtenidos.


Trazadas de un vehículo: a) Piloto sin evolucionar. b) Piloto entrenado.




No hay comentarios:

Publicar un comentario