0% encontró este documento útil (0 votos)
9 vistas20 páginas

Agente Inteligente Mejorado para Mario

El documento describe el desarrollo de un agente inteligente mejorado para el videojuego Mario, que incorpora un sistema avanzado de uso de power-ups y toma de decisiones mediante árboles de decisión jerárquicos. Se implementan estrategias específicas para enfrentar enemigos y precipicios, priorizando la supervivencia del personaje en entornos dinámicos. La arquitectura del agente se basa en la teoría de agentes inteligentes, mostrando reactividad, proactividad y racionalidad.

Cargado por

Camilo Ortiz
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas20 páginas

Agente Inteligente Mejorado para Mario

El documento describe el desarrollo de un agente inteligente mejorado para el videojuego Mario, que incorpora un sistema avanzado de uso de power-ups y toma de decisiones mediante árboles de decisión jerárquicos. Se implementan estrategias específicas para enfrentar enemigos y precipicios, priorizando la supervivencia del personaje en entornos dinámicos. La arquitectura del agente se basa en la teoría de agentes inteligentes, mostrando reactividad, proactividad y racionalidad.

Cargado por

Camilo Ortiz
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

MARIO A.I.

Inteligente Mejorado

Sebastián Misael Rodríguez Bernal

S11A

Escuela Tecnológica Instituto Técnico Central


Ingeniería de Sistemas
Sistemas Expertos
Bogotá D.C
Resumen

Este documento presenta el diseño y desarrollo mejorado de un agente inteligente

para el videojuego Mario, extendiendo la implementación original mediante la

incorporación de capacidades avanzadas de uso de power-ups y un sistema de toma de

decisiones basado en árboles de decisión jerárquicos. El sistema implementa estrategias

específicas para manejar situaciones críticas como enemigos próximos y precipicios,

priorizando siempre la supervivencia del personaje. La arquitectura del agente se

fundamenta en la teoría de agentes inteligentes, demostrando capacidades de reactividad,

proactividad y racionalidad en entornos dinámicos y complejos.

Palabras clave: inteligencia artificial, agentes inteligentes, árboles de decisión,

videojuegos, Mario, toma de decisiones.


Tabla de contenido

Resumen ................................................................................................................................. 2

1. Introducción ........................................................................................................................ 5

1.1 Contexto y Planteamiento del Problema ...................................................................... 5

2. Objetivos del Trabajo ......................................................................................................... 6

3. Marco Teórico .................................................................................................................... 7

3.1 Arquitectura de Agentes Inteligentes ........................................................................... 7

3.2 Árboles de Decisión en Videojuegos ........................................................................... 7

4. Implementación de Mario AI ............................................................................................. 7

4.1 Instalación y Configuración del Entorno Mario AI ...................................................... 7

4.2 Proceso de Compilación y Ejecución ........................................................................... 8

4.3 Verificación y Solución de Problemas ......................................................................... 8

5. Implementación del Sistema Mejorado .............................................................................. 9

5.1 Arquitectura General del Agente .................................................................................. 9

5.2 Árbol de Decisión Principal ......................................................................................... 9

5.3 Manejo de Enemigos Próximos y Manejo precipicio ................................................... 9

5.4 Comparación con la Implementación Original ........................................................... 14

5.5 Entorno gráfico (percepción mejorada). ..................................................................... 15

5.6 Estados del agente mejorado ...................................................................................... 16

6. Conclusiones y Trabajo Futuro ........................................................................................ 17


6.1 Conclusiones Principales ............................................................................................ 17

6.2 Líneas de Trabajo Futuro............................................................................................ 18

7. Referencias .................................................................................................................... 18
1. Introducción

1.1 Contexto y Planteamiento del Problema

El desarrollo de agentes inteligentes para videojuegos representa un desafío

significativo en el campo de la inteligencia artificial, requiriendo la capacidad de procesar

información del entorno en tiempo real y tomar decisiones óptimas bajo restricciones

temporales estrictas. El videojuego Mario, con su dinámica de plataformas y múltiples tipos

de obstáculos, constituye un entorno ideal para implementar y evaluar diferentes

arquitecturas de agentes inteligentes. La Teoría de Agentes (Russell & Norving, 2020)

establece que un agente inteligente es un sistema capaz de percibir su entorno mediante

sensores y actuar sobre dicho entorno mediante actuadores, con el objetivo de maximizar

una medida de rendimiento. Los agentes inteligentes se caracterizan por propiedades como

