UNIVERSIDAD COMPLUTENSE DE MADRID FACULTAD DE INFORMÁTICA Departamento de Ingeniería del Software e Inteligencia Artificial TESIS DOCTORAL Aplicación de técnicas de aprendizaje automático supervisables por el diseñador al desarrollo de agentes inteligentes en videojuegos MEMORIA PARA OPTAR AL GRADO DE DOCTOR PRESENTADA POR Ismael Sagredo Olivenza Directores Pedro Antonio González Calero Marco Antonio Gómez Martín Madrid, 2018 © Ismael Sagredo Olivenza, 2017 Aplicaci(cid:243)n de tØcnicas de aprendizaje automÆtico supervisables por el diseæador al desarrollo de agentes inteligentes en videojuegos TESIS DOCTORAL Ismael Sagredo Olivenza Dirigida por los Doctores Pedro Antonio GonzÆlez Calero Marco Antonio G(cid:243)mez Mart(cid:237)n Departamento de Ingenier(cid:237)a del Software e Inteligencia Arti(cid:28)cial Facultad de InformÆtica Universidad Complutense de Madrid Abril 2017 i Documento maquetado con TEX S v.1.0+. Este documento estÆ preparado para ser imprimido a doble cara. Aplicaci(cid:243)n de tØcnicas de aprendizaje automÆtico supervisables por el diseæador al desarrollo de agentes inteligentes en videojuegos Memoria que presenta para optar al t(cid:237)tulo de Doctor en InformÆtica Ismael Sagredo Olivenza Dirigida por los Doctores Pedro Antonio GonzÆlez Calero Marco Antonio G(cid:243)mez Mart(cid:237)n Departamento de Ingenier(cid:237)a del Software e Inteligencia Arti(cid:28)cial Facultad de InformÆtica Universidad Complutense de Madrid Abril 2017 A mis padres, a Beatriz y a mis abuelos. Agradecimientos En primer lugar, agradecer a mis directores de tesis, Marco Antonio y Pedro, por su apoyo, su colaboraci(cid:243)n, su dedicaci(cid:243)n y, sobre todo, su pacien- cia. Soy consciente de que ha sido un camino duro, tanto para mi como para ellos,perosiemprehetenidolaseguridaddepodercontarconsuconsejoysu comprensi(cid:243)n y sin ellos esta tesis no habr(cid:237)a sido posible. Un agradecimiento muy especial a mi pareja Beatriz Mart(cid:237)n, por todas las horas que no he po- dido estar con ella y por su apoyo incondicional todos estos aæos. TambiØn a Pedro Pablo G(cid:243)mez Mart(cid:237)n, con el que he publicado varios art(cid:237)culos, sin cuyos consejos y revisiones no hubiera sido posible esta tesis. AdemÆs, quiero hacer extensivo este agradecimiento a Gonzalo Fl(cid:243)rez Puga y David Llans(cid:243), por su colaboraci(cid:243)n y gu(cid:237)a en los primeros aæos de la tesis y por aclararme dudas cuando mÆs oscuro estaba todo. A Antonio SÆn- chez,aquiennopocasvecesped(cid:237)consejo,frutodeloscualessurgi(cid:243)laideade los Trained Query Node. Por extensi(cid:243)n a mis compaæeros de departamento, entre los cuales se encuentran: Raquel, Fede, Guille, Manu, Samer y Virginia y a los demÆs miembros del Departamento de Ingenier(cid:237)a del Software e Inte- ligencia Arti(cid:28)cial, por los consejos y los buenos momentos que hemos pasado juntos. A mis compaæeros de batalla, que pronto pasarÆn por lo mismo: JosØ Jorro, Marlon, Gineth y Rafa. Gracias por compartir sobremesa, ideas, si- tios donde publicar y por el apoyo todo este tiempo. S(cid:243)lo deciros: ‰muchos Ænimos con lo que os queda! MÆs que compaæeros, os considero amigos. TambiØn quiero dar un agradecimiento muy especial a mis amigos del dream-teamdeldesarrollodevideojuegos:OmarPØrez(queademÆsnosech(cid:243) un cable en los experimentos), David Rodr(cid:237)guez, Daniel Perivaæez y Elena FernÆndez. Sin las amenas charlas en la cafeter(cid:237)a y algœn que otro consejo, el camino hubiera sido mucho mÆs duro. ‰Gracias por todo! A los chicos del MÆster de desarrollo de videojuegos, as(cid:237) como a los alumnos del grado de desarrollodevideojuegos,queseprestaronvoluntariosparalosexperimentos deformatotalmentealtruistaysinlosquenohubiØramospodidorealizarlos. Y por œltimo, quiero agradecer tambiØn el apoyo que me ha prestado mi familia desde siempre. Especialmente a mis padres, que han sufrido de cerca losratosmalosylosbuenos.Suapoyoycomprensi(cid:243)nhansidodeterminantes para llegar hasta aqu(cid:237). Y para concluir, una menci(cid:243)n especial a Samus Aran, vii viii Agradecimientos sin sus ronroneos, mÆs de un deadline hubiera sido insoportable. ˝ndice Agradecimientos vii Resumen xvii Abstract xxi 1. Introducci(cid:243)n 1 1.1. Motivaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3. Nuestras aportaciones . . . . . . . . . . . . . . . . . . . . . . 6 2. Estado del Arte 9 2.1. Contexto general . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.1. La inteligencia arti(cid:28)cial y la creaci(cid:243)n de comporta- mientos . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2. Motores de videojuegos . . . . . . . . . . . . . . . . . . . . . 16 2.2.1. Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.2. Unreal Engine. . . . . . . . . . . . . . . . . . . . . . . 19 2.2.3. CryEngine . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2.4. Otros . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3. TØcnicas empleadas en la industria para crear comportamientos 22 2.3.1. MÆquinas de estados (cid:28)nitos . . . . . . . . . . . . . . . 22 2.3.2. `rboles de comportamiento . . . . . . . . . . . . . . . 23 2.4. Herramientas de creaci(cid:243)n de comportamiento en la industria . 26 2.4.1. BluePrints . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.4.2. PlayMaker. . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4.3. Nodecanvas . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4.4. Modular Behavior Trees en CryEngine . . . . . . . . . 34 2.4.5. Blueprints Behavior Trees en Unreal Engine . . . . . . 35 2.5. Tecnolog(cid:237)as utilizadas en la literatura acadØmica . . . . . . . 38 2.5.1. Programaci(cid:243)n por demostraci(cid:243)n . . . . . . . . . . . . . 39 ix
Description: