Escribinos
Navegación
← Volver al blog
Dev

I Ching Coin: la app que programamos tres veces hasta que estuvo bien

Tres intentos distintos de la misma idea, hasta que entendimos que no había que elegir entre ellos: había que fusionarlos.

Tres monedas cayendo sobre un altar, formando las líneas de un hexagrama
El ritual de las tres monedas, línea por línea, hasta completar el hexagrama.
Ver el código github.com/nmftstudio/Iching_coin

Del I Ching hicimos tres versiones. No porque las primeras dos estuvieran mal, sino porque cada una resolvía bien una sola parte del problema y dejaba floja el resto. La primera tenía la narración completa de los 64 hexagramas, pero el ritual de tirada era desangelado: un botón, un resultado, listo. La segunda tenía un altar 3D precioso con monedas cayendo de verdad, pero el texto de cada hexagrama era una sola línea genérica. La tercera metía un minijuego de acertijos que estaba bueno, pero vivía separado de todo lo demás.

Así que en vez de elegir una, agarramos lo mejor de las tres y las fusionamos en una sola app. Esta nota es sobre esa fusión.

El ritual: una línea a la vez

El I Ching se consulta lanzando tres monedas seis veces, una tirada por cada línea del hexagrama, de abajo hacia arriba. La versión anterior resolvía las seis tiradas en cadena, automáticamente, apenas tocabas un botón. Funcionaba, pero le sacaba todo el peso ritual al asunto: era más parecido a apretar "generar resultado" que a consultar algo.

En esta versión cada una de las seis líneas necesita una acción explícita: agitás el celular o tocás el altar en la pantalla, y recién ahí cae esa línea. La app queda esperando la próxima acción — "Tocá el altar para tirar la segunda línea" — hasta completar las seis. Es más lento a propósito. Ese tiempo entre tirada y tirada es justamente lo que hace que se sienta como una consulta y no como un resultado instantáneo.

La física responde a cómo agitás

Cuando el sensor de movimiento del celular está activo, la magnitud de la sacudida (el delta de aceleración que reporta el sensor) se traduce directamente en la física de la caída de las monedas. Una sacudida apenas por encima del umbral hace que floten suave y giren lo justo; una sacudida fuerte las hace volar más alto, girar más rápido y caer con más peso — más duración, más bamboleo. El altar mismo vibra un poco, con una fuerza proporcional a la sacudida, como devolución inmediata de que la tirada se registró.

En desktop, o si preferís no agitar nada, el toque táctil sobre el altar cumple la misma función con una intensidad fija de referencia, usando la misma física de caída.

64 hexagramas, no 64 líneas

Acá está la parte que más nos importaba rescatar de la primera versión: cada uno de los 64 hexagramas, en la secuencia tradicional King Wen, trae esencia, narración, dictamen e imagen — no una frase suelta. Para no saturar la pantalla de golpe, ese contenido extendido vive en un bloque expandible ("Ver dictamen e imagen"), así quien quiere una lectura rápida la tiene, y quien quiere profundizar, también.

Cuando la tirada incluye líneas cambiantes (algo bastante común en el método de las monedas), aparece un segundo hexagrama de transformación con la misma narración completa, no un resumen recortado.

El minijuego tenía que sentirse como una pausa dentro del oráculo, no como una pantalla de carga con trivia pegada al costado.

Acertijos del Sabio: de 20 preguntas a 62

La tercera versión tenía un minijuego llamado "Acertijos del Sabio", con un banco chico de preguntas. Lo ampliamos a 62: 37 de trivia y 25 acertijos de lógica y parábolas. La parte más laboriosa no fue escribir las preguntas, sino calibrar las opciones de cada trivia para que la respuesta correcta no se note por ser "la más larga" o estar siempre en la misma posición — así que además de escribir opciones parejas en extensión y tono, las mezclamos en cada partida.

Todo esto — el altar, la narración completa, el minijuego — vive ahora en un solo archivo que corre directo en el navegador, sin build ni servidor: index.html, style.css, data.js, riddles.js y app.js. Abrís el HTML y listo. Como casi todo lo que sale de nuestro Laboratorio, apenas tenga GitHub Pages activo lo vas a encontrar corriendo en vivo ahí adentro.