autonomía, reactividad, proactividad y racionalidad, todas ellas implementadas en el agente

Mario mejorado.
2. Objetivos del Trabajo

Este trabajo tiene como objetivo principal extender la implementación original del

agente Mario mediante:

• La incorporación de un sistema de uso estratégico de power-ups

• El diseño e implementación de un árbol de decisión jerárquico para manejo de

situaciones críticas

• La optimización de las estrategias de supervivencia en entornos complejos

• La mejora de la capacidad de evaluación de riesgos en tiempo real


3. Marco Teórico

3.1 Arquitectura de Agentes Inteligentes

Según Wooldridge (2009), un agente inteligente debe poseer las siguientes

propiedades fundamentales:

1. Autonomía: Capacidad de operar sin intervención directa

2. Reactividad: Capacidad de percibir el entorno y responder a cambios

3. Proactividad: Capacidad de exhibir comportamiento orientado a objetivos

4. Racionalidad: Capacidad de seleccionar acciones que maximicen la medida de

rendimiento

3.2 Árboles de Decisión en Videojuegos

Los árboles de decisión constituyen una técnica fundamental en la implementación

de comportamientos de personajes no jugadores (NPCs) en videojuegos. Como señalan

Millington y Funge (2019), los árboles de decisión permiten modelar comportamientos

complejos mediante la descomposición jerárquica de decisiones, facilitando la

implementación y el mantenimiento del código.

4. Implementación de Mario AI

todo esa explicacion hazla en 3 parrafos

4.1 Instalación y Configuración del Entorno Mario AI

El proyecto Mario AI Framework fue descargado desde el repositorio oficial de

