Guia oficial · Finding Needle in the Stack
Como funciona o palheiro: um monte 3D escavável no navegador
O palheiro do jogo não é uma imagem nem uma casca oca. É uma forma sólida que muda conforme você cava, e os túneis que você faz ficam onde você os fez. Este artigo explica, sem muito jargão, como isso funciona e o que o jogo precisa fazer toda vez que você puxa um punhado de feno.
Uma grade de densidade em vez de uma pilha de objetos
A forma óbvia de montar um palheiro seria colocar milhões de pedaços de feno separados e movê-los. Isso derrubaria qualquer navegador. Em vez disso, o jogo guarda o palheiro como uma grade tridimensional de números. Cada célula tem um valor de 0 a 255: 0 significa ar vazio e 255 significa feno bem compactado.
A grade tem 88 células de largura, 40 de altura e 88 de profundidade, com uma célula a cada 0,3 metro. São 309.760 células no total, cobrindo um espaço de cerca de 26 por 12 por 26 metros, onde cabe com folga uma cúpula de uns 21 metros de diâmetro e quase 10 de altura. O jogo conta esse volume como 5.000.000 de «pedaços de feno». É o número que você vê diminuir no alto da tela enquanto cava.
Transformando números em superfície
Não dá para olhar números em uma grade, então o jogo os transforma em uma superfície. Ele usa uma técnica chamada Surface Nets, que encontra a fronteira entre «ar» e «feno» e constrói uma pele lisa ao longo dela. Pense em embalar com filme a região onde os números passam da metade.
É por isso que um túnel parece liso e redondo, e não feito de blocos. Também é por isso que cavar ao lado de um túnel antigo funde as duas crateras.
Chunks: refazer só o que mudou
Reconstruir toda a superfície a cada escavação seria lento demais. Por isso a grade é dividida em blocos de 16 células de cada lado, que o jogo chama de chunks. Quando você cava, ele reduz a densidade ao redor da sua ferramenta e refaz apenas os chunks que foram tocados. Todo o resto fica como está.
Esse é o principal truque para um monte reagir na hora até em um celular: o trabalho depende do quanto você cavou, não do tamanho do palheiro.
Os fios de palha por cima
Uma superfície lisa sozinha pareceria um bloco de argila. Para parecer feno, o jogo a cobre com milhares de fios pequenos desenhados como instâncias. Instanciar significa dizer à placa de vídeo «desenhe esta forma de fio muitas vezes nestas posições» em um único pedido, o que é muito mais barato do que milhares de objetos separados. Fios soltos também voam quando você cava, para dar peso a cada puxada.
Quando o feno cai
Se você cava uma caverna e solta um pedaço de feno do resto do palheiro, nada mais o segura. O jogo verifica o tempo todo o feno que perdeu a ligação e o deixa cair, por isso é preciso cuidado ao esvaziar um teto sobre a sua própria cabeça. Dicas para cavar com segurança estão em Como encontrar a agulha.
Salvando um palheiro
Como o palheiro inteiro é só essa grade de números, salvá-lo significa salvar a grade. O jogo a guarda no seu próprio navegador, junto com seu dinheiro, ferramentas e posição, para que cada túnel ainda esteja lá quando você voltar. Mais sobre isso em Salvar, exportar e mover seu progresso.
Feito com
O jogo roda em Three.js, uma conhecida biblioteca de código aberto que permite às páginas web desenhar gráficos 3D com WebGL. Nenhum servidor faz esse trabalho: tudo acontece no seu dispositivo.
Pronto para cavar?
Grátis no navegador, no PC e no celular. Seu progresso é salvo automaticamente.
Jogar grátis