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.
- Trabajadores (DOM nodes) aparecen arriba e interpolan la propiedad `top` hacia abajo simulando caída libre.
- En el centro (Y: 50%), el trabajador lee el estado del switch (
'left'o'right'). - El trabajador cambia su vector CSS
leftpara dirigirse a una banda secundaria. - 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
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.
