Generación procedural inteligente de niveles de plataforma 2D utilizando algoritmos genéticos

Autores
Spinelli, Julián
Año de publicación
2019
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión aceptada
Colaborador/a o director/a de tesis
Schiaffino, Silvia
Descripción
En este texto se detalla el razonamiento y los pasos detrás de la implementación de un algoritmo genético capaz de generar niveles de un juego de plataforma 2D. El trabajo utiliza generación procedural de contenido para obtener niveles que luego de completados por un jugador son analizados para extraer secuencias que serán reutilizadas en próximos niveles. Las secuencias extraídas son procesadas utilizando dos versiones de algoritmos genéticos una que utiliza crossover y otra que no. El objetivo detrás de la utilización de algoritmos genéticos es obtener nuevas secuencias que resulten más difíciles para el jugador y que sean derivadas de su perfomance en niveles anteriores. Se optó por utilizar algoritmos genéticos debido a la potencia que tienen para derivar soluciones de otras. Esta potencia es producto en gran parte de los mecanismos de mutación y crossover guiados por la función fitness para producir soluciones que se aproximen a una solución ideal. Esto combinado con la facilidad de recopilación de datos del jugador en un juego 2D permitió brindarle suficiente información al algoritmo genético como para que las soluciones sean adecuadas al problema a resolver. Para la validación del trabajo se realizaron dos experimentos con jugadores donde se midió su performance haciendo uso de las mismas métricas utilizadas para comparar secuencias, esto se cotejó con la percepción de cada jugador de los niveles completados. Cada jugador debió completar diversos niveles con cuatro generadores, uno aleatorio cuyo objetivo es funcionar como baseline, uno que utiliza una heurística (utilizado solo en el primer experimento) y las dos versiones de los algoritmos genéticos. A través del análisis de la información obtenida se comprobó que las métricas utilizadas para determinar la dificultad de las secuencias y niveles eran efectivas. Los niveles obtenidos de los generadores genéticos probaron tener una curva de dificultad menor que la del generador aleatorio, esto probó ser positivo debido a que los jugadores se vieron muy frustrados por los niveles del generador aleatorio. Por último la versión sin crossover produjo “niveles más coherentes” que la otra, esta diferencia se concluyó fué producto de la gran tasa de aleatoriedad que introduce el crossover, algunas soluciones no cuentan con ninguna de las secciones difíciles de los padres.
Fil: Spinelli,Julián. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.
Fil: Schiaffino, Silvia. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.
Materia
Plataforma 2D
Ingeniería de sistemas
Algoritmos genéticos
Función fitness
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by-nc/2.5/ar/
Repositorio
RIDAA (UNICEN)
Institución
Universidad Nacional del Centro de la Provincia de Buenos Aires
OAI Identificador
oai:ridaa.unicen.edu.ar:123456789/2063

