League of Legends es un videojuego de creciente popularidad desarrollado por Riot Games. Es un juego del género MOBA (Multiplayer Online Battle Arena) por lo que requiere de una gran dosis de estrategia. Parte de la estrategia, más allá de la que se desarrolla en las propias partidas, empieza antes de que estas empiecen, en la selección del personaje con el que se va a jugar. En esa fase de selección, cinco jugadores de cada equipo prohíben un personaje cada uno para que nadie en esa partida pueda utilizarlos (ya sea porque les resulta difícil jugar contra ellos, porque es fuerte en esa versión del juego, etc). Después, se eligen los personajes que van a jugar cada jugador por turnos, por lo que cada jugador es capaz de responder a cierto personaje enemigo con otro personaje que sirva para contrarrestar al enemigo o que haga sinergia con uno aliado.
El objetivo de este TFG es crear una herramienta que sirva de asistente para recomendar al jugador los mejores personajes en tiempo real. Para ello, habrá que tener en cuenta las estadísticas (porcentaje de victorias del personaje, porcentaje de victorias cuando va en el equipo con cierto personaje o porcentaje de victorias cuando va contra cierto personaje) de los personajes que se han elegido en esa partida antes de que le toque el turno al jugador a elegir. Además se podrán tener en cuenta factores como la habilidad del jugador con dicho personaje, así como la liga en la que se encuentra (la habilidad de los jugadores se mide por ligas: plata, oro, platino, etc.; personajes más difíciles tendrán mayor probabilidad de victoria si el jugador está en una liga de mayor nivel).
Este asistente se basará en técnicas de inteligencia artifcial y aprendizaje automático para aprender politicas de selección de personajes en función del historico de datos obtenidos en partidas previas.
Metodología:
Para la realización de este proyecto se sugiere una metodología de desarrollo ágil como SCRUM. Sin embargo, el alumno puede proponer otra metodología distinta acorde a sus preferencias o a la intensificación que esté cursando.
Plan de trabajo:
Para la realización de este proyecto se deben llevar a cabo las siguientes tareas:
- Estudio del estado del arte sobre algoritmos de IA y ML para la implementación de juegos de estrategia.
- Construcción de la bbdd de partidas para el aprendizaje de los algoritmos y técnicas propuestas.
- Diseño del asistente inteligente.
- Implementación del asistente.
- Validación y pruebas.
Competencias:
Este TFG permite completar las competencias específicas [CM1], [CM5] y [CM7] de la Intensificación de Computación, es decir, se trabajarán principalmente (en distinto grado) las siguientes competencias específicas de la tecnología de computación:
[CM1] Capacidad para tener un conocimiento profundo de los principios fundamentales y modelos de la computación y saberlos aplicar para interpretar, seleccionar, valorar, modelar, y crear nuevos conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática.
[CM5] Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes o entornos inteligentes.
[CM7] Capacidad para conocer y desarrollar técnicas de aprendizaje computacional y diseñar e implementar aplicaciones y sistemas que las utilicen, incluyendo las dedicadas a extracción automática de información y conocimiento a partir de grandes volúmenes de datos.