Lumbre, la última luz ahora alumbra
Lumbre, la última luz es un juego de luz y oscuridad, pero hasta ahora la luz era casi sólo un hueco en la noche: alumbraba, pero no tocaba las cosas. Nos preguntamos si para verse mejor había que cambiar de herramientas, y decidimos que no: primero había que sacarle todo a las que ya teníamos. Fueron cinco pasos, uno a la vez, probando cada uno en el teléfono antes de seguir.
Al ver las capturas de noche con calma, encontramos tres cosas. La luz era como una hoja oscura con un agujero encima del mundo: tapaba, pero no tocaba nada. Todas las luces tenían el mismo ámbar. Y las caras de las ruinas se veían iguales estuvieras donde estuvieras. Con eso armamos el plan: primero color y caras, luego sombras, luego el aire, luego el brillo y al final la sensación de los golpes.
Cada luz tiene su color, y las paredes lo notan
Tu lámpara alumbra ámbar, los faros encendidos alumbran crema, casi blanco, y las bengalas, naranja quemado. Donde se juntan dos luces, sus colores se mezclan en vez de cortarse en seco. Todos salen de la misma paleta de 32 colores del juego: no agregamos ninguno. Si sólo está tu lámpara, la noche se ve como antes; la diferencia aparece cuando te acercas a un faro o lanzas una bengala.
Lo que más cambió fueron las ruinas. Ahora cada pared sabe de qué lado está tu lámpara: la cara que la mira se calienta y la que le da la espalda se enfría con el azul de la noche. Al caminar alrededor de un edificio, sus caras cambian de color contigo. Esa mezcla de cálido contra frío es lo que hace que una escena de noche se sienta de noche.
Sólo las ruinas cercanas a tu lámpara reciben este trato. Las lejanas siguen como antes, y como están a oscuras, no se nota. En los teléfonos que van más justos, las caras no cambian de color: es un adorno, y la partida es la misma.
La lámpara hace sombras
Cada ruina y cada faro cerca de ti proyectan su sombra en el suelo, y la sombra gira cuando caminas. Las paredes altas dejan sombras largas que se pierden en la oscuridad; las que se cayeron hasta la mitad, sombras cortas. Es lo que pasa cuando caminas con una linterna entre coches estacionados: las sombras se estiran y giran contigo. Y si una pared mira hacia ti pero otra ruina se atraviesa, ya no se calienta: queda a la sombra. Por ahora es sólo algo que se ve; si las Sombras deberían poder esconderse ahí, todavía lo estamos pensando.
Ceniza, niebla y el color de cada zona
La noche ya no está vacía. Cae ceniza, se arrastran bancos de niebla baja y tu lámpara suelta chispas que suben y se apagan. La ceniza y la niebla sólo se ven donde alumbras, como el polvo en el haz de una linterna. Las chispas salen del vidrio de la lámpara, suben y pasan de ámbar a naranja antes de apagarse. Si pones pausa, todo se queda quieto en el aire. Cada zona tiene su aire: la costa, con brisa y algo de niebla; la presa, quieta y húmeda; la ciudad apagada, llena de ceniza. Y cada una tiene su tono: la costa se siente fría, la presa verdosa y la ciudad naranja, como las lámparas de sodio de una avenida vieja.
Todo esto lo hicimos con trazos sencillos y no con un filtro sobre la pantalla entera, que es lo que suele usarse para estas cosas. Un filtro así vuelve a pintar toda la pantalla en cada cuadro, y en un teléfono eso se paga caro. Además, para entonces acabábamos de pelear con un problema de velocidad (lo contamos más abajo) y no queríamos gastarnos de nuevo lo que habíamos recuperado. La flama de la lámpara y las bengalas ganaron un resplandor suave, del color de su luz, hecho con el mismo truco barato.
Golpes que se sienten
Cuando cae una Sombra grande, el juego se detiene un instante, apenas unas centésimas de segundo, para que el golpe pese. Las polillas no lo hacen (serían cientos), pero el acechador, el tragaluz y el guardián sí; el guardián, un poco más. Después de cada pausa hay un respiro sin pausas, para que cuando te rodean varias Sombras grandes el juego no se sienta entrecortado. Cuando le das a una Sombra que aguanta, se pinta de crema por un momento: así sabes que le diste. Y cuando te golpean a ti, las orillas de la pantalla se encienden de rojo brasa.
Aquí tuvimos cuidado: si te rodean y te pegan diez veces por segundo, diez destellos serían un estrobo. Por eso nunca hay más de dos y medio por segundo, sólo en las orillas, y con la opción Reducir destellos no hay ninguno.
También les dimos más vida a los personajes: todos los que se mueven pasaron de 4 a 6 cuadros de animación. El farolero levanta el pie al dar el paso, mece el brazo al revés que la lámpara y la punta de su bufanda ondea; la polilla aletea más suave; el acechador trota con la cabeza y la cola; el tragaluz se arrastra como oruga y el guardián pisa pesado, con la grieta de su lomo latiendo como brasas. El ritmo no cambió: el farolero da los mismos pasos por segundo que antes, sólo que ahora entre paso y paso hay más dibujos. Es como esas libretas que hojeas rápido para ver un dibujo moverse: con más hojas, el movimiento se ve más suave.
Creíamos que eran los gráficos, y era el sonido
Con muchas Sombras en pantalla el juego empezó a trabarse, y lo primero que pensamos fue que habíamos cargado demasiado el dibujo. Antes de tocar nada, medimos. El peor caso posible, con todas las Sombras, todos los disparos y 80 brasas en pantalla, tardaba en calcularse en la computadora menos de dos milésimas de segundo por cuadro: el juego iba sobrado. La pista estaba en el registro del teléfono: cada vez que sonaba un efecto y los reproductores de sonido estaban ocupados, se creaba uno nuevo. Con decenas de Sombras deshaciéndose por segundo, eran decenas de reproductores.
Lo encontramos en un Android, un Motorola que usamos de referencia. En el simulador de iPhone no se podía medir, así que lo conectamos y leímos el registro del teléfono. Ahí estaban las ráfagas: el teléfono abriendo un reproductor tras otro, cuadros atorados y, al final, la conexión con el teléfono perdida. Antes de eso, por si acaso, ya habíamos quitado otro gasto: cada Sombra deshecha creaba sus chispas desde cero, y ahora reusamos siempre las mismas. Se ven igual.
La solución fue un limitador de voces, como el que usan los juegos grandes: cada sonido suena a lo más cuatro veces a la vez y con un respiro entre una y otra. Treinta Sombras deshaciéndose en el mismo instante no se oyen distinto que tres. Al volver a jugar con muchas Sombras, ya se sentía mejor.
Las brasas no esperan para siempre
De paso cambiamos una regla. Las brasas que sueltan las Sombras antes se quedaban en el suelo toda la partida. Ahora parpadean a los 10 segundos y se apagan a los 15: lo que dejas atrás se pierde. Eso te pone una decisión enfrente: ¿vas por esas brasas lejanas, a oscuras, o las dejas? Si ya vienen volando hacia ti, son tuyas: no se apagan en el aire. El parpadeo es más lento que tres veces por segundo y, con Reducir destellos, en vez de parpadear se desvanecen poco a poco.
Y dos arreglos chicos que vas a notar: la guía de la primera noche ahora tiene una ✕ para saltar cada aviso, y el aviso de subir de nivel ya no sale dos veces, uno encima del otro.
Puedes ver cómo se juega en la página del juego.
Lo que aprendimos: antes de arreglar hay que medir. Estábamos seguros de que el problema era el dibujo y era el sonido; si hubiéramos adivinado, habríamos gastado días quitándole belleza al juego sin arreglar nada. Y verse mejor no siempre pide herramientas nuevas: casi todo salió de usar mejor las que ya teníamos.