id RIDUNICEN_a3e002e26985295e07f75c1c94a009c4
oai_identifier_str oai:ridaa.unicen.edu.ar:123456789/2063
network_acronym_str RIDUNICEN
repository_id_str a
network_name_str RIDAA (UNICEN)
spelling Generación procedural inteligente de niveles de plataforma 2D utilizando algoritmos genéticosSpinelli, JuliánPlataforma 2DIngeniería de sistemasAlgoritmos genéticosFunción fitnessEn este texto se detalla el razonamiento y los pasos detrás de la implementación de un algoritmo genético capaz de generar niveles de un juego de plataforma 2D. El trabajo utiliza generación procedural de contenido para obtener niveles que luego de completados por un jugador son analizados para extraer secuencias que serán reutilizadas en próximos niveles. Las secuencias extraídas son procesadas utilizando dos versiones de algoritmos genéticos una que utiliza crossover y otra que no. El objetivo detrás de la utilización de algoritmos genéticos es obtener nuevas secuencias que resulten más difíciles para el jugador y que sean derivadas de su perfomance en niveles anteriores. Se optó por utilizar algoritmos genéticos debido a la potencia que tienen para derivar soluciones de otras. Esta potencia es producto en gran parte de los mecanismos de mutación y crossover guiados por la función fitness para producir soluciones que se aproximen a una solución ideal. Esto combinado con la facilidad de recopilación de datos del jugador en un juego 2D permitió brindarle suficiente información al algoritmo genético como para que las soluciones sean adecuadas al problema a resolver. Para la validación del trabajo se realizaron dos experimentos con jugadores donde se midió su performance haciendo uso de las mismas métricas utilizadas para comparar secuencias, esto se cotejó con la percepción de cada jugador de los niveles completados. Cada jugador debió completar diversos niveles con cuatro generadores, uno aleatorio cuyo objetivo es funcionar como baseline, uno que utiliza una heurística (utilizado solo en el primer experimento) y las dos versiones de los algoritmos genéticos. A través del análisis de la información obtenida se comprobó que las métricas utilizadas para determinar la dificultad de las secuencias y niveles eran efectivas. Los niveles obtenidos de los generadores genéticos probaron tener una curva de dificultad menor que la del generador aleatorio, esto probó ser positivo debido a que los jugadores se vieron muy frustrados por los niveles del generador aleatorio. Por último la versión sin crossover produjo “niveles más coherentes” que la otra, esta diferencia se concluyó fué producto de la gran tasa de aleatoriedad que introduce el crossover, algunas soluciones no cuentan con ninguna de las secciones difíciles de los padres.Fil: Spinelli,Julián. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.Fil: Schiaffino, Silvia. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias ExactasSchiaffino, Silvia2019-052019-08-13T15:56:46Z2019-08-13T15:56:46Zinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfapplication/pdfhttps://www.ridaa.unicen.edu.ar/handle/123456789/2063spahttp://creativecommons.org/licenses/by-nc/2.5/ar/info:eu-repo/semantics/openAccessreponame:RIDAA (UNICEN)instname:Universidad Nacional del Centro de la Provincia de Buenos Aires2025-09-29T13:41:04Zoai:ridaa.unicen.edu.ar:123456789/2063instacron:UNICENInstitucionalhttps://www.ridaa.unicen.edu.ar/Universidad públicaNo correspondehttps://www.ridaa.unicen.edu.ar/oailleiboff@rec.unicen.edu.ar;gimeroni@rec.unicen.edu.ar;lvarela@rec.unicen.edu.ar ;ArgentinaNo correspondeNo correspondeNo correspondeopendoar:a2025-09-29 13:41:05.314RIDAA (UNICEN) - Universidad Nacional del Centro de la Provincia de Buenos Airesfalse
dc.title.none.fl_str_mv Generación procedural inteligente de niveles de plataforma 2D utilizando algoritmos genéticos
title Generación procedural inteligente de niveles de plataforma 2D utilizando algoritmos genéticos
spellingShingle Generación procedural inteligente de niveles de plataforma 2D utilizando algoritmos genéticos
Spinelli, Julián
Plataforma 2D
Ingeniería de sistemas
Algoritmos genéticos
Función fitness
title_short Generación procedural inteligente de niveles de plataforma 2D utilizando algoritmos genéticos
title_full Generación procedural inteligente de niveles de plataforma 2D utilizando algoritmos genéticos
title_fullStr Generación procedural inteligente de niveles de plataforma 2D utilizando algoritmos genéticos
title_full_unstemmed Generación procedural inteligente de niveles de plataforma 2D utilizando algoritmos genéticos
title_sort Generación procedural inteligente de niveles de plataforma 2D utilizando algoritmos genéticos
dc.creator.none.fl_str_mv Spinelli, Julián
author Spinelli, Julián
author_facet Spinelli, Julián
author_role author
dc.contributor.none.fl_str_mv Schiaffino, Silvia
dc.subject.none.fl_str_mv Plataforma 2D
Ingeniería de sistemas
Algoritmos genéticos
Función fitness
topic Plataforma 2D
Ingeniería de sistemas
Algoritmos genéticos
Función fitness
dc.description.none.fl_txt_mv En este texto se detalla el razonamiento y los pasos detrás de la implementación de un algoritmo genético capaz de generar niveles de un juego de plataforma 2D. El trabajo utiliza generación procedural de contenido para obtener niveles que luego de completados por un jugador son analizados para extraer secuencias que serán reutilizadas en próximos niveles. Las secuencias extraídas son procesadas utilizando dos versiones de algoritmos genéticos una que utiliza crossover y otra que no. El objetivo detrás de la utilización de algoritmos genéticos es obtener nuevas secuencias que resulten más difíciles para el jugador y que sean derivadas de su perfomance en niveles anteriores. Se optó por utilizar algoritmos genéticos debido a la potencia que tienen para derivar soluciones de otras. Esta potencia es producto en gran parte de los mecanismos de mutación y crossover guiados por la función fitness para producir soluciones que se aproximen a una solución ideal. Esto combinado con la facilidad de recopilación de datos del jugador en un juego 2D permitió brindarle suficiente información al algoritmo genético como para que las soluciones sean adecuadas al problema a resolver. Para la validación del trabajo se realizaron dos experimentos con jugadores donde se midió su performance haciendo uso de las mismas métricas utilizadas para comparar secuencias, esto se cotejó con la percepción de cada jugador de los niveles completados. Cada jugador debió completar diversos niveles con cuatro generadores, uno aleatorio cuyo objetivo es funcionar como baseline, uno que utiliza una heurística (utilizado solo en el primer experimento) y las dos versiones de los algoritmos genéticos. A través del análisis de la información obtenida se comprobó que las métricas utilizadas para determinar la dificultad de las secuencias y niveles eran efectivas. Los niveles obtenidos de los generadores genéticos probaron tener una curva de dificultad menor que la del generador aleatorio, esto probó ser positivo debido a que los jugadores se vieron muy frustrados por los niveles del generador aleatorio. Por último la versión sin crossover produjo “niveles más coherentes” que la otra, esta diferencia se concluyó fué producto de la gran tasa de aleatoriedad que introduce el crossover, algunas soluciones no cuentan con ninguna de las secciones difíciles de los padres.
Fil: Spinelli,Julián. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.
Fil: Schiaffino, Silvia. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina.
description En este texto se detalla el razonamiento y los pasos detrás de la implementación de un algoritmo genético capaz de generar niveles de un juego de plataforma 2D. El trabajo utiliza generación procedural de contenido para obtener niveles que luego de completados por un jugador son analizados para extraer secuencias que serán reutilizadas en próximos niveles. Las secuencias extraídas son procesadas utilizando dos versiones de algoritmos genéticos una que utiliza crossover y otra que no. El objetivo detrás de la utilización de algoritmos genéticos es obtener nuevas secuencias que resulten más difíciles para el jugador y que sean derivadas de su perfomance en niveles anteriores. Se optó por utilizar algoritmos genéticos debido a la potencia que tienen para derivar soluciones de otras. Esta potencia es producto en gran parte de los mecanismos de mutación y crossover guiados por la función fitness para producir soluciones que se aproximen a una solución ideal. Esto combinado con la facilidad de recopilación de datos del jugador en un juego 2D permitió brindarle suficiente información al algoritmo genético como para que las soluciones sean adecuadas al problema a resolver. Para la validación del trabajo se realizaron dos experimentos con jugadores donde se midió su performance haciendo uso de las mismas métricas utilizadas para comparar secuencias, esto se cotejó con la percepción de cada jugador de los niveles completados. Cada jugador debió completar diversos niveles con cuatro generadores, uno aleatorio cuyo objetivo es funcionar como baseline, uno que utiliza una heurística (utilizado solo en el primer experimento) y las dos versiones de los algoritmos genéticos. A través del análisis de la información obtenida se comprobó que las métricas utilizadas para determinar la dificultad de las secuencias y niveles eran efectivas. Los niveles obtenidos de los generadores genéticos probaron tener una curva de dificultad menor que la del generador aleatorio, esto probó ser positivo debido a que los jugadores se vieron muy frustrados por los niveles del generador aleatorio. Por último la versión sin crossover produjo “niveles más coherentes” que la otra, esta diferencia se concluyó fué producto de la gran tasa de aleatoriedad que introduce el crossover, algunas soluciones no cuentan con ninguna de las secciones difíciles de los padres.
publishDate 2019
dc.date.none.fl_str_mv 2019-05
2019-08-13T15:56:46Z
2019-08-13T15:56:46Z
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/acceptedVersion
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str acceptedVersion
dc.identifier.none.fl_str_mv https://www.ridaa.unicen.edu.ar/handle/123456789/2063
url https://www.ridaa.unicen.edu.ar/handle/123456789/2063
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv http://creativecommons.org/licenses/by-nc/2.5/ar/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc/2.5/ar/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
application/pdf
dc.publisher.none.fl_str_mv Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas
publisher.none.fl_str_mv Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas
dc.source.none.fl_str_mv reponame:RIDAA (UNICEN)
instname:Universidad Nacional del Centro de la Provincia de Buenos Aires
reponame_str RIDAA (UNICEN)
collection RIDAA (UNICEN)
instname_str Universidad Nacional del Centro de la Provincia de Buenos Aires
repository.name.fl_str_mv RIDAA (UNICEN) - Universidad Nacional del Centro de la Provincia de Buenos Aires
repository.mail.fl_str_mv lleiboff@rec.unicen.edu.ar;gimeroni@rec.unicen.edu.ar;lvarela@rec.unicen.edu.ar ;
_version_ 1844619011776577536
score 12.559606