Guía oficial · Finding Needle in the Stack
Cómo funciona el pajar: un montón 3D que se puede cavar en el navegador
El pajar del juego no es una imagen ni una cáscara hueca. Es una forma sólida que cambia a medida que cavas, y los túneles que haces se quedan donde los hiciste. Este artículo explica, sin demasiada jerga, cómo funciona y qué tiene que hacer el juego cada vez que sacas un puñado de paja.
Una malla de densidad en lugar de un montón de objetos
La forma obvia de construir un pajar sería colocar millones de briznas sueltas y moverlas. Eso pondría de rodillas a cualquier navegador. En su lugar, el juego guarda el pajar como una malla tridimensional de números. Cada celda tiene un valor de 0 a 255: 0 significa aire vacío y 255 paja muy compacta.
La malla mide 88 celdas de ancho, 40 de alto y 88 de fondo, con una celda cada 0,3 metros. Son 309.760 celdas en total, que cubren un espacio de unos 26 por 12 por 26 metros, donde cabe con holgura una cúpula de unos 21 metros de diámetro y casi 10 de altura. El juego cuenta ese volumen como 5.000.000 de «trozos de paja». Es el número que ves bajar en la parte superior de la pantalla mientras cavas.
De números a superficie
Los números en una malla no se pueden mirar, así que el juego los convierte en una superficie. Usa una técnica llamada Surface Nets, que encuentra el límite entre «aire» y «paja» y construye una piel suave a lo largo de él. Piensa en envolver con film la zona donde los números cruzan el punto medio.
Por eso un túnel se ve liso y redondo y no hecho de bloques. También por eso, al cavar junto a un túnel antiguo, los dos cráteres se funden.
Chunks: rehacer solo lo que cambió
Reconstruir toda la superficie en cada excavación sería demasiado lento. Por eso la malla se divide en bloques de 16 celdas por lado, que el juego llama chunks. Al cavar, baja la densidad alrededor de tu herramienta y rehace solo los chunks que has tocado. Todo lo demás se deja como está.
Es el truco principal para que un montón reaccione al instante incluso en un móvil: el trabajo depende de cuánto has cavado, no del tamaño del pajar.
Las briznas de encima
Una superficie lisa a secas parecería un trozo de arcilla. Para que se lea como paja, el juego la cubre con miles de briznas pequeñas dibujadas como instancias. Instanciar significa decirle a la tarjeta gráfica «dibuja esta forma de brizna muchas veces en estas posiciones» en una sola petición, algo mucho más barato que miles de objetos independientes. Además salen volando briznas sueltas al cavar, para dar peso a cada tirón.
Cuando cae la paja
Si cavas una cueva y cortas un trozo de paja del resto del pajar, ya no hay nada que lo sostenga. El juego comprueba continuamente la paja que ha perdido su conexión y la deja caer, por eso conviene tener cuidado al vaciar un techo sobre tu propia cabeza. Los consejos para cavar con seguridad están en Cómo encontrar la aguja.
Guardar un pajar
Como todo el pajar es esa malla de números, guardarlo significa guardar la malla. El juego la almacena en tu propio navegador, junto con tu dinero, herramientas y posición, de modo que cada túnel sigue ahí cuando vuelves. Más sobre esto en Guardar, exportar y mover tu partida.
Construido con
El juego funciona con Three.js, una conocida biblioteca de código abierto que permite a las páginas web dibujar gráficos 3D con WebGL. Ningún servidor hace este trabajo: todo ocurre en tu dispositivo.
¿Listo para cavar?
Gratis en tu navegador, en PC y móvil. Tu progreso se guarda automáticamente.
Jugar gratis