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 dicultad 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.
CoSECiVi'14 - Generación automática de contenido para un nuevo juego basado en el problema de los tres cuerpos
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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