GitHub ([Link] que contiene la

implementación completa del competition de 2009. La estructura del proyecto incluye

directorios para el código fuente (src/), bibliotecas externas (lib/), y recursos del juego. Para
la configuración del entorno de desarrollo, se requirió Java JDK 8 o superior, verificando la

instalación mediante los comandos java -version y javac -version. El framework se

organiza en paquetes que contienen los agentes AI, escenarios de ejecución y el motor

principal del juego Mario.

4.2 Proceso de Compilación y Ejecución

La compilación se realizó mediante PowerShell en Windows usando el

comando javac -encoding UTF8 -d classes -cp "lib/*" $files, donde $files contiene todos los

archivos Java del directorio src/. Este comando especifica codificación UTF8, directorio de

destino classes, e incluye todas las bibliotecas JAR necesarias. Para la ejecución, se

utilizó java -cp "classes;lib/*" [Link], que carga las clases compiladas y

bibliotecas, iniciando el escenario principal del juego. El agente

mejorado ForwardJumpingAgent se integró en la ruta src/ch/idsia/ai/agents/ai/ y se verificó

su correcto funcionamiento ejecutando con el parámetro -ag

[Link].

4.3 Verificación y Solución de Problemas

Tras la compilación y ejecución, se verificó el correcto funcionamiento mediante la

aparición de la ventana del juego con Mario controlado automáticamente por el agente

mejorado. Para resolver problemas comunes se implementaron scripts de automatización

([Link] y [Link]) que simplifican el proceso de desarrollo. Los errores más frecuentes

incluyeron versiones incompatibles de Java, solucionados actualizando a JDK 8, y

problemas de classpath, resueltos asegurando la correcta inclusión de todos los directorios

necesarios en el parámetro -cp durante la ejecución.


5. Implementación del Sistema Mejorado

5.1 Arquitectura General del Agente

El agente Mario mejorado implementa una arquitectura basada en árboles de

decisión que procesa 24 frames por segundo, evaluando continuamente el estado del

entorno y seleccionando la acción óptima en cada momento.

5.2 Árbol de Decisión Principal

5.3 Manejo de Enemigos Próximos y Manejo precipicio


Estrategias por Tipo de Enemigo

Tabla 1: Estrategias para Diferentes Tipos de Enemigos

Estrategia Estrategia Condiciones


Tipo de Enemigo
Primaria Secundaria Especiales

Salto sobre Disparo con Siempre evitable


Goomba/Koopa
enemigo fuego con salto

Retroceso Nunca saltar


Spiky/Púas Evasión inmediata
estratégico encima

Enemigos Evaluación de Disparo Agacharse si altura


Voladores altura selectivo baja
Estrategia Estrategia Condiciones
Tipo de Enemigo
Primaria Secundaria Especiales

Esquive por
Bullet Bill Avance rápido Patrón predecible
agachamiento

Estrategias por Tipo de Precipicio

Tabla 2: Estrategias para Diferentes Anchuras de Precipicio

Anchura Estrategia Técnica Requisitos

1-2 Capacidad de salto


Salto normal Impulso básico
casillas normal

3-4 Necesita espacio para


Salto con impulso Carrera + salto
casillas carrera

Búsqueda
>4 casillas Plataformas/rebotes Evaluación de alternativas
alternativa

4.4 Manejo de desplazamiento


Tablas de Estrategias de Desplazamiento

Tabla 1: Estrategias por Estado de Movimiento

Objetivo Acciones
Estado Velocidad Precaución
Principal Disponibles

Escaneo
Evaluar
Detenido 0% Máxima completo,
amenazas
decisión inicial
Objetivo Acciones
Estado Velocidad Precaución
Principal Disponibles

Progresar Avance, salto,


Avanzando 70-100% Media
eficiente disparo

Mantener Ajuste aéreo,


Saltando 50-80% Alta
control preparar caída

Evasión,
Retrocediendo 30-60% Máxima Supervivencia
replanificación

Tabla 2: Estrategias por Tipo de Obstáculo

Tipo Estrategia Estrategia


Condiciones Riesgo
Obstáculo Primaria Secundaria

Bloque Ruta
Salto sobre Altura saltable Medio
sólido alternativa

Bloque Romper con Mario


Salto sobre Bajo
rompible salto grande/fuego

Bloque Acercarse Salto para Cualquier


Muy bajo
power-up directo alcanzar estado

Precipicio
Salto normal Carrera + salto Distancia ≤ 2 Bajo
pequeño

Precipicio Carrera + Evaluar


Distancia 3-4 Medio
medio salto alternativas
Tipo Estrategia Estrategia
Condiciones Riesgo
Obstáculo Primaria Secundaria

Precipicio Cambio de Búsqueda


Distancia > 4 Alto
grande ruta plataformas

Tabla 3: Estrategias por Distancia a Enemigos

Distancia Zona Comportamiento Velocidad Atención

0-2
Peligro Evasión inmediata 40-60% Máxima
casillas

3-4
Evaluación táctica 60-80% Alta
casillas Precaución

5-6 Preparación
Alerta 80-90% Media
casillas ofensiva

≥7 casillas Seguro Avance normal 90-100% Baja

5.4 Comparación con la Implementación Original

Tabla 3: Comparativa de Características

Implementación Original
Característica Implementación Mejorada

Uso de power-ups No implementado Estratégico y contextual

Manejo de enemigos Básico y genérico Específico por tipo


Limitada a detección Cuantitativa y
Evaluación de precipicios
binaria estratégica

Manejo de situaciones Comportamiento Evaluación de riesgos

críticas tiempo real predefinido en tiempo

Capacidad de extensión
Limitada Arquitectura modular

5.5 Entorno gráfico (percepción mejorada).

La percepción de Mario la realiza a partir de la observación de una matriz de

tamaño 22×22, que le permite tener en todo momento un control del entorno en el que se

encuentra en cada instante.

El videojuego está formado por una interfaz gráfica formada por una matriz de

tamaño 22×22, en el que el agente (Mario) está centrado en dicha matriz.

A partir de los valores de cada posición de la matriz, se puede tener una percepción

de la situación en la que se encuentra el agente dentro de la pantalla. Los valores de cada

matriz hacen referencia principalmente a la situación del terreno y la posición

de los enemigos en cada instante.

MEJORA IMPLEMENTADA:

Se ha extendido la capacidad de percepción para incluir detección de enemigos en

línea recta (columnas 12-16, filas 10-12) para uso óptimo del power-up de fuego.
En la siguiente figura se muestra un ejemplo gráfico de lo comentado anteriormente.

Los valores son:

- El "0" es el fondo de la pantalla.

- El "-10" es el suelo de la pantalla.

- El "-11" es el terreno elevado de la pantalla.

- Los demás valores son elementos del juego con los que Mario podrá interactuar.

5.6 Estados del agente mejorado

Los estados de Mario que tiene en cuenta a la hora de decidir la acción a ejecutar se pueden

dividir en dos tipos. Un tipo de estados que hacen referencia al tamaño de Mario, y otro que

se refiere a la situación de Mario en la pantalla (en el aire, en la tierra, etc):

Mario grande y Mario fuego:

• existen acciones que se ejecutan de manera distinta en función del tamaño de Mario.

MEJORA: Ahora incluye comportamiento ofensivo con disparo de fuego.

Mario pequeño:

está en su mínimo tamaño, por lo que hay acciones que debe tener en cuenta.

En el aire:

Mario está en el aire. En este estado hay acciones que no se pueden realizar.

En la Tierra:

Mario está justo encima del suelo. En este estado se pueden realizar todas las

acciones. También, es el estado de inicio.


Si hay piraña en una tubería

es una comprobación en forma de estado debido a que el agente Mario realiza una

acción u otra dependiendo de si la hay un enemigo ("piraña") en un obstáculo ("tubería").

Enemigos sobre Mario

también es una comprobación en forma de estado. Si justo encima de Mario existe

algún enemigo, éste tendrá una serie de acciones a realizar diferentes del resto de estados.

NUEVO ESTADO: Enemigos en línea recta

Permite decidir cuándo usar el power-up de fuego de manera estratégica.

6. Conclusiones y Trabajo Futuro

6.1 Conclusiones Principales

• La implementación de árboles de decisión jerárquicos permite manejar

eficientemente la complejidad de la toma de decisiones en entornos dinámicos como

los videojuegos de plataformas.

• La clasificación específica de tipos de enemigos y la correspondiente

especialización de estrategias resulta en una mejora significativa en la tasa de

supervivencia del agente.

• La evaluación cuantitativa de riesgos en tiempo real permite al agente tomar

decisiones más informadas en situaciones críticas.


6.2 Líneas de Trabajo Futuro

1. Implementación de algoritmos de búsqueda A* para planificación de rutas

óptimas, siguiendo el trabajo de Baumgarten (2009).

2. Incorporación de técnicas de aprendizaje por refuerzo para optimizar las

decisiones basándose en experiencia previa.

3. Desarrollo de un sistema de memoria a corto plazo que permita al agente

recordar patrones de comportamiento de enemigos.

4. Implementación de cooperación entre múltiples agentes para escenarios

multijugador.

7. Referencias

• Baumgarten, R. (2009). *A* Search for Mario AI*. Imperial College London.

Recuperado de

[Link]

tition

• Millington, I., & Funge, J. (2019). *Artificial Intelligence for Games* (3rd ed.).
CRC Press.
[Link]
ming/Artificial%20Intelligence%20for%[Link]
• Wooldridge, M. (2009). *An Introduction to MultiAgent Systems* (2nd ed.). John

Wiley & Sons.

[Link]

• Torre Abaitua, J., Barco Nuñez, J. A., & Bañon Peñuelas, J. M. (2009). *Mario

A.I.* Universidad Carlos III de Madrid. [Documento interno de trabajo]

• Mario AI Competition. (2009). *Mario AI Framework Documentation*.

Recuperado de [Link]
• Mario AI Benchmark. (2012). *Mario AI Framework GitHub Repository*.

[Link]

• Infinite Mario Bros. (2008). *Source Code and Documentation*.

[Link]

• Stack Overflow. (2009-present). *Mario AI Implementation Discussions*.

[Link]

• Reddit - /r/gameai. (2010-present). *Mario AI Community Discussions*.

[Link]

• AI Game Dev. (2008-2015). *Mario AI Competition Forums*. [Archivado]

[Link]

• Game Development Stack Exchange. (2010-present). *Mario Physics and AI

Questions*. [Link]

• Mario AI Competition Wiki. (2009). *Technical Specifications and API

Documentation*. [Link]

• Mario Engine Documentation. (2010). *Sprite Values and Game Mechanics*.

[Link]

• Game AI Pro Wiki. (2012-present). *Platformer AI Techniques*.

[Link]

• Baumgarten, R. (2009). *Infinite Mario A* Implementation*.

[Link]

• Schmitt, A. (2010). *Mario AI Competition Entries Collection*.

[Link]

Framework/tree/master/src/ch/idsia/ai/agents
• Togelius, J. (2009). *Mario AI Competition Framework*.

[Link]

• Game Mechanics Database. (2010). *Super Mario Bros. Physics Analysis*.

[Link]

• GitHub Issues. (2009-present). *Mario AI Framework Discussion*.

[Link]

• Baumgarten, R. (2009). *Winning the Mario AI Competition* [Video]. YouTube.

[Link]

• Russell, S., & Norvig, P. (2020). *Artificial Intelligence: A Modern Approach* (4th

ed.). [Link]

[Link]

También podría gustarte