A classic Donkey Kong-style platformer game developed in Python with Pygame, featuring AI-powered enemies using Q-Learning algorithms and cloud data persistence with Firebase.
- 🎮 Classic platformer mechanics
- 🤖 AI enemies with Q-Learning behavior
- ☁️ Cloud data persistence with Firebase
- 🎯 Scoring and lives system
- 🏪 In-game shop with upgrades
- 📱 Executable packaging ready
- 🎨 Animated sprites and visual effects
- 🔊 Sound system integration
- Python 3.12+ - Main programming language
- Pygame 2.5.2 - Game development framework
- Firebase - Cloud database and authentication
- NumPy - Numerical computations for AI
- Matplotlib - Data visualization for AI training
- PyInstaller - Executable packaging
- Q-Learning - Reinforcement learning algorithm
- Clone the repository
git clone https://github.com/Dylalva/ClassicGame.git
cd ClassicGame- Install dependencies
pip install -r requirements.txt- Configure Firebase (see docs/firebase-setup.md)
cp .env.example .env- Run the game
python main.py- Arrow Keys/WASD: Movement
- Space/W: Jump
- T: Open shop
- F: Throw banana (if available)
- Mouse Click: Aim and throw banana
- ESC: Pause game
ClassicGame/
├── main.py # Entry point
├── requirements.txt # Dependencies
├── .env # Environment variables
├── build.py # Packaging script
├── src/
│ ├── game/ # Core game logic
│ ├── entities/ # Player and enemies
│ ├── managers/ # Game systems managers
│ ├── ai/ # AI algorithms
│ ├── ui/ # User interface
│ └── utils/ # Utilities and configuration
├── assets/ # Graphics and sound resources
├── data/ # Persistent data and models
├── docs/ # Complete documentation
└── tests/ # Unit tests
- Q-Learning Algorithm: Enemies learn player behavior
- Dynamic Difficulty: AI adapts to player skill
- Smart Navigation: Enemies navigate between platforms
- Behavioral Patterns: Different enemy types with unique AI
Complete documentation available in the docs/ folder:
python build.pyThe executable will be generated in the dist/ folder.
- Fork the project
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License.
Details
## EspañolUn juego de plataformas clásico estilo Donkey Kong desarrollado en Python con Pygame, que incluye enemigos con inteligencia artificial usando algoritmos Q-Learning y persistencia de datos en la nube con Firebase.
- 🎮 Mecánicas clásicas de plataformas
- 🤖 Enemigos con IA usando Q-Learning
- ☁️ Persistencia de datos en la nube con Firebase
- 🎯 Sistema de puntuación y vidas
- 🏪 Tienda en el juego con mejoras
- 📱 Listo para empaquetado como ejecutable
- 🎨 Sprites animados y efectos visuales
- 🔊 Sistema de sonido integrado
- Python 3.12+ - Lenguaje de programación principal
- Pygame 2.5.2 - Framework de desarrollo de juegos
- Firebase - Base de datos en la nube y autenticación
- NumPy - Cálculos numéricos para IA
- Matplotlib - Visualización de datos para entrenamiento de IA
- PyInstaller - Empaquetado de ejecutables
- Q-Learning - Algoritmo de aprendizaje por refuerzo
- Clonar el repositorio
git clone https://github.com/Dylalva/ClassicGame.git
cd ClassicGame- Instalar dependencias
pip install -r requirements.txt- Configurar Firebase (ver docs/firebase-setup.md)
cp .env.example .env- Ejecutar el juego
python main.py- Flechas/WASD: Movimiento
- Espacio/W: Saltar
- T: Abrir tienda
- F: Lanzar banana (si está disponible)
- Clic del Mouse: Apuntar y lanzar banana
- ESC: Pausar juego
ClassicGame/
├── main.py # Punto de entrada
├── requirements.txt # Dependencias
├── .env # Variables de entorno
├── build.py # Script de empaquetado
├── src/
│ ├── game/ # Lógica principal del juego
│ ├── entities/ # Jugador y enemigos
│ ├── managers/ # Gestores de sistemas del juego
│ ├── ai/ # Algoritmos de IA
│ ├── ui/ # Interfaz de usuario
│ └── utils/ # Utilidades y configuración
├── assets/ # Recursos gráficos y sonoros
├── data/ # Datos persistentes y modelos
├── docs/ # Documentación completa
└── tests/ # Pruebas unitarias
- Algoritmo Q-Learning: Los enemigos aprenden el comportamiento del jugador
- Dificultad Dinámica: La IA se adapta a la habilidad del jugador
- Navegación Inteligente: Los enemigos navegan entre plataformas
- Patrones de Comportamiento: Diferentes tipos de enemigos con IA única
Documentación completa disponible en la carpeta docs/:
- Guía de Configuración de Firebase
- Explicación de Algoritmos de IA
- Arquitectura del Juego
- Guía de Desarrollo
python build.pyEl ejecutable se generará en la carpeta dist/.
- Fork el proyecto
- Crea una rama para tu feature
- Commit tus cambios
- Push a la rama
- Abre un Pull Request
Este proyecto está bajo la Licencia MIT.
