gnomos-simulation-ia

Simulador de gnomos cocineros (Python/Vue.js)

Stars
1

Simulacin de Gnomos Cocineros

Bienvenidos a Simulacin de Gnomos Cocineros, una simulacin matemtica que combina probabilidad y gestin en un entorno fantasioso. Este proyecto busca simular las habilidades nicas de cinco gnomos cocineros que deben cumplir una misin: preparar un banquete para la gran fiesta del pueblo. Enfrntate a desafos como la gestin del tiempo, la obtencin de ingredientes raros y el control de eventos aleatorios que pueden alterar el resultado final.

Objetivo del Proyecto

El objetivo es crear una simulacin automtica que modele el comportamiento de cinco gnomos cocineros: el panadero, el chef de sopas, el pastelero, el carnicero y el aprendiz. Cada gnomo tiene habilidades especficas y sus acciones estarn regidas por algoritmos probabilsticos avanzados y eventos aleatorios. Al finalizar la simulacin, se mostrar un reporte detallado con los resultados del banquete y el rendimiento de cada gnomo.

Estado Actual

El proyecto est en una fase inicial y an no se ha implementado ninguna funcionalidad. La planificacin est avanzada y contamos con una visin clara de la arquitectura y los objetivos de cada parte del sistema.

Funcionalidades Clave

Funcionalidades Principales

  • Simulacin automtica: Una vez iniciada, la simulacin se ejecuta automticamente sin intervencin del usuario.
  • Cinco gnomos con roles especficos: Panadero, chef de sopas, pastelero, carnicero y aprendiz, cada uno con habilidades y comportamientos nicos.
  • Probabilidad y gestin de tiempo: La lgica de la simulacin se basa en probabilidades y eventos aleatorios, donde cada tarea tiene un porcentaje de xito basado en las habilidades del gnomo.
  • Eventos externos: Se introducen eventos aleatorios como la obtencin de ingredientes raros o imprevistos que dificultan la coccin.
  • IA adaptativa: Cada gnomo sigue patrones de comportamiento inspirados en IA clsica (como los fantasmas de Pacman), adaptndose a los eventos del juego.
  • Reporte final: Al finalizar la simulacin, se genera un reporte con el desempeo de cada gnomo y el resultado del banquete.

Plataforma y Tecnologa

  • Frontend: Construido con Vue.js, ofrecer una interfaz simple para iniciar simulaciones y visualizar los resultados. El tablero de visualizacin incluir sprites de los gnomos estilo pixel art.
  • Backend: El motor de simulacin ser manejado por Python con Django, lo que permitir clculos complejos y algoritmos probabilsticos.
  • Tiempo Real: El frontend permitir una visualizacin en tiempo real del progreso de la simulacin y los eventos que ocurren.
  • Base de datos: PostgreSQL ser la base de datos encargada de almacenar los resultados de cada simulacin, as como el desempeo de los gnomos.

Futuras Funcionalidades

Modos y Opciones

  • Simulaciones avanzadas: Se planea aadir ms eventos externos y complejidades a la lgica de los gnomos, para hacer el juego ms impredecible.
  • Editor de simulaciones: En el futuro, se permitir a los usuarios crear sus propios gnomos con habilidades personalizadas y ajustar las probabilidades de xito.

Visualizacin y Animaciones

  • Tablero animado: Implementaremos un tablero en el frontend que mostrar el progreso de la simulacin, incluyendo animaciones de los gnomos cocinando y buscando ingredientes.
  • Sprites estilo pixel art: Se aadirn grficos estilo retro para darle un toque divertido y nostlgico a la visualizacin.

Algoritmos de Probabilidad e IA

  • Comportamiento avanzado de gnomos: Cada gnomo tendr un algoritmo nico que regir su comportamiento en base a su rol y habilidades, inspirados en IA como los patrones de movimiento de los fantasmas de Pacman.
  • Eventos externos complejos: Introduciremos un sistema de eventos aleatorios que incluir factores externos como el clima, disponibilidad de ingredientes o invitados adicionales al banquete.

Rendimiento y Escalabilidad

  • Escalabilidad en la nube: Se planea optimizar la simulacin para permitir mltiples ejecuciones simultneas en entornos de servidores como AWS o Heroku.
  • Procesamiento paralelo: En simulaciones ms complejas, el motor podr hacer uso de procesamiento paralelo para reducir tiempos de clculo.

Arquitectura del Sistema

La aplicacin sigue una arquitectura de tres capas: frontend, backend y base de datos, con Django como el framework del backend.

@startuml
skinparam style strictuml
actor User
node "Cliente" {
  [Frontend (Vue.js)]
}
node "Servidor" {
  [API Backend (Django)] --> [Motor de Simulacin]
  [Motor de Simulacin] --> [Base de Datos (PostgreSQL)]
}
User --> [Frontend (Vue.js)]
[Frontend (Vue.js)] --> [API Backend (Django)]
@enduml

Descripcin de Componentes

Frontend (Vue.js)

  • Funcionalidad: Proveer una interfaz simple para iniciar la simulacin y ver el progreso y resultados.
  • Visualizacin: Tablero con sprites de gnomos en pixel art, mostrando en tiempo real las tareas que cada gnomo est realizando.

Backend (Django)

  • API: Exponer endpoints REST para iniciar la simulacin, consultar resultados y obtener reportes.
  • Motor de Simulacin: Ejecucin de la lgica probabilstica para la simulacin.
  • Persistencia: Guardar los resultados en la base de datos y generar reportes.

Motor de Simulacin

  • Lgica de simulacin: Implementada en Python, basada en modelos probabilsticos y eventos aleatorios.
  • IA de Gnomos: Cada gnomo sigue un algoritmo de comportamiento personalizado.

Base de Datos (PostgreSQL)

  • Estructura:
    • Tabla Gnomos: Informacin sobre cada gnomo (nombre, rol, habilidades).
    • Tabla Simulaciones: Registro de cada simulacin.
    • Tabla Resultados: Resultados individuales de cada gnomo en cada simulacin.

Cmo Contribuir?

  1. Clona el repositorio y crea una rama para tu contribucin.
  2. Revisa las issues abiertas o sugiere mejoras.
  3. Implementa nuevas funcionalidades o resuelve bugs.
  4. Enva un pull request para revisin.

Roadmap del Proyecto

  1. Implementar la lgica bsica de simulacin.
  2. Desarrollar el frontend con visualizacin en tiempo real.
  3. Aadir eventos aleatorios y algoritmos complejos de IA.
  4. Optimizacin para mltiples simulaciones simultneas en la nube.
  5. Lanzamiento de una versin beta para pruebas comunitarias.

Gracias por interesarte en este proyecto! Si te gusta la simulacin y la gestin de probabilidades, este es el proyecto para ti!