Por que blocos de 16 × 16 pixels são tão comuns?


9

Existe algum bom motivo para blocos (por exemplo, Minecraft ) serem 16 × 16?

Tenho a sensação de que tem algo a ver com binário porque 16 é 10000em binário, mas isso pode ser uma coincidência.

Eu quero saber é porque eu quero fazer um jogo com a geração de terrenos, e quero saber o tamanho das minhas peças, ou se isso realmente não importa.


11
Não tenho muita certeza de como isso passou de "blocos de minecraft" para "blocos de pixel", mas parece que você tem uma resposta. Além disso, duplicado em potencial para a pergunta em partes : gamedev.stackexchange.com/questions/46955/… e para a nova pergunta: gamedev.stackexchange.com/questions/26187/…
MichaelHouse

Respostas:


9

Mosaicos e ícones (mesmo em interfaces de usuário como sistemas de janelas) geralmente têm um tamanho como 16x16 ou 24x24 para facilitar a modificação dos mosaicos. Na maioria das vezes, o tamanho do bloco é múltiplo de 8 devido aos seguintes motivos.

  • É relativamente fácil reduzir um bloco com o tamanho de 32x32 a 16x16 simplesmente juntando 4 pixels (por exemplo, crie a mediana / média dos 4 pixels). Se você tiver um tamanho de ladrilho, como 17x17você tem dificuldades para diminuir o tamanho.

  • A maioria das resoluções de tela também tem um múltiplo de 8, por exemplo, 1920x1200 (a resolução típica de HD para monitores) leva a um campo de jogo com blocos de 120x75 (ao usar um tamanho de bloco de 16x16).

  • Os cálculos com 2 blocos (por exemplo, sobrepor um terreno com um caractere) são mais fáceis nas linguagens de programação se o tamanho do bloco for múltiplo de 8. Muitas vezes existem algumas otimizações para esses tamanhos de bloco.

  • Razões históricas: a maioria dos mecanismos de sprite anteriores (em computadores domésticos e consoles de jogos) tinha limitações para forçar os blocos a serem 8x8 ou 16x16. (adicionado após comentário do Code Clown)

TL; DR É mais fácil lidar com tamanhos de ladrilhos com multipes de 8.

Portanto, existem vários motivos para usar tamanhos de bloco como 16x16, 24x24 ou 32x32.


Ser uma potência de dois é uma coisa. Mas também limitações técnicas em plataformas mais antigas e mecanismos de sprite favoreceram esses tamanhos de ladrilho.
Aggsol # 6/15

11
De fato, por exemplo, o console do NES usava blocos de 8x8. Portanto, as dimensões dos sprites de objeto e sprites de personagem geralmente são múltiplos de 8 (por exemplo, o sprite para Mario no SMB1 é um sprite de 16x32, composto por oito blocos de 8x8).
Jelle van Campen

4
Uma vantagem adicional dos tamanhos de potência de 2 (8, 16, 32) em jogos baseados em blocos 2D é que a conversão entre coordenadas de pixel e coordenadas de blocos pode ser feita com um único deslocamento bit a bit (shift à direita para colocar o bloco sob um determinado pixel, desloque para a esquerda para obter a posição do pixel de um bloco). Nos jogos 3D, o tamanho de dois tamanhos permite o mapeamento de mip, o que melhora a aparência de superfícies distantes / inclinadas e melhora o desempenho do cache de textura da GPU.
DMGregory
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.