SlideShare ist ein Scribd-Unternehmen logo
1 von 88
Downloaden Sie, um offline zu lesen
Generación AutomáticaGeneración Automática
de Contenidos parade Contenidos para
Videojuegos medianteVideojuegos mediante
Programación GenéticaProgramación Genética
Francisco Fernández de VegaFrancisco Fernández de Vega
fcofdez.wordpress.comfcofdez.wordpress.com
fcofdez@unex.esfcofdez@unex.esFacultad Informática, UCM
18 Abril 2016
Índice
 El negocio de los videojuegos.El negocio de los videojuegos.
 Videjuegos y CI.Videjuegos y CI.
 Generación Procedimental deGeneración Procedimental de
Contenidos.Contenidos.
 Genetic Terrain Programming.Genetic Terrain Programming.
Facultad Informática, UCM
18 Abril 2016
Índice
 El negocio de los videojuegos.El negocio de los videojuegos.
 Videjuegos y CI.Videjuegos y CI.
 Generación Procedimental deGeneración Procedimental de
Contenidos.Contenidos.
 Genetic Terrain Programming.Genetic Terrain Programming.
Facultad Informática, UCM
18 Abril 2016
Facturación
• En 2014 creción un 31%.
• 83.600 millones en 2014.
– 413 millones de euros en España y
más de 400 empresas censadas.
• GTA V recaudó en 24 horas 815
millones de dólares (Harry Potter
recaudó 220 millones en el mismo
tiempo)
Libro blanco desarrollo español de
videojuegos 2015.
Consumo
• Según la AEVI (Asociación Española
de Videojuegos), el consumo global
superó en españa los 1000 millones
de euros.
• En España, 13 millones de
videojugadores.
Facturación
Cuota de Mercado
Empresas
Perfiles profesionales
Perfiles profesionales
c
Hace mucho tiempo...
Videojuegos: Pre-historia
• El juego se llamó “Tennis for Two”.
• Programó un movimiento balístico, con
posibilidad de intercepción.
• La construcción se realizó para una
muestra al público de las
instalaciones.
– http://www.youtube.com/watc
h?v=s2E9iSQfGdg
Índice
 El negocio de los videojuegos.El negocio de los videojuegos.
 Videjuegos y CIVidejuegos y CI..
 Generación Procedimental deGeneración Procedimental de
Contenidos.Contenidos.
 Genetic Terrain Programming.Genetic Terrain Programming.
Facultad Informática, UCM
18 Abril 2016
Computational
Intelligence
 Conjunto de metodologías
computacionales inspiradas por la
naturaleza que permiten atacar
problemas del mundo real.
 (en los que las matemáticas o el
modelado tradicional no sirven).
Algoritmos Evolutivos
 Basados en la teoría de la Evolución
mediante selección Natural de
Darwin.
Charles Darwin:
El Origen de las
Especies.
1859.
Introducción
F
.
F
e
r
n
á
n
d
e
z
¿Evo...qué?
¿Evo...qué?
Neodarwinismo
Introducción
F
.
F
e
r
n
á
n
d
e
z
El Mar de la Inteligencia
Artificial
IA
F
.
F
e
r
n
á
n
d
e
z
El Mar de la Inteligencia
Artificial
Soft Computing
IA
F
.
F
e
r
n
á
n
d
e
z
¿Cómo funciona un AE?
 Un resumen:
 T=0;
 Inicializar y Evaluar [P(t)]
 While condición_fin no alcanzada do
 P´(t)=variation [P(t)]
 Evaluate P´(t)
 P(t+1)=select [P´(t),P(t)]
 T=t+1
 end while
Introduction 21
Algoritmos Evolutivos
Algoritmos Evolutivos
F
.
F
e
r
n
á
n
d
e
z
Para que la evolución actúe se deben cumplir
cuatro condiciones:
•Los individuos de la población deben ser
capaces de reproducirse.
•La supervicencia de los individuos depende
de caracteres afectados por variaciones.
•Los caracteres pasan de padres a hijos
mediante la herencia.
•Los individuos de la población compiten por
los recursos.
T22
VARIACIÓN.
HERENCIA
SUPERPOBLACIÓN
Algoritmos Evolutivos
Los individuos
forman la
población
Diferentes
caracteres:
Los individuos
compiten por
los recursos
Herencia y
Reproducción
T23 Algoritmos Evolutivos
F
.
F
e
r
n
á
n
d
e
z
Individuos de la
Población: Soluciones
Candidatas
Operaciones Básicas
 Evaluación.
 Selección.
 Cruce.
 Mutación.
¿Porqué funcionan?
 Informalmente, los AEs realizan dos
tareas:
 Exploración del espacio de búsqueda.
 Explotación de zonas “buenas”.
 Formalmente, existen estudios de
