Animando o Console - Efeito Matrix Parte II

Saída da 2ª animação em modo texto. Bem mais interessante.
No último post criamos um pequeno programa que imprimia zeros e uns em posições aleatórias da tela, criando um efeito muito simples, mas nada parecido com o efeito do console do matrix que estamos querendo escrever.

O objetivo deste primeiro programa era se familiarizar com as funções da API do windows e começar a conhecer o ambiente e suas limitações.

O leitor mais atento poderá ter percebido, entretanto, vários problemas com o programa escrito. O primeiro deles é que não estamos realmente gerando os quadros (frames) de uma animação, estamos simplesmente jogando caracteres na tela da maneira mais displiscente e ineficiente se pode imaginar.

Animando o Console - Efeito Matrix

Saída da 1ª animação em modo texto. Bem vindo à Matrix! :)
Depois de ver o vídeo Armaggedon na postagem anterior, fiquei nostálgico e resolvi brincar um pouco com o console na tentativa de gerar algo graficamente interessante.

E por que alguém faria isto em pleno ano de 2014 com tantas opções e tantas tecnologias capazes de renderizar imagens super realistas em hardwares comuns e baratos? - eu até posso ouvir você perguntando.

Pelo prazer e pelo desafio, ora bolas! Sinceramente, precisa de mais que isto?

Então vamos começar nos familiarizando com o console dentro do Windows. Segundo a documentação da Microsoft

Consoles gerenciam inputs e outpus (I/O) para aplicações em modo caractere (aplicações que não providenciam sua própria interface gráfica).

Armaggedon – Animação em Modo Texto

Yuriy Kotsarenko, conhecido como LifePower, o autor da biblioteca Asphyre Sphinx, em parceiria com Humberto Andrade (aka Hab Soul) e Leon Moorrees (aka LPChip) escreveu um programa que gera animações em tempo real com efeitos 3D e trilha sonora para uma competição na área da computação gráfica.

Nada especial se não fosse por dois detalhes:

  1. tudo isso foi escrito em delphi e 
  2. tudo é gerado na janela de uma aplicação console! 
 Isso mesmo, uma aplicação console! É de cair o queixo a habilidade desses caras.

Confira o resultado no vídeo:



Ainda na dúvida?

Baixe o programa, descompacte-o e execute você mesmo. Em sistemas anteriores ao Windows 7 ainda é possível ver tudo em tela cheia pressionando At + Enter!

GLScene Super Guia
Um livro grauito e em português sobre o GLScene

Mini Mundo, um dos demos
que acompanham o livro
Jerson Seling, um cientista da computação gaúcho, publicou há uma tempo atrás, em seu site, os links para download de um livro de sua autoria sobre GLScene chamado: GLScene Super Guia.

O livro está organizado como uma série, bem ordenada, de artigos cobrindo desde a configuração de uma cena básica até tópicos avançados como integração com frameworks de física (Newton e ODE), passando por temas úteis como elementos gráficos 2D em cenas 3D, raycasting, setup de materais, criação de objetos em runtime e carregamento de cenários modelados em outros programas.

Para quem está interessado em começar a utilizar este excelente framework, fica aí a dica do livro de nosso camarada gaúcho.

O GLScene está em pleno desenvolvimento e é compatível com todas as versões 5, 6, 7, 2005, 2006, 2007, 2009, 2010, XE e até a recém lançada XE2!

Links

A Magnetic Adventure
Um game de física escrito no Lazarus



O jogo A Magnetic Adventure não é exatamente novo (seu release aconteceu em outubro de 2010), mas hoje, num fórum de OpenGL, eu tive a grata surpresa de descobrir que ele foi escrito inteiramente em pascal.

Para ser mais exato, ele foi feito usando o Lazarus para a programação, GLScene para os gráficos e os bindings do Box2D para calcular a física. E a física é o ponto alto do jogo.

O jogador controla um ímã para interagir com as partes metálicas de curiosos mecanismos que guardam "totens" que o personagem precisa alcançar para concluir cada um dos 50 níveis disponíveis.