Inicio / Proyectos / 04

BeeGame

Juego de estrategia por turnos en Python que simula la relación entre las abejas y la actividad humana. Implementa IA simbólica: Expectimax con nodos de azar, búsqueda A* para pathfinding y una función heurística multi-componente. Proyecto académico con objetivo de concienciación medioambiental.

Tipo
Juego · IA simbólica · Académico
Stack
Python 3.12 · Pygame 2.6
Algoritmos
Expectimax · A* · Teoría de juegos
Código
GitHub ↗
Captura de pantalla del juego BeeGame mostrando el tablero con la abeja, flores y obstáculos
El tablero: abeja (MAX) contra humanidad (MIN)
01

La inteligencia artificial

Expectimax

Toma de decisiones óptimas considerando probabilidades: extensión de Minimax con nodos de azar para el clima y la reproducción de flores.

A* Pathfinding

Rutas óptimas de vuelta al rusc evitando obstáculos, con heurística de distancia Manhattan.

Teoría de juegos

Agente MAX (abeja) contra agente MIN (humanidad), con restricciones de poda estratégica en el árbol de decisión.

Heurística compleja

Función de evaluación con 7 componentes ponderados y pesos ajustables para analizar cada estado del juego.

Eventos de azar

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

3 modos de juego

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

02

Mecánicas del juego

La abeja — agente MAX

La humanidad — agente MIN

Clima — nodos de azar cada 4 turnos

Por qué existe

El juego busca concienciar sobre la importancia de las abejas para la polinización, mostrando de forma interactiva cómo los pesticidas y los obstáculos ambientales afectan a su supervivencia.

03

Conceptos de IA aplicados

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.

Python 3.12Pygame 2.6ExpectimaxA* PathfindingGame TheoryHeurísticas
Explorar el código ↗ Documentación
Siguiente proyecto — 05 TorneoYa