Introducción
Contribución al área PCG
Resumen
Generación automática de contenido para un
nuevo juego basado en el problema...
Introducción
Contribución al área PCG
Resumen
Índice
1 Introducción
Motivación de la PCG en juegos
Objetivos
2 Contribució...
Introducción
Contribución al área PCG
Resumen
Motivación de la PCG en juegos
Objetivos
Índice
1 Introducción
Motivación de...
Introducción
Contribución al área PCG
Resumen
Motivación de la PCG en juegos
Objetivos
Generación automática de contenido ...
Introducción
Contribución al área PCG
Resumen
Motivación de la PCG en juegos
Objetivos
Índice
1 Introducción
Motivación de...
Introducción
Contribución al área PCG
Resumen
Motivación de la PCG en juegos
Objetivos
Objetivos del algoritmo PCG impleme...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
El juego
Principales ideas de la implementación del algoritmo
Resultados y c...
Introducción
Contribución al área PCG
Resumen
Resumen
Se ha diseñado un algoritmo PCG capaz de construir
niveles de un jue...
Próxima SlideShare
Cargando en…5
×

CoSECiVi'14 - Generación automática de contenido para un nuevo juego basado en el problema de los tres cuerpos

226 visualizaciones

Publicado el

Trabajo Regular presentado en CoSECiVi'14.

Resumen:
Este trabajo presenta un algoritmo de generacion de contenido por procedimientos capaz de crear mapas completos para un videojuego que simula fenomenos fsicos. El algoritmo evolutivo desarrollado intenta mejorar la di cultad de los mapas. Ademas, gracias al uso de
poblaciones estructuradas, el algoritmo puede construir mapas que supongan un desafo tanto a los jugadores mas avanzados como a los mas inexpertos.

Publicado en: Educación
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