convergencia para cada uno de los
algoritmos englobados en los AEs.
Problemas abordados
 Air-Injected Hydrocyclone OptimizationArtificial
IntelligenceAssignation of Radio-Link FrequenciesAutomated
Parameter Tuning for Sonar Information ProcessingBin
PackingClusteringCommunication Network DesignConformational
Analysis of DNAData MiningDynamic
Anticipatory Routing in Circuit-Switched Telecommunications Network
Electronic-Circuit LayoutFlow ControlFuzzy Controller DesignGas-
Pipeline ControlGenetic Synthesis of Neural Network Architecture
Hybrid EC SystemsImage Generation and Recognition
Interdigitation (Engineering Design Optimization)Job Shop
SchedulingKnowledge AcquisitionLearningMathematical and
Numerical OptimizationModels of International Security
Multiple Fault DiagnosisNeural Network DesignNonlinear
Dynamical SystemsOrdering Problems (TSP, N-Queens, . . . )
Parallel Process SchedulingParametric Design of AircraftPortfolio
OptimizationQuery Optimization in DatabasesReal Time Control of
Physical SystemsRobot Trajectory Generation
Sequence Scheduling (Genetic Edge Recombination)Strategy
AcquisitionSymbolic Integration and DifferentiationTime-Serie
Analysis and PredictionTraveling
Salesman (Genetic Edge Recombination)
Validation of Communication ProtocolsVLSI DesignWYSIWYG
Artistic DesignX-Ray Crystallography
¿AEs y Videojuegos?
Ms PacMan Competition
CI y Videojuegos
7th Workshop on Procedural Content Generation
¿Cuánto cuesta?
– Licencia plataforma 11%
– Otras licencias 12%
– Programación 20%
– Diseño y producción 25%
– Márketing 12%
– Edición y distribución 8%
– Márgenes venta 20%
¿Cuánto cuesta?
– Licencia plataforma 11%
– Otras licencias 12%
– Programación 20%
– Diseño y producción 25%
– Márketing 12%
– Edición y distribución 8%
– Márgenes venta 20%
Generación
Procedimental de
Contenidos
• ¿Porqué PCG?
– ¿Cuál es el coste del desarrollo de
contenidos?
• Escenarios.
• Dinámicas del juego.
• Objetivos.
• Guión.
• Música...
Yavalath: Juego de Mesa diseñado
mediante Programación Genética.
(Ganador Hummies 2012)
Generación
Procedimental de
Contenidos
• No es algo nuevo:
– Se utilizó ya en los años 80.
Akalabeth, world of doom.
AEs+Videojuegos
• ¿Qué podemos hacer?
– Generación de Contenidos.
– Inteligencia Computacional.
Diseño Evolutivo
 Evolutionary Design by Computers,
P. Bentley. MIT Press.
 The Art of Artificial Evolution, J.
Romero, P. Machado. Springer.
Diseño Evolutivo
 Karl Sims:Karl Sims:
 Primordial Dance:Primordial Dance:
http://es.youtube.com/watch?v=vIVjEkWTEXIhttp://es.youtube.com/watch?v=vIVjEkWTEXI
 Panspermia:Panspermia:
http://es.youtube.com/watch?v=AgeuRukfZLhttp://es.youtube.com/watch?v=AgeuRukfZL
 Virtual Creatures:Virtual Creatures:
