Meio Bit » Baú » Games » Algoritmo para fazer desenhos 8 bits jogando Tetris

Algoritmo para fazer desenhos 8 bits jogando Tetris

Computador faz desenhos 8 bits enquanto joga Tetris.

04/06/2013 às 11:47

sprites
Eu sempre gostei muito das minhas aulas de algoritmos e compiladores na faculdade. Gostava mais ainda das maratonas de programação, nas quais a gente passava madrugadas tentando criar soluções para problemas elaborados pelos mestres, que tinham como passa-tempo encher nossa cabeça de lógica e cabelos brancos. Mas era divertido. Seria mais, se algum dos exercícios envolvesse o uso de elementos gráficos, como os que existem em jogos de videogame.

E foi exatamente isso que fez Michael Birken, no projeto que chamou de Tetris Printer Algorithm. O programador concebeu um método para fazer com que um computador desenhasse arbitrariamente imagens de 8 bits, alocando estrategicamente os blocos de várias cores para delinear exatamente a imagem desejada.

Pelo que eu vi do código fonte e dos detalhes do algorítimo, trata-se de um software complexo, mas compreensível para quem tem alguns anos de estrada na área de desenvolvimento de software, principalmente para quem trabalha com Java.

Explicando de forma mais técnica: O procedimento converte os pixels de uma imagem em “pedaços” dos blocos de Tetris (da versão do Nintendinho), linha por linha, de baixo pra cima. Para gerar um quadrado individual, o algoritmo monta uma estrutura que consiste de uma região retangular plenamente acoplável, fazendo uso de padrões, “traduzindo” os chamados Tetriminos em blocos de caracteres. Com uma função que computa o coeficiente binomial, cada sprite desejado (que deve ter, no máximo, 17x32 pixels) passa então a ser uma sequência de “letras” a serem exibidas. Cada novo bloco é lido em tempo real, e o sistema se encarrega de deixar apenas o pixel necessário ser encaixado, eliminando linhas e linhas para que estes caracteres sejam mantidos.

master_mario

Pode parecer complicado de entender assim, mas o vídeo abaixo fala por si só:


Michael Birken → Tetris Printer Algorithm

"Are you a Tetris Master? The printer decides."

Ou seja: Ao girar, posicionando as peças em uma seqüência predeterminada, o algoritmo explora a mecânica de Tetris para gerar imagens bitmap, como os personagens de games da Nintendo.

Algumas pessoas podem achar bobo ou desnecessário perder tempo em um projeto assim, mas é em maratonas como essa que surgem as melhores idéias, acredite.

Fonte: BoingBoing.

Leia mais sobre: , , , , , .

relacionados


Comentários