Por problemas de instalaciones de UT2004:
He enfocado mi trabajo de fin de grado
al desarrollo de un bot que sea capaz de jugar dentro de
diversos entornos
virtuales (videojuegos). Propuesto por GVG-AI Competition.
Dentro de esta página se nos presenta diversos enlaces:
-Para empezar
-Framework para la GVG-AI
-Competición de la GVG-AI
Dentro del apartado de "Para empezar":
Se encuentra las pautas para poder participar. Que requiere
de un inicio de sesión en la web para participar. Aconsejan que te añadas al
grupo de google para mantenerse actualizado de todas las novedades y cambios.
Que descargues el código.
Y lo más importante, los requisitos del bot a desarrollar
para que sea válido:
-Constructor público que reciba 2 parámetros (stateObservation,
ElapsedCPUTimer)
-Método Act que reciba 2 parámetros que serían los mismos en
el mismo orden y
devuelva Types.Actions para aplicar una decisión.
Después, para actualizar o confirmar tu controlador tienes
que ir a la sección
"submit" y actualizar tu .zip. Esto lo registrara
en una cola para validarlo.
Por último, si hay algunas dudas ponen el enlace directo a
todas las reglas.
Dentro del apartado de código está el enlace directo a la
última versión del framework y el controlador de uno y dos jugadores.
Dentro del apartado de "The GVG-AI Framework":
El primer enlace "Code":
Es un enlace hacia el repositorio de GITHUB con ejemplos e información
sobre las estructuras y descripciones de los tracks. Con información de cada
clase del
código que vamos a utilizar.
En el segundo enlace "VGDL":
Es el lenguaje de definición de juegos desarrollado por Tom
Schaul. Con el enlace directo para la versión de java y python.
En el tercer enlace "Creating a Controller":
Donde se realiza una descripción un poco más detallada de
nuestra clase Agente.
Donde se describen los dos métodos anteriormente nombrados y
la explicación de los
parámetros pasados.
StateObservation so: que es la visión que tiene el agente
del mundo.
ElapsedCpuTimer elapsedTimer: es la clase que permite poner
en cola a la CPU de
la acción seleccionada por el Agente.
Dentro de "Forward Model":
Describe todas las funciones que podemos utilizar de la
clase StateObservation.
Ejemplos de funciones:
Apartado Estado:
- void advance(Types.ACTIONS action) : ejecuta la acción
pasada por parámetro.
- StateObservation copy() : devuelve una copia exacta del
estado de observación del objeto.
Apartado Juego:
-int getGameTick() : devuelve un tick del juego en ese
momento.
-double getGameScore() : obtiene la puntuación actual del
juego.
Apartado Avatar:
-ArrayList<Types.ACTIONS> getAvailableActions() :
devuelve las acciones disponible de nuestro agente.
-Vector2d getAvatarPosition() : devuelve la posición dentro
de entorno de nuestro agente en coordenadas 2D.
Apartado Eventos:
-TreeSet<Event> getEventsHistory() : devuelve una
lista de los eventos que han ocurrido durante el juego. Como colisiones de
nuestro agente con otros objetos
ordenado de manera ascendente.
Apartado Observaciones:
-ArrayList<Observation>[] getNPCPositions() : devuelve
un array con la lista de las posiciones de cada NPC dentro del juego.
-ArrayList<Observation>[][] getObservationGrid() :
devuelve una cuadricula de todas las observaciones del nivel accesibles dentro
de las coordenadas 'x' e 'y'.
Cada celda tiene su getBlockSize() del tamaño en pixeles.
Dentro de "General Specifications":
El constructor debe de responder antes o igual a un segundo
sino será expulsado del juego.
El controlador tiene 40 milisegundos para responder con una acción
cuando la función act es llamada.
Cuando se descalifica pierdes directamente en ese juego con
-1000 puntos.
Coger más de esos 40 milisegundos se considera penalización
suficiente para no permitir entrar en la competición.
Dentro del apartado de la programación, las anotaciones
serian:
El código presentado a la competición será publicado
posteriormente para su libre descarga cuando acabe la competición.
Todos los controladores deben estas escritos en Java.
El JDK deberá ser el 1.7 que es el que funciona con
Java-VGDL.
La entrega debe ser en un comprimido Zip.
Multihilos no está permitido.
Las bases de los ejemplos pueden ser utilizados como base de
desarrollo.
No se permite la modificación del "forward model",
en ese caso será descalificado.
Dentro del apartado de "The GVG-AI Competition"
tenemos diversos enlaces hacia:
-Los distintos "tracks": 1-Player / 2-Player /
Level Generation / Rule Generation
-Varios trainings set del 1-8 para 1-Player.
-Varios trainings set del 1-5 para 2-Player.
-Ranking de la competición.
No hay comentarios:
Publicar un comentario