Existe um nome para esta técnica para colocar as peças no canto de um nível?

9

Uma abordagem muito comum no desenvolvimento de jogos antigos é colocar o conjunto de peças no canto de um nível, para usá-lo como referência. Por exemplo:

nível de exemplo

Nesse nível, os desenvolvedores colocam um conjunto de peças no canto superior esquerdo.

Mas existe um nome para esta técnica? Estou escrevendo um manual sobre isso e gostaria de nomeá-lo.

Macabeus
fonte

Respostas:

8

Não sei se existe um nome, mas isso parece ser algo que você faria para economizar memória.

Primeiro, um bloco básico tem uma resolução muito baixa - apenas alguns pixels de largura. Porém, quando renderizados, são ampliados em 2x, 3x, 4x, etc. e são muito mais "blocos" na tela.

Em seguida, os jogos mais antigos terão um bloco de memória dedicado à exibição na tela - o que há nessa memória é o que é mostrado na tela. Lembre-se de que a memória é MUITO apertada em plataformas mais antigas, portanto, como desenvolvedor, você deseja economizar tudo o que puder.

Portanto, em vez de colocar seus blocos em um espaço de memória separado, basta torná-los parte da memória da tela, economizando um pouco. E o artefato disso, é claro, é que eles aparecem na tela.

Da perspectiva do acesso à memória, o código não se importa se a memória que está sendo acessada está sendo usada para memória de tela ou armazenamento variável. Basicamente, o gerenciamento de memória em jogos mais antigos era muito simples e havia apenas um bloco de memória disponível. Não havia GPU; portanto, não havia idéia de processadores e memória separados para programação versus exibição na tela.

Para dar uma idéia de como a memória pode estar programando jogos anteriores, aqui está uma citação de um artigo de 1983 sobre a programação dos computadores Atari e VIC: "A tela de alta resolução da Atari (e os modos GTIA de 16 cores) usa quase 8K de RAM." Isso parece muito pouco, mas lembre-se de que o computador talvez tenha apenas 48K de memória, muitos dos quais foram ocupados por outras coisas além do jogo.

Tim Holt
fonte
Obrigado pela resposta! Eu sei que essa técnica era comum para o desenvolvimento em consoles antigos. Você sabe se ele é usado atualmente no desenvolvimento de jogos, já que temos muita memória agora?
Macabeus
3
Os jogos modernos do @ Macabeus fazem coisas semelhantes com a memória de vídeo. Sim, há muito mais memória e os jogos também são maiores ... no PC. Existem jogos modernos para plataformas móveis / portáteis. Além disso, aloque toda a memória necessária para garantir que elas não causem uma degradação do desempenho no meio do jogo. O atlas de textura ainda é uma boa ideia, pois a troca de texturas tem um custo. Muitos jogos armazenam modelos fora de vista e os movem quando necessário. De fato, alguns sistemas de partículas funcionam dessa maneira.
Theraot
isso não faz sentido. Se os dados do bloco fossem armazenados antes / ao lado dos dados do mapa, eles não apareceriam como o conjunto de blocos literal. Seria um monte de ladrilhos aparentemente aleatórios de acordo com as cores dos pixels dentro desses ladrilhos. Por exemplo, você pode ver os dados VRAM enquanto explora a memória em alguns jogos mario (super mario land 2 e super mario bros 3), e parece um monte de peças aleatórias. Além disso, qualquer programador sensato da época otimizaria melhor os mapas, não haveria grandes áreas vazias.
Bálint
Os computadores que você mencionou e a maioria dos consoles se importavam com o local onde você definia os gráficos, pois eles não tinham pipelines gráficos programáveis. Os computadores nem sequer tem um sistema gráfico adequada, aqueles tinham de ser definidos como caracteres (em casos raros, a criação pixels era possível, mas muito lento)
Bálint
I teve um Atari 800 em 1984, mas tem sido um tempo desde que eu programei um ...
Tim Holt
8

É uma paleta. A mesma coisa que você vê alguns artistas fazendo com cores. Eles desenham um grupo de algumas das cores principais ou até um gradiente entre elas para facilitar o acesso. É muito mais fácil usar uma ferramenta seletora para selecionar a próxima cor do que entrar na roda seletora de cores, mexer com ela por alguns minutos e rezar para que corresponda ao restante da imagem.

O mesmo ocorre com os ladrilhos, pois a maioria dos editores de ladrilhos são programas de pixelart muito avançados, mas com ladrilhos em vez de cores.

Bálint
fonte
Eu poderia dizer que as duas respostas, a sua e a de Tim Holt, estão corretas, certo? É útil como paleta e economiza memória, pois a paleta é armazenada no mapa de mosaicos.
Macabeus