http://es.youtube.com/watch?v=F0OHycypSGhttp://es.youtube.com/watch?v=F0OHycypSG
"Artificial Evolution for Computer Graphics"
K.Sims, Computer Graphics (Siggraph '91 proceedings), July 1991, pp.319-328
Diseño Evolutivo
 Karl Sims: www.genarts.com
Curso Internacional de Verano: 15,
16 Julio, Almendralejo, Badajoz.
Diseño Evolutivo
 John Collomose (University of Bath)
Diseño Evolutivo
 John Collomose
Diseño Evolutivo
 John Collomose
Índice
 El negocio de los videojuegos.El negocio de los videojuegos.
 Videjuegos y CI.Videjuegos y CI.
 Generación Procedimental deGeneración Procedimental de
Contenidos.Contenidos.
 Genetic Terrain Programming.Genetic Terrain Programming.
Facultad Informática, UCM
18 Abril 2016
Videojuegos y CI
 Diseño de Terrenos.
Diseño de Terrenos
 Medición real (remote sensing).
 Modelado artístico (Blender).
 Procedimentales:
 Fractales (Terragen).
 Evolutivo: Diseño evolutivo utilizado con
otros fines.
Terragen
http://www.planetside.co.uk/terr
agen/
Creatividad
Computacional
http://cyberneticserendipit
• Cybernetic
Serendipity
Exhibition, London,
1968.
Creatividad
Computacional
• Evolución Interactiva.
• Programación Genética.
Programación Genética
• Popularizada por Koza en los 90s.
• Aplica evolución en procesos de
generación automática de
programas.
• Trabaja con estructura de árboles.
Programación Genética
b
a
b c
+
*
-
Individuo PG
Terminales
Funciones
Operadores Genéticos:
•Cruce.
•Mutación.
•Selección.
•Reproducción.
Función de Aptitud
T49 Programación Genética
F
.
F
e
r
n
á
n
d
e
z
Programación Genética
Punto de
cruce
b
a
b c
+
*
-
a
b c
+
-b
/
Antes de la
Operación
Después de la
Operación
b c
-b
/ b c
-b
a
+
*
+
a
Subárboles
a
intercambia
rC
R
U
C
E
T50 Programación Genética
F
.
F
e
r
n
á
n
d
e
z
Programación Genética
Punto
de
mutació
n
Después de la operación
b
a
+
*
Subárbo
l
eliminad
o
Antes de la Operación
b
a
b c
+
*
-
b c
c+
-b
/
-a
Nuevo subárbol
generado al
azar
M
U
T
A
C
I
Ó
N
T51 Programación Genética
F
.
F
e
r
n
á
n
d
e
z
Programación Genética
S
E
L
E
C
C
I
Ó
N
Función de
Evaluación
Valores de aptitud
Selección
T52 Programación Genética
F
.
F
e
r
n
á
n
d
e
z
Un ejemplo
• Regresión simbólica.
Diseño Evolutivo
 ¿GP para diseñar terrenos?
 Objetivos:
 Capaz de generar diferentes tipos
de terrenos.
 Extensible.
 Interactivo e Intuitivo.
 Generación de familias de terrenos.
Diseño Evolutivo
 ¿Qué necesitamos?
 Funciones y Terminales + Operadores.
Genetic Terrain
Programming
 GTP (Frade, Fernández and Cotta).
 Funciones: plus2; minus2; multiply2;
sin1; cos1; tan1; atan1;
 myLog1; myPower2; myDivide2;
myMod2; mySqrt1;
 negative1; FFT1; smooth1;
gradientX1; gradientY1
GTP
• Genetic Terrain
Programming:
– IEA + GP.
Interactive EAs
• IEA: An evolutionary Algorithm
with a human being in charge of
fitness evaluation.
Interactive Evolutionary
Algorithms
• Standard EA:
– Fitness Evaluation.
– Selection.
– Crossover+Mutation.
• Interactive EA:
– Fitness Evaluation (human made).
– Selection.
– Crossover+Mutation.
Evolutionary Art
• Collaborative works...:
Picbreeder (Secretan et al).
Evolutionary Art
• Endless forms (Clune & Lipson).
EvoEco
• EvoEco is an experimental piece
of software for the creation of
abstract images using simple
virtual drawing creatures.
Kowaliw, Dorin, McCormack
GTP
 Interfaz de Usuario.
GTP
 Resultados.
GTP
GTP
GTP
 Acantilados
GTP
 Montañas.
GTP
 Objetivos Estéticos.
GTP: Niveles de detalle
GTP: Niveles de detalle
GTP: Niveles de detalle
GTP
 Miguel Frade, F. Fernandez de Vega,
Carlos Cotta, Modelling Video Games'
Landscapes by Means of Genetic
Terrain Programming - A New
Approach for Improving Users'
Experience. Lecture Notes in
Computer Science 4974, 485-490.
GTP
 M. Frade, F. Fernández, C. Cotta,
Genetic Terrain Programming - an
Aesthetic Approach to Terrain
Generation, Computer Games and
Allied Technology (CG&AT 2008).
(Seleccionado entre los 6 mejores artículos del congreso).
GTPa
• ¿Podemos automatizar GTPi?
• Evitar la interacción con
medidas del terreno:
– Accesibilidad: Fácil de medir.
– Proceso:
• Generar mapas de elevación a
partir del TP
• Medir pendientes y Conectividad.
• Evaluar.
GTPa
• Utilización de funciones de ruido en
lugar de valores random.
Paisaje generado con la función
NOISE disponible en Blender.
Conjunto de funciones
Terminal set:
orgBlenderNoise, x, y, ERC.
GTPa: Fitness function
GTPa
• Utilización de funciones y
terminales:
GTPa
● TP = cos(atan(minus(exp(X),myDivide(multiply(0.07358,
0.93756), myDivide(X,myLog(myLog(sin(Y))))))))
GTPa
GTPa
GTPa
GTPa
GTPa
• M. Frade. F. Fernández, C. Cotta,
“Evolution of Artificial Terrains for Video
Games Based on Accessibility”. Evo*
2010 (LNCS 6024).
• Miguel Frade, Francisco Fernández de
Vega, Carlos Cotta, Automatic evolution
of programs for procedural generation of
terrains for video games - Accessibility
and edge length constraints. Soft
Comput. 16(11): 1893-1914 (2012)
Resultados
 Grupo de Evolución Artificial.Grupo de Evolución Artificial.
 Claroscuro Digital:Claroscuro Digital:
 http://www.vimeo.com/2333108http://www.vimeo.com/2333108
 http://www.vimeo.com/2994880http://www.vimeo.com/2994880
 http://www.vimeo.com/4997211http://www.vimeo.com/4997211
¿CI y Videojuegos en
Extremadura?
Forja Chapas
• https://forja.unex.es/projects/chapa
s

Weitere ähnliche Inhalte

Ähnlich wie Francisco Fernández de Vega - Generación automática de contenidos para Videojuegos mediante Programación Genética

GarageLab Informe 2013
GarageLab Informe 2013 GarageLab Informe 2013
GarageLab Informe 2013
GarageLab
 
Utp pdiva_lab1 introduccion a mat_lab
 Utp pdiva_lab1 introduccion a mat_lab Utp pdiva_lab1 introduccion a mat_lab
Utp pdiva_lab1 introduccion a mat_lab
jcbenitezp
 
Utp pds_lab1 introduccion a mat_lab
 Utp pds_lab1 introduccion a mat_lab Utp pds_lab1 introduccion a mat_lab
Utp pds_lab1 introduccion a mat_lab
jcbenitezp
 
Móviles, iPhone y Android
Móviles, iPhone y AndroidMóviles, iPhone y Android
Móviles, iPhone y Android
Svet Ivantchev
 

Ähnlich wie Francisco Fernández de Vega - Generación automática de contenidos para Videojuegos mediante Programación Genética (20)

GarageLab Informe 2013
GarageLab Informe 2013 GarageLab Informe 2013
GarageLab Informe 2013
 
Utp pdiva_lab1 introduccion a mat_lab
 Utp pdiva_lab1 introduccion a mat_lab Utp pdiva_lab1 introduccion a mat_lab
Utp pdiva_lab1 introduccion a mat_lab
 
Visual 1
Visual 1Visual 1
Visual 1
 
Python + Ciencia = ♥
Python + Ciencia = ♥Python + Ciencia = ♥
Python + Ciencia = ♥
 
Aula Virtual utilizando utilizando Conference XP de Microsoft
Aula Virtual utilizando utilizando Conference XP de MicrosoftAula Virtual utilizando utilizando Conference XP de Microsoft
Aula Virtual utilizando utilizando Conference XP de Microsoft
 
Utp pds_lab1 introduccion a mat_lab
 Utp pds_lab1 introduccion a mat_lab Utp pds_lab1 introduccion a mat_lab
Utp pds_lab1 introduccion a mat_lab
 
Introduccion a Azure Machine Learning.pptx
Introduccion a Azure Machine Learning.pptxIntroduccion a Azure Machine Learning.pptx
Introduccion a Azure Machine Learning.pptx
 
Taller arduino brazo robotico - flisol bogota 2021
Taller arduino   brazo robotico - flisol bogota 2021Taller arduino   brazo robotico - flisol bogota 2021
Taller arduino brazo robotico - flisol bogota 2021
 
Gestión y Análisis de Datos para las Ciencias Económicas con Python y R
Gestión y Análisis de Datos para las Ciencias Económicas con Python y RGestión y Análisis de Datos para las Ciencias Económicas con Python y R
Gestión y Análisis de Datos para las Ciencias Económicas con Python y R
 
Intl
IntlIntl
Intl
 
RA y sus aplicaciones 2do encuentro de semilleros de colegios Bogota
RA y sus aplicaciones   2do encuentro de semilleros de colegios BogotaRA y sus aplicaciones   2do encuentro de semilleros de colegios Bogota
RA y sus aplicaciones 2do encuentro de semilleros de colegios Bogota
 
Como programar en java
Como programar en java   Como programar en java
Como programar en java
 
Software Libre: Mitos y Realidades para el Cauca
Software Libre: Mitos y Realidades para el CaucaSoftware Libre: Mitos y Realidades para el Cauca
Software Libre: Mitos y Realidades para el Cauca
 
Adopcion Codigo Abierto
Adopcion Codigo AbiertoAdopcion Codigo Abierto
Adopcion Codigo Abierto
 
Aterrizando la Inteligencia Artificial
Aterrizando la Inteligencia ArtificialAterrizando la Inteligencia Artificial
Aterrizando la Inteligencia Artificial
 
Python y Flink
Python y FlinkPython y Flink
Python y Flink
 
Python - Programación para machos
Python - Programación para machosPython - Programación para machos
Python - Programación para machos
 
Realidad Aumentada para niños en maker Faire Bogota 2016
Realidad Aumentada para niños en maker Faire Bogota 2016Realidad Aumentada para niños en maker Faire Bogota 2016
Realidad Aumentada para niños en maker Faire Bogota 2016
 
Móviles, iPhone y Android
Móviles, iPhone y AndroidMóviles, iPhone y Android
Móviles, iPhone y Android
 
Blender en Proyectos de I+D+i. Casos de Estudio
Blender en Proyectos de I+D+i. Casos de EstudioBlender en Proyectos de I+D+i. Casos de Estudio
Blender en Proyectos de I+D+i. Casos de Estudio
 

Mehr von Facultad de Informática UCM

Mehr von Facultad de Informática UCM (20)

¿Por qué debemos seguir trabajando en álgebra lineal?
¿Por qué debemos seguir trabajando en álgebra lineal?¿Por qué debemos seguir trabajando en álgebra lineal?
¿Por qué debemos seguir trabajando en álgebra lineal?
 
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...
TECNOPOLÍTICA Y ACTIVISMO DE DATOS: EL MAPEO COMO FORMA DE RESILIENCIA ANTE L...
 
DRAC: Designing RISC-V-based Accelerators for next generation Computers
DRAC: Designing RISC-V-based Accelerators for next generation ComputersDRAC: Designing RISC-V-based Accelerators for next generation Computers
DRAC: Designing RISC-V-based Accelerators for next generation Computers
 
uElectronics ongoing activities at ESA
uElectronics ongoing activities at ESAuElectronics ongoing activities at ESA
uElectronics ongoing activities at ESA
 
Tendencias en el diseño de procesadores con arquitectura Arm
Tendencias en el diseño de procesadores con arquitectura ArmTendencias en el diseño de procesadores con arquitectura Arm
Tendencias en el diseño de procesadores con arquitectura Arm
 
Formalizing Mathematics in Lean
Formalizing Mathematics in LeanFormalizing Mathematics in Lean
Formalizing Mathematics in Lean
 
Introduction to Quantum Computing and Quantum Service Oriented Computing
Introduction to Quantum Computing and Quantum Service Oriented ComputingIntroduction to Quantum Computing and Quantum Service Oriented Computing
Introduction to Quantum Computing and Quantum Service Oriented Computing
 
Computer Design Concepts for Machine Learning
Computer Design Concepts for Machine LearningComputer Design Concepts for Machine Learning
Computer Design Concepts for Machine Learning
 
Inteligencia Artificial en la atención sanitaria del futuro
Inteligencia Artificial en la atención sanitaria del futuroInteligencia Artificial en la atención sanitaria del futuro
Inteligencia Artificial en la atención sanitaria del futuro
 
Design Automation Approaches for Real-Time Edge Computing for Science Applic...
 Design Automation Approaches for Real-Time Edge Computing for Science Applic... Design Automation Approaches for Real-Time Edge Computing for Science Applic...
Design Automation Approaches for Real-Time Edge Computing for Science Applic...
 
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...Estrategias de navegación para robótica móvil de campo: caso de estudio proye...
Estrategias de navegación para robótica móvil de campo: caso de estudio proye...
 
Fault-tolerance Quantum computation and Quantum Error Correction
Fault-tolerance Quantum computation and Quantum Error CorrectionFault-tolerance Quantum computation and Quantum Error Correction
Fault-tolerance Quantum computation and Quantum Error Correction
 
Cómo construir un chatbot inteligente sin morir en el intento
Cómo construir un chatbot inteligente sin morir en el intentoCómo construir un chatbot inteligente sin morir en el intento
Cómo construir un chatbot inteligente sin morir en el intento
 
Automatic generation of hardware memory architectures for HPC
Automatic generation of hardware memory architectures for HPCAutomatic generation of hardware memory architectures for HPC
Automatic generation of hardware memory architectures for HPC
 
Type and proof structures for concurrency
Type and proof structures for concurrencyType and proof structures for concurrency
Type and proof structures for concurrency
 
Hardware/software security contracts: Principled foundations for building sec...
Hardware/software security contracts: Principled foundations for building sec...Hardware/software security contracts: Principled foundations for building sec...
Hardware/software security contracts: Principled foundations for building sec...
 
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...
Jose carlossancho slidesLa seguridad en el desarrollo de software implementad...
 
Do you trust your artificial intelligence system?
Do you trust your artificial intelligence system?Do you trust your artificial intelligence system?
Do you trust your artificial intelligence system?
 
Redes neuronales y reinforcement learning. Aplicación en energía eólica.
Redes neuronales y reinforcement learning. Aplicación en energía eólica.Redes neuronales y reinforcement learning. Aplicación en energía eólica.
Redes neuronales y reinforcement learning. Aplicación en energía eólica.
 
Challenges and Opportunities for AI and Data analytics in Offshore wind
Challenges and Opportunities for AI and Data analytics in Offshore windChallenges and Opportunities for AI and Data analytics in Offshore wind
Challenges and Opportunities for AI and Data analytics in Offshore wind
 

Kürzlich hochgeladen

LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
bcondort
 

Kürzlich hochgeladen (20)

CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
Presentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxPresentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptx
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
Sesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptxSesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptx
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
Tabla de referentes empíricos para tesis-1.docx
Tabla de referentes empíricos para tesis-1.docxTabla de referentes empíricos para tesis-1.docx
Tabla de referentes empíricos para tesis-1.docx
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptos
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdfDISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
DISEÑO PAVIMENTOS CLASE 06 PAVIMENTOS.pdf
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 

Francisco Fernández de Vega - Generación automática de contenidos para Videojuegos mediante Programación Genética

  • 1. Generación AutomáticaGeneración Automática de Contenidos parade Contenidos para Videojuegos medianteVideojuegos mediante Programación GenéticaProgramación Genética Francisco Fernández de VegaFrancisco Fernández de Vega fcofdez.wordpress.comfcofdez.wordpress.com fcofdez@unex.esfcofdez@unex.esFacultad Informática, UCM 18 Abril 2016
  • 2. Índice  El negocio de los videojuegos.El negocio de los videojuegos.  Videjuegos y CI.Videjuegos y CI.  Generación Procedimental deGeneración Procedimental de Contenidos.Contenidos.  Genetic Terrain Programming.Genetic Terrain Programming. Facultad Informática, UCM 18 Abril 2016
  • 3. Índice  El negocio de los videojuegos.El negocio de los videojuegos.  Videjuegos y CI.Videjuegos y CI.  Generación Procedimental deGeneración Procedimental de Contenidos.Contenidos.  Genetic Terrain Programming.Genetic Terrain Programming. Facultad Informática, UCM 18 Abril 2016
  • 4. Facturación • En 2014 creción un 31%. • 83.600 millones en 2014. – 413 millones de euros en España y más de 400 empresas censadas. • GTA V recaudó en 24 horas 815 millones de dólares (Harry Potter recaudó 220 millones en el mismo tiempo) Libro blanco desarrollo español de videojuegos 2015.
  • 5. Consumo • Según la AEVI (Asociación Española de Videojuegos), el consumo global superó en españa los 1000 millones de euros. • En España, 13 millones de videojugadores.
  • 12. Videojuegos: Pre-historia • El juego se llamó “Tennis for Two”. • Programó un movimiento balístico, con posibilidad de intercepción. • La construcción se realizó para una muestra al público de las instalaciones. – http://www.youtube.com/watc h?v=s2E9iSQfGdg
  • 13. Índice  El negocio de los videojuegos.El negocio de los videojuegos.  Videjuegos y CIVidejuegos y CI..  Generación Procedimental deGeneración Procedimental de Contenidos.Contenidos.  Genetic Terrain Programming.Genetic Terrain Programming. Facultad Informática, UCM 18 Abril 2016
  • 14. Computational Intelligence  Conjunto de metodologías computacionales inspiradas por la naturaleza que permiten atacar problemas del mundo real.  (en los que las matemáticas o el modelado tradicional no sirven).
  • 15. Algoritmos Evolutivos  Basados en la teoría de la Evolución mediante selección Natural de Darwin. Charles Darwin: El Origen de las Especies. 1859. Introducción F . F e r n á n d e z
  • 19. El Mar de la Inteligencia Artificial IA F . F e r n á n d e z
  • 20. El Mar de la Inteligencia Artificial Soft Computing IA F . F e r n á n d e z
  • 21. ¿Cómo funciona un AE?  Un resumen:  T=0;  Inicializar y Evaluar [P(t)]  While condición_fin no alcanzada do  P´(t)=variation [P(t)]  Evaluate P´(t)  P(t+1)=select [P´(t),P(t)]  T=t+1  end while Introduction 21
  • 22. Algoritmos Evolutivos Algoritmos Evolutivos F . F e r n á n d e z Para que la evolución actúe se deben cumplir cuatro condiciones: •Los individuos de la población deben ser capaces de reproducirse. •La supervicencia de los individuos depende de caracteres afectados por variaciones. •Los caracteres pasan de padres a hijos mediante la herencia. •Los individuos de la población compiten por los recursos. T22 VARIACIÓN. HERENCIA SUPERPOBLACIÓN
  • 23. Algoritmos Evolutivos Los individuos forman la población Diferentes caracteres: Los individuos compiten por los recursos Herencia y Reproducción T23 Algoritmos Evolutivos F . F e r n á n d e z Individuos de la Población: Soluciones Candidatas
  • 24. Operaciones Básicas  Evaluación.  Selección.  Cruce.  Mutación.
  • 25. ¿Porqué funcionan?  Informalmente, los AEs realizan dos tareas:  Exploración del espacio de búsqueda.  Explotación de zonas “buenas”.  Formalmente, existen estudios de convergencia para cada uno de los algoritmos englobados en los AEs.
  • 26. Problemas abordados  Air-Injected Hydrocyclone OptimizationArtificial IntelligenceAssignation of Radio-Link FrequenciesAutomated Parameter Tuning for Sonar Information ProcessingBin PackingClusteringCommunication Network DesignConformational Analysis of DNAData MiningDynamic Anticipatory Routing in Circuit-Switched Telecommunications Network Electronic-Circuit LayoutFlow ControlFuzzy Controller DesignGas- Pipeline ControlGenetic Synthesis of Neural Network Architecture Hybrid EC SystemsImage Generation and Recognition Interdigitation (Engineering Design Optimization)Job Shop SchedulingKnowledge AcquisitionLearningMathematical and Numerical OptimizationModels of International Security Multiple Fault DiagnosisNeural Network DesignNonlinear Dynamical SystemsOrdering Problems (TSP, N-Queens, . . . ) Parallel Process SchedulingParametric Design of AircraftPortfolio OptimizationQuery Optimization in DatabasesReal Time Control of Physical SystemsRobot Trajectory Generation Sequence Scheduling (Genetic Edge Recombination)Strategy AcquisitionSymbolic Integration and DifferentiationTime-Serie Analysis and PredictionTraveling Salesman (Genetic Edge Recombination) Validation of Communication ProtocolsVLSI DesignWYSIWYG Artistic DesignX-Ray Crystallography
  • 27. ¿AEs y Videojuegos? Ms PacMan Competition
  • 28. CI y Videojuegos 7th Workshop on Procedural Content Generation
  • 29. ¿Cuánto cuesta? – Licencia plataforma 11% – Otras licencias 12% – Programación 20% – Diseño y producción 25% – Márketing 12% – Edición y distribución 8% – Márgenes venta 20%
  • 30. ¿Cuánto cuesta? – Licencia plataforma 11% – Otras licencias 12% – Programación 20% – Diseño y producción 25% – Márketing 12% – Edición y distribución 8% – Márgenes venta 20%
  • 31. Generación Procedimental de Contenidos • ¿Porqué PCG? – ¿Cuál es el coste del desarrollo de contenidos? • Escenarios. • Dinámicas del juego. • Objetivos. • Guión. • Música...
  • 32. Yavalath: Juego de Mesa diseñado mediante Programación Genética. (Ganador Hummies 2012)
  • 33. Generación Procedimental de Contenidos • No es algo nuevo: – Se utilizó ya en los años 80. Akalabeth, world of doom.
  • 34. AEs+Videojuegos • ¿Qué podemos hacer? – Generación de Contenidos. – Inteligencia Computacional.
  • 35. Diseño Evolutivo  Evolutionary Design by Computers, P. Bentley. MIT Press.  The Art of Artificial Evolution, J. Romero, P. Machado. Springer.
  • 36. Diseño Evolutivo  Karl Sims:Karl Sims:  Primordial Dance:Primordial Dance: http://es.youtube.com/watch?v=vIVjEkWTEXIhttp://es.youtube.com/watch?v=vIVjEkWTEXI  Panspermia:Panspermia: http://es.youtube.com/watch?v=AgeuRukfZLhttp://es.youtube.com/watch?v=AgeuRukfZL  Virtual Creatures:Virtual Creatures: http://es.youtube.com/watch?v=F0OHycypSGhttp://es.youtube.com/watch?v=F0OHycypSG "Artificial Evolution for Computer Graphics" K.Sims, Computer Graphics (Siggraph '91 proceedings), July 1991, pp.319-328
  • 37. Diseño Evolutivo  Karl Sims: www.genarts.com Curso Internacional de Verano: 15, 16 Julio, Almendralejo, Badajoz.
  • 38. Diseño Evolutivo  John Collomose (University of Bath)
  • 41. Índice  El negocio de los videojuegos.El negocio de los videojuegos.  Videjuegos y CI.Videjuegos y CI.  Generación Procedimental deGeneración Procedimental de Contenidos.Contenidos.  Genetic Terrain Programming.Genetic Terrain Programming. Facultad Informática, UCM 18 Abril 2016
  • 42. Videojuegos y CI  Diseño de Terrenos.
  • 43. Diseño de Terrenos  Medición real (remote sensing).  Modelado artístico (Blender).  Procedimentales:  Fractales (Terragen).  Evolutivo: Diseño evolutivo utilizado con otros fines.
  • 48. Programación Genética • Popularizada por Koza en los 90s. • Aplica evolución en procesos de generación automática de programas. • Trabaja con estructura de árboles.
  • 49. Programación Genética b a b c + * - Individuo PG Terminales Funciones Operadores Genéticos: •Cruce. •Mutación. •Selección. •Reproducción. Función de Aptitud T49 Programación Genética F . F e r n á n d e z
  • 50. Programación Genética Punto de cruce b a b c + * - a b c + -b / Antes de la Operación Después de la Operación b c -b / b c -b a + * + a Subárboles a intercambia rC R U C E T50 Programación Genética F . F e r n á n d e z
  • 51. Programación Genética Punto de mutació n Después de la operación b a + * Subárbo l eliminad o Antes de la Operación b a b c + * - b c c+ -b / -a Nuevo subárbol generado al azar M U T A C I Ó N T51 Programación Genética F . F e r n á n d e z
  • 52. Programación Genética S E L E C C I Ó N Función de Evaluación Valores de aptitud Selección T52 Programación Genética F . F e r n á n d e z
  • 54. Diseño Evolutivo  ¿GP para diseñar terrenos?  Objetivos:  Capaz de generar diferentes tipos de terrenos.  Extensible.  Interactivo e Intuitivo.  Generación de familias de terrenos.
  • 55. Diseño Evolutivo  ¿Qué necesitamos?  Funciones y Terminales + Operadores.
  • 56. Genetic Terrain Programming  GTP (Frade, Fernández and Cotta).  Funciones: plus2; minus2; multiply2; sin1; cos1; tan1; atan1;  myLog1; myPower2; myDivide2; myMod2; mySqrt1;  negative1; FFT1; smooth1; gradientX1; gradientY1
  • 58. Interactive EAs • IEA: An evolutionary Algorithm with a human being in charge of fitness evaluation.
  • 59. Interactive Evolutionary Algorithms • Standard EA: – Fitness Evaluation. – Selection. – Crossover+Mutation. • Interactive EA: – Fitness Evaluation (human made). – Selection. – Crossover+Mutation.
  • 60. Evolutionary Art • Collaborative works...: Picbreeder (Secretan et al).
  • 61. Evolutionary Art • Endless forms (Clune & Lipson).
  • 62. EvoEco • EvoEco is an experimental piece of software for the creation of abstract images using simple virtual drawing creatures. Kowaliw, Dorin, McCormack
  • 65. GTP
  • 66. GTP
  • 70. GTP: Niveles de detalle
  • 71. GTP: Niveles de detalle
  • 72. GTP: Niveles de detalle
  • 73. GTP  Miguel Frade, F. Fernandez de Vega, Carlos Cotta, Modelling Video Games' Landscapes by Means of Genetic Terrain Programming - A New Approach for Improving Users' Experience. Lecture Notes in Computer Science 4974, 485-490.
  • 74. GTP  M. Frade, F. Fernández, C. Cotta, Genetic Terrain Programming - an Aesthetic Approach to Terrain Generation, Computer Games and Allied Technology (CG&AT 2008). (Seleccionado entre los 6 mejores artículos del congreso).
  • 75. GTPa • ¿Podemos automatizar GTPi? • Evitar la interacción con medidas del terreno: – Accesibilidad: Fácil de medir. – Proceso: • Generar mapas de elevación a partir del TP • Medir pendientes y Conectividad. • Evaluar.
  • 76. GTPa • Utilización de funciones de ruido en lugar de valores random. Paisaje generado con la función NOISE disponible en Blender.
  • 77. Conjunto de funciones Terminal set: orgBlenderNoise, x, y, ERC.
  • 79. GTPa • Utilización de funciones y terminales:
  • 80. GTPa ● TP = cos(atan(minus(exp(X),myDivide(multiply(0.07358, 0.93756), myDivide(X,myLog(myLog(sin(Y))))))))
  • 81. GTPa
  • 82. GTPa
  • 83. GTPa
  • 84. GTPa
  • 85. GTPa • M. Frade. F. Fernández, C. Cotta, “Evolution of Artificial Terrains for Video Games Based on Accessibility”. Evo* 2010 (LNCS 6024). • Miguel Frade, Francisco Fernández de Vega, Carlos Cotta, Automatic evolution of programs for procedural generation of terrains for video games - Accessibility and edge length constraints. Soft Comput. 16(11): 1893-1914 (2012)
  • 86. Resultados  Grupo de Evolución Artificial.Grupo de Evolución Artificial.  Claroscuro Digital:Claroscuro Digital:  http://www.vimeo.com/2333108http://www.vimeo.com/2333108  http://www.vimeo.com/2994880http://www.vimeo.com/2994880  http://www.vimeo.com/4997211http://www.vimeo.com/4997211
  • 87. ¿CI y Videojuegos en Extremadura?