Sergio Valor 34a0e0505b Commit inicial: Configuración del proyecto vibe2_modules
Renombrado de vibe1_delta a vibe2_modules para aprendizaje de modularización.
- Actualizado nombre del proyecto en CMakeLists.txt
- Cambiado título de ventana a vibe2_modules
- Actualizado .gitignore con nuevos nombres de ejecutables y añadido .claude/
- Cambiada ruta de resources a data/ball.png
- Añadido README completo explicando propósito y fases del proyecto

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 21:05:34 +02:00

vibe2_modules

Propósito del Proyecto

Este proyecto es una evolución de 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

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++.

Description
Simulador de física con sprites rebotantes desarrollado en C++20/SDL3. Evolución modularizada de vibe1_delta con temas visuales, optimizaciones de renderizado y experimentos con módulos C++20.
Readme 152 KiB
Languages
C++ 95.7%
CMake 4.3%