CoSECiVi'14 - Generación automática de contenido para un nuevo juego basado en el problema de los tres cuerpos

  1. 1. Introducción Contribución al área PCG Resumen Generación automática de contenido para un nuevo juego basado en el problema de los tres cuerpos Alejandro Gutiérrez Alcoba1, Raúl Lara-Cabrera2, Antonio J. Fernández-Leiva2 1Dept. Arquitectura de Computadores, Universidad de Málaga 2Dept. Lenguajes y Ciencias de la Computación, Universidad de Málaga Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  2. 2. Introducción Contribución al área PCG Resumen Índice 1 Introducción Motivación de la PCG en juegos Objetivos 2 Contribución al área PCG El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  3. 3. Introducción Contribución al área PCG Resumen Motivación de la PCG en juegos Objetivos Índice 1 Introducción Motivación de la PCG en juegos Objetivos 2 Contribución al área PCG El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  4. 4. Introducción Contribución al área PCG Resumen Motivación de la PCG en juegos Objetivos Generación automática de contenido para videojuegos PCG (Procedural Content Generation) consiste en la generación automática, mediante algoritmos en lugar de forma manual, de contenido para videojuegos El contenido que puede generarse por estos medios es muy diverso: terrenos del juego, características de armas u otros objetos, ciertas reglas del propio juego,. . . Ventajas: Reduce costes Reduce el consumo de memoria de los juegos Ofrece la posibilidad de generar juegos infinitos y contenido adaptado a diversos estilos de juego Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  5. 5. Introducción Contribución al área PCG Resumen Motivación de la PCG en juegos Objetivos Índice 1 Introducción Motivación de la PCG en juegos Objetivos 2 Contribución al área PCG El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  6. 6. Introducción Contribución al área PCG Resumen Motivación de la PCG en juegos Objetivos Objetivos del algoritmo PCG implementado El principal objetivo del algoritmo PCG diseñado es mejorar la dificultad de los niveles de un juego determinado, adaptandose a los jugadores con mayor habilidad, pero pudiendo diseñar al mismo tiempo niveles a jugadores principiantes. Para ello se ha diseñado un un algoritmo evolutivo de estado estacionario y población estructurada en tres clases de igual tamaño. Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  7. 7. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Índice 1 Introducción Motivación de la PCG en juegos Objetivos 2 Contribución al área PCG El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  8. 8. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones El juego: una simulación física Problema de los n cuerpos Consiste en determinar, en cualquier instante, las posiciones y velocidades de n partículas regidas por la ley de gravitación universal de Newton, partiendo de cualesquiera condiciones iniciales de posición y velocidad. Particularidades de la simulación La simulación se realiza en 2D Resulta más sencillo para el jugador Permite generalizar los resultados a otros juegos en los que el terreno se define como el grafo de cierta función f : R × R → R Define de forma natural terrenos de juego tridimensionales Una sola partícula recibe la fuerza gravitatoria del resto Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  9. 9. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones El juego: una simulación física Problema de los n cuerpos Consiste en determinar, en cualquier instante, las posiciones y velocidades de n partículas regidas por la ley de gravitación universal de Newton, partiendo de cualesquiera condiciones iniciales de posición y velocidad. Particularidades de la simulación La simulación se realiza en 2D Resulta más sencillo para el jugador Permite generalizar los resultados a otros juegos en los que el terreno se define como el grafo de cierta función f : R × R → R Define de forma natural terrenos de juego tridimensionales Una sola partícula recibe la fuerza gravitatoria del resto Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  10. 10. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones El juego: una simulación física Problema de los n cuerpos Consiste en determinar, en cualquier instante, las posiciones y velocidades de n partículas regidas por la ley de gravitación universal de Newton, partiendo de cualesquiera condiciones iniciales de posición y velocidad. Particularidades de la simulación La simulación se realiza en 2D Resulta más sencillo para el jugador Permite generalizar los resultados a otros juegos en los que el terreno se define como el grafo de cierta función f : R × R → R Define de forma natural terrenos de juego tridimensionales Una sola partícula recibe la fuerza gravitatoria del resto Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  11. 11. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones El juego: una simulación física Problema de los n cuerpos Consiste en determinar, en cualquier instante, las posiciones y velocidades de n partículas regidas por la ley de gravitación universal de Newton, partiendo de cualesquiera condiciones iniciales de posición y velocidad. Particularidades de la simulación La simulación se realiza en 2D Resulta más sencillo para el jugador Permite generalizar los resultados a otros juegos en los que el terreno se define como el grafo de cierta función f : R × R → R Define de forma natural terrenos de juego tridimensionales Una sola partícula recibe la fuerza gravitatoria del resto Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  12. 12. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones El juego: una simulación física Problema de los n cuerpos Consiste en determinar, en cualquier instante, las posiciones y velocidades de n partículas regidas por la ley de gravitación universal de Newton, partiendo de cualesquiera condiciones iniciales de posición y velocidad. Particularidades de la simulación La simulación se realiza en 2D Resulta más sencillo para el jugador Permite generalizar los resultados a otros juegos en los que el terreno se define como el grafo de cierta función f : R × R → R Define de forma natural terrenos de juego tridimensionales Una sola partícula recibe la fuerza gravitatoria del resto Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  13. 13. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones El juego: una simulación física Problema de los n cuerpos Consiste en determinar, en cualquier instante, las posiciones y velocidades de n partículas regidas por la ley de gravitación universal de Newton, partiendo de cualesquiera condiciones iniciales de posición y velocidad. Particularidades de la simulación La simulación se realiza en 2D Resulta más sencillo para el jugador Permite generalizar los resultados a otros juegos en los que el terreno se define como el grafo de cierta función f : R × R → R Define de forma natural terrenos de juego tridimensionales Una sola partícula recibe la fuerza gravitatoria del resto Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  14. 14. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones El juego Gravityvolve en internet Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  15. 15. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones La física del juego Ley de Gravitación Universal La fuerza ejercida entre dos cuerpos distintos de masas m1 y m2 y separados sus centros de masa por una distancia r, es proporcional al producto de sus masas e inversamente proporcional al cuadrado de la distancia. En concreto, F = G m1m2 r Segunda ley de Newton Establece la relación entre la aceleración a de un cuerpo, su masa m1 y la fuerza que se le aplica F = m1a Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  16. 16. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones La física del juego Los resultados anteriores permiten calcular la aceleración que sufre una partícula de masa m1 por el efecto de otra de masa m2 a = G m2 r2 Vectorialmente a = m2 r3 (p2 − p1) siendo p1 y p2 los vectores de las partículas de masas m1 y m2, respectivamente. Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  17. 17. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Un nivel como un terreno tridimensional Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  18. 18. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Índice 1 Introducción Motivación de la PCG en juegos Objetivos 2 Contribución al área PCG El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  19. 19. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Representación de individuos (niveles) Los n planetas que definen la parte más importante de un nivel tienen tres genes: posición horizontal, vertical y masa El radio de los planetas se define en todos los constructores de la clase proporcional a √ m La posición de la partícula y el objetivo se establece a partir de un índice que indica el planeta y el argumento (ángulo) con el que se posicionará Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  20. 20. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Constructor aleatorio de niveles Los planetas que definen el nivel van generándose uno a uno siguiendo estos pasos: 1 Asignar atributo “masa” (distribución N(500, 200)) 2 Asignar los atributos de posición X e Y Posición X: U(900 − 2(rp + rparticle)) + rp + rparticle Posición Y: U(600 − 2(rp + rparticle)) + rp + rparticle 3 ¿Bien definido con los anteriores? De esta forma se consiguen definir niveles muy diversos, apropiados para servir de población inicial del algoritmo evolutivo. Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  21. 21. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Constructor aleatorio de niveles Los planetas que definen el nivel van generándose uno a uno siguiendo estos pasos: 1 Asignar atributo “masa” (distribución N(500, 200)) 2 Asignar los atributos de posición X e Y Posición X: U(900 − 2(rp + rparticle)) + rp + rparticle Posición Y: U(600 − 2(rp + rparticle)) + rp + rparticle 3 ¿Bien definido con los anteriores? De esta forma se consiguen definir niveles muy diversos, apropiados para servir de población inicial del algoritmo evolutivo. Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  22. 22. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Constructor aleatorio de niveles Los planetas que definen el nivel van generándose uno a uno siguiendo estos pasos: 1 Asignar atributo “masa” (distribución N(500, 200)) 2 Asignar los atributos de posición X e Y Posición X: U(900 − 2(rp + rparticle)) + rp + rparticle Posición Y: U(600 − 2(rp + rparticle)) + rp + rparticle 3 ¿Bien definido con los anteriores? De esta forma se consiguen definir niveles muy diversos, apropiados para servir de población inicial del algoritmo evolutivo. Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  23. 23. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Constructor aleatorio de niveles Los planetas que definen el nivel van generándose uno a uno siguiendo estos pasos: 1 Asignar atributo “masa” (distribución N(500, 200)) 2 Asignar los atributos de posición X e Y Posición X: U(900 − 2(rp + rparticle)) + rp + rparticle Posición Y: U(600 − 2(rp + rparticle)) + rp + rparticle 3 ¿Bien definido con los anteriores? De esta forma se consiguen definir niveles muy diversos, apropiados para servir de población inicial del algoritmo evolutivo. Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  24. 24. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Constructor aleatorio de niveles Los planetas que definen el nivel van generándose uno a uno siguiendo estos pasos: 1 Asignar atributo “masa” (distribución N(500, 200)) 2 Asignar los atributos de posición X e Y Posición X: U(900 − 2(rp + rparticle)) + rp + rparticle Posición Y: U(600 − 2(rp + rparticle)) + rp + rparticle 3 ¿Bien definido con los anteriores? De esta forma se consiguen definir niveles muy diversos, apropiados para servir de población inicial del algoritmo evolutivo. Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  25. 25. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Constructor aleatorio de niveles Los planetas que definen el nivel van generándose uno a uno siguiendo estos pasos: 1 Asignar atributo “masa” (distribución N(500, 200)) 2 Asignar los atributos de posición X e Y Posición X: U(900 − 2(rp + rparticle)) + rp + rparticle Posición Y: U(600 − 2(rp + rparticle)) + rp + rparticle 3 ¿Bien definido con los anteriores? De esta forma se consiguen definir niveles muy diversos, apropiados para servir de población inicial del algoritmo evolutivo. Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  26. 26. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Diseño del algoritmo Tras inicializar la población se lleva a cabo el bucle del algoritmo, hasta 2*MAX_ITER nuevas evaluaciones: 1 Selección de dos individuos distintos mediante torneo binario 2 Proceso de cruce (probabilidad CROSSOVER_RATE) 3 Mutación de la descendencia generada (probabilidad MUTATION_RATE y MUTATION_PARTICLES_RATE) 4 Inserción de nuevos individuos en la población estructurada 5 Evaluación global de la población Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  27. 27. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Diseño del algoritmo Tras inicializar la población se lleva a cabo el bucle del algoritmo, hasta 2*MAX_ITER nuevas evaluaciones: 1 Selección de dos individuos distintos mediante torneo binario 2 Proceso de cruce (probabilidad CROSSOVER_RATE) 3 Mutación de la descendencia generada (probabilidad MUTATION_RATE y MUTATION_PARTICLES_RATE) 4 Inserción de nuevos individuos en la población estructurada 5 Evaluación global de la población Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  28. 28. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Diseño del algoritmo Tras inicializar la población se lleva a cabo el bucle del algoritmo, hasta 2*MAX_ITER nuevas evaluaciones: 1 Selección de dos individuos distintos mediante torneo binario 2 Proceso de cruce (probabilidad CROSSOVER_RATE) 3 Mutación de la descendencia generada (probabilidad MUTATION_RATE y MUTATION_PARTICLES_RATE) 4 Inserción de nuevos individuos en la población estructurada 5 Evaluación global de la población Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  29. 29. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Diseño del algoritmo Tras inicializar la población se lleva a cabo el bucle del algoritmo, hasta 2*MAX_ITER nuevas evaluaciones: 1 Selección de dos individuos distintos mediante torneo binario 2 Proceso de cruce (probabilidad CROSSOVER_RATE) 3 Mutación de la descendencia generada (probabilidad MUTATION_RATE y MUTATION_PARTICLES_RATE) 4 Inserción de nuevos individuos en la población estructurada 5 Evaluación global de la población Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  30. 30. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Diseño del algoritmo Tras inicializar la población se lleva a cabo el bucle del algoritmo, hasta 2*MAX_ITER nuevas evaluaciones: 1 Selección de dos individuos distintos mediante torneo binario 2 Proceso de cruce (probabilidad CROSSOVER_RATE) 3 Mutación de la descendencia generada (probabilidad MUTATION_RATE y MUTATION_PARTICLES_RATE) 4 Inserción de nuevos individuos en la población estructurada 5 Evaluación global de la población Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  31. 31. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Diseño del algoritmo Tras inicializar la población se lleva a cabo el bucle del algoritmo, hasta 2*MAX_ITER nuevas evaluaciones: 1 Selección de dos individuos distintos mediante torneo binario 2 Proceso de cruce (probabilidad CROSSOVER_RATE) 3 Mutación de la descendencia generada (probabilidad MUTATION_RATE y MUTATION_PARTICLES_RATE) 4 Inserción de nuevos individuos en la población estructurada 5 Evaluación global de la población Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  32. 32. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Crossover Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  33. 33. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Mutación Cada gen (posición horizontal, vertical, masa) de los planetas se mutan con una probabilidad p = 1 3n , con n el número de planetas. Así, el número de este tipo de genes que son mutados sigue una distribución X ∼ B(3n, 1 3n ), de media E(X) = 3n 1 3n = 1 En cada caso, la mutación consiste en sumar el valor de una N(0, 50) Cada uno de los genes relativos a la partícula y el objetivo se mutan con probabilidad 0, 15. La mutación en estos casos sigue una uniforme en el rango del atributo en cuestión. Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  34. 34. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Función de aptitud: intersecciones Consiste en poner “tierra de por medio” entre la partícula y el planeta en que se encuentra el objetivo. Calcula la ecuación de la recta que pasa por el punto central de la partícula y del planeta objetivo. Comprueba si cada uno de los planetas intermedios interseca con la recta y cual es esa distancia. Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  35. 35. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Función de aptitud: minimizar atracción en el objetivo Calcula el vector de aceleración total en n puntos alrededor del planeta objetivo y su proyección sobre el vector definido entre el punto considerado en ese momento y el centro del planeta objetivo: Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  36. 36. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Función de aptitud basada en simulación directa Mide la dificultad de alcanzar el objetivo en el primer lanzamiento Simula el lanzamiento de la partícula con multitud de vectores de velocidad diferentes En cada acierto mide la dificultad de dicho acierto dificultadAcierto = 1 distancia * timesCollided Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  37. 37. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Índice 1 Introducción Motivación de la PCG en juegos Objetivos 2 Contribución al área PCG El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  38. 38. Introducción Contribución al área PCG Resumen El juego Principales ideas de la implementación del algoritmo Resultados y conclusiones Dificultad de los niveles generados Niveles maximizando intersecciones Niveles minimizando atracción en el objetivo Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado
  39. 39. Introducción Contribución al área PCG Resumen Resumen Se ha diseñado un algoritmo PCG capaz de construir niveles de un juego de forma online y adaptados a todo tipo de jugadores. El juego diseñado define de forma natural terrenos tridimensionales e incluye de forma implícita las físicas. Muchas de las técnicas vistas pueden ser utilizadas de forma más general para la generación de contenido en otros juegos. Trabajos futuros Construir niveles con funciones multiobjetivo. Realizar un análisis de la satisfacción de los jugadores con los niveles en una futura encuesta. Mejorar la función de simulación Alejandro Gutiérrez Alcoba, Raúl Lara-Cabrera, Antonio J. Fernández-LeivaGeneración automática de contenido para un nuevo juego basado

×