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
- Institución
- Universidad Nacional del Centro de la Provincia de Buenos Aires
- OAI Identificador
- oai:ridaa.unicen.edu.ar:123456789/2063
Ver los metadatos del registro completo
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 |