- Título: "ViBe2 Modules - Simulador de Sprites con Física Modular" - Enlace directo a vibe1_delta en Gitea - Mantiene estilo y formato consistente con proyecto anterior 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
71 lines
2.7 KiB
Markdown
71 lines
2.7 KiB
Markdown
# ViBe2 Modules - Simulador de Sprites con Física Modular
|
|
|
|
## Propósito del Proyecto
|
|
|
|
Este proyecto es una evolución de **[vibe1_delta](https://gitea.sustancia.synology.me/JailDesigner/vibe1_delta)**, diseñado específicamente para **aprender y practicar la modularización de código**. El objetivo principal es tomar el código monolítico existente y reestructurarlo en módulos bien organizados.
|
|
|
|
### Fases del Proyecto
|
|
|
|
#### Fase 1: Modularización (Actual)
|
|
- **Objetivo**: Convertir el código monolítico en una arquitectura modular
|
|
- **Meta de aprendizaje**: Entender cómo estructurar proyectos C++ en módulos coherentes
|
|
- **Beneficios esperados**:
|
|
- Código más mantenible y legible
|
|
- Mejor separación de responsabilidades
|
|
- Facilitar futuras extensiones y modificaciones
|
|
|
|
#### Fase 2: Nuevas Características (Futura)
|
|
- **Objetivo**: Añadir características divertidas a la demo de física
|
|
- **Prerrequisito**: Completar la modularización
|
|
- **Ideas potenciales**: Por definir después de la modularización
|
|
|
|
## Descripción Técnica
|
|
|
|
**vibe2_modules** es una simulación de física de pelotas rebotando desarrollada con:
|
|
- **SDL3**: Para renderizado y manejo de ventanas
|
|
- **C++20**: Estándar moderno de C++
|
|
- **CMake**: Sistema de construcción
|
|
- **Física con Delta Time**: Sistema de tiempo independiente del framerate
|
|
|
|
### Características Actuales
|
|
- ✨ **Múltiples temas visuales**: ATARDECER, OCÉANO, NEÓN, BOSQUE
|
|
- 🎮 **Escenarios configurables**: 1 a 100,000 pelotas
|
|
- ⚡ **Optimizaciones**: Batch rendering para alto rendimiento
|
|
- 🎨 **Efectos visuales**: Fondos degradados y paletas de colores temáticas
|
|
- 🔧 **Debug integrado**: Contador FPS, información de física, controles V-Sync
|
|
|
|
### Controles
|
|
- **1-8**: Cambiar número de pelotas (1, 10, 100, 500, 1K, 10K, 50K, 100K)
|
|
- **T**: Ciclar entre temas / **F1-F4**: Seleccionar tema específico
|
|
- **ESPACIO**: Impulsar pelotas hacia arriba
|
|
- **G**: Invertir gravedad
|
|
- **V**: Alternar V-Sync
|
|
- **H**: Mostrar/ocultar información de debug
|
|
- **ESC**: Salir
|
|
|
|
## Construcción
|
|
|
|
```bash
|
|
mkdir build && cd build
|
|
cmake ..
|
|
make
|
|
```
|
|
|
|
## Estructura Objetivo (Post-Modularización)
|
|
|
|
```
|
|
vibe2_modules/
|
|
├── source/
|
|
│ ├── core/ # Funcionalidades básicas
|
|
│ ├── physics/ # Sistema de física
|
|
│ ├── rendering/ # Sistema de renderizado
|
|
│ ├── input/ # Manejo de entrada
|
|
│ ├── themes/ # Sistema de temas
|
|
│ └── external/ # Bibliotecas externas
|
|
├── data/ # Recursos (texturas, assets)
|
|
└── build/ # Archivos de construcción
|
|
```
|
|
|
|
---
|
|
|
|
*Este proyecto forma parte del aprendizaje de arquitectura de software y buenas prácticas en C++.* |