Reglas Centrales del Juego
Reglas agnósticas al género que todo juego necesita. Las peculiaridades del género se añaden sobre estas, nunca las reemplazan.
Flujo de Trabajo
- Identificar dimensión (2D/3D), género, cámara y esquema de entrada.
- Definir el conjunto de reglas ANTES del código: entidades, estados, reglas, victoria/derrota, casos borde.
- Implementar usando los patrones a continuación.
- Leer
references/collision.mdpara detalles de colisión/física. - Generar un archivo
RULES.mden el proyecto listando cada regla específica del juego para que pueda ser probada posteriormente.
Estructura Universal
- Bucle de juego: entrada -> actualizar(paso fijo) -> colisión -> resolución de estado -> renderizar. Usar un paso de tiempo fijo para física, variable para renderizado.
- Estados del juego:
Inicio -> Menú -> Jugando <-> Pausa -> GameOver/Victoria -> Menú. Cada transición debe ser explícita; no debe haber cambios de estado silenciosos. - Entidades: cada una tiene posición, tamaño/colisionador, velocidad, estado y es dueña de sus propias reglas.
- Tabla de reglas: para cada regla escribir
Desencadenante -> Condición -> Efecto -> Caso borde.
Reglas que Todo Juego Debe Definir
- Condición de victoria, condición de derrota y qué sucede al reiniciar (qué se reinicia, qué persiste).
- Puntuación/progreso: cómo aumenta, sus límites y cómo se guarda.
- Salud/vidas del jugador: fuente de daño, ventana de invulnerabilidad, manejo de la muerte.
- Aparición/desaparición: dónde, cuándo, límites y limpieza (sin fugas).
- Curva de dificultad: qué escala y a qué velocidad.
- Entrada: entradas simultáneas, almacenamiento en búfer, reasignación de controles, comportamiento de pausa.
Complementos por Género (seleccionar los que apliquen)
- Plataformas: gravedad, altura de salto/salto variable, tiempo de coyote (~100ms), búfer de salto (~100ms), plataformas unidireccionales, arrastre por plataformas móviles, plano de muerte por caída.
- Corredor/infinito: rampa de velocidad, espaciado procedural de generación garantizando paso posible, semilla para reproducibilidad.
- Shooter: cadencia de fuego, vida útil del proyectil, registro de impacto, munición/recarga.
- Puzzle: estado determinista, deshacer, verificación de solubilidad.
- Carreras/3D: puntos de control, validación de vueltas, reglas anti-atajos, colisión de cámara.
Reglas Estrictas
- Nunca vincular la lógica del juego a la velocidad de fotogramas.
- Nunca dejar que una entidad salga de los límites jugables sin un resultado definido.
- Cada regla debe tener un número (no usar "rápido", usar unidades/segundo).
- La aleatoriedad debe ser reproducible mediante semilla.