Volver al inicio

🐝 BeeGame

Simulación Ecológica con Inteligencia Artificial Simbólica

Captura de pantalla de BeeGame mostrando el tablero de juego con abejas, flores y obstáculos
Ver en GitHub Documentación

¿Qué es BeeGame?

BeeGame es un juego de estrategia por turnos desarrollado en Python que simula la compleja relación entre las abejas y la actividad humana. El proyecto implementa algoritmos avanzados de Inteligencia Artificial Simbólica, incluyendo Expectimax con nodos de azar, búsqueda A* para pathfinding, y una función heurística multi-componente.

🌍 Objetivo Educativo: El juego busca concienciar sobre la importancia de las abejas y el medio ambiente a través de una experiencia interactiva, demostrando cómo los pesticidas y obstáculos ambientales afectan la supervivencia de estos insectos vitales para la polinización.

Características Principales

🧠

Algoritmo Expectimax

Toma de decisiones óptimas considerando probabilidades y nodos de azar para clima y reproducción.

🎯

A* Pathfinding

Cálculo de rutas óptimas al rusc evitando obstáculos con heurística de distancia Manhattan.

⚖️

Teoría de Juegos

Agente MAX (abeja) vs Agente MIN (humanidad) con restricciones de poda estratégica.

🌦️

Eventos de Azar

Sistema climático (lluvia, sol, normal) y reproducción de flores con probabilidades dinámicas.

📊

Heurística Compleja

Función de evaluación con 7 componentes ponderados para análisis de estados del juego.

🎮

3 Modos de Juego

Jugador manual, IA básica aleatoria, o Expectimax avanzado para ambos agentes.

Mecánicas del Juego

🐝 La Abeja (Agente MAX)

👥 La Humanidad (Agente MIN)

🌦️ Eventos Climáticos (Cada 4 turnos)

Tecnologías Utilizadas

Python 3.12.3 Pygame 2.6.0 Expectimax Algorithm A* Pathfinding Game Theory Heuristic Functions

Instalación y Uso

Para ejecutar el juego localmente:

📚 Conceptos de IA Aplicados: Este proyecto demuestra búsqueda informada (A*), extensión de Minimax con nodos probabilísticos (Expectimax), modelado de incertidumbre, poda estratégica, y optimización de funciones heurísticas con pesos ajustables.

Estructura del Proyecto

El código está organizado profesionalmente en módulos:

Explorar Código en GitHub Volver al Portafolio