← Volver al Índice

Factory Rush

Documentación Técnica

1. Ficha Técnica

  • Nombre: Factory Rush
  • ODS: ODS 8 - Trabajo Decente y Crecimiento Económico
  • Objetivo: Redirigir la cinta transportadora hacia la izquierda o derecha para guiar a los trabajadores a fábricas sostenibles y protegerlos de la explotación laboral.

2. Mecánica y Flujo de Juego

El jugador controla un divisor de cinta o palanca (switch) central pulsándolo con clic. Las fábricas sostenibles vs explotadoras alternan sus lados aleatoriamente para requerir atención constante.

  1. Trabajadores (DOM nodes) aparecen arriba e interpolan la propiedad `top` hacia abajo simulando caída libre.
  2. En el centro (Y: 50%), el trabajador lee el estado del switch ('left' o 'right').
  3. El trabajador cambia su vector CSS left para dirigirse a una banda secundaria.
  4. Al llegar al final validamos si esa fábrica era la "buena".

3. Lógica de Programación

Este sistema depende altamente del método update() atado al bucle global requestAnimationFrame. Todos los objetos en pantalla son Array de diccionarios que modelan su estado matemático y el puntero hacia su DOM element.

Variables Importantes

this.conveyorDirection = 'left'; // Estado binario del switch this.goodFactorySide = 'left'; // Variable que muta cada X tiempo con setInterval this.workers = []; // Tracking object list this.targetCount = 5; // Condiciones

Desviadores Matemáticos

El bucle comprueba constantemente if (worker.y > 45 && !worker.diverted) para saber en qué momento el trabajador toca el pivote, le inyecta la dirección actual del switch y flaggea worker.diverted = true.

4. Sistema de Victoria/Derrota

Victoria: Cuando el trabajador cruza al final de su eje (ej: worker.y > 90), se compara worker.divertedDir === this.goodFactorySide. De ser cierto, el contador sube.

Derrota: 1 solo fallo (enviar al trabajador a la fábrica mala) dispara triggerCrash(), deteniendo intervalos, tiñendo el background de rojo con CSS classes y llamando a this.finish(false).

5. Mejoras Implementadas Históricamente

Las iteraciones del equipo redujeron drásticamente la velocidad base de los trabajadores (de 0.8 a 0.3 interpolaciones) para evitar la frustración ("Tuning Gameplay") y se incrementaron indicadores visuales robustos de colores verdes y rojos usando la propiedad box-shadow.