Ads 468x60px

Labels

Labels

14 de out. de 2010

Gamers geeks constróem computadores funcionais a partir de blocos virtuais


Ben Craddock esteve bastante ocupado, procurando Redstone. Ele coleta os blocos do material virtual dentro do mundo do jogo Minecraft, depois transforma-os em um pó e começa a trabalhar.
Para a maioria dos jogadores de Minecraft, o pó de Redstone poderia acabar em uma tocha virtual para iluminar o seu caminho em cavernas escuras, mas Craddock, 21 anos, que se identifica online como "theinternetftw", tem outra coisa em mente: ele está tentando construir um único bit de memória, pequeno o bastante para se encaixar em uma Unidade Lógica e Aritmética -- ou ULA -- de 16 bits, um componente chave para um computador funcional que ele já construiu com os blocos de pedra virtuais do jogo.
"Já existem muitos programas projetados para ensinar a construir chips", diz Craddock, um estudante universitário em ciência da computação na Universidade da Georgia, nos EUA, cujo vídeo de simulação de computação no Minecraft rivalizou com Britney Spears em popularidade no YouTube na semana passada.



Craddock faz parte do cada vez maior grupo de jogadores que estão criando máquinas de computação dentro de mundos virtuais. Este ano mesmo, um jogador construiu um computador funcional dentro do jogo de fantasia e estratégia Dwarf Fortress. A máquina, batizada de Dwarven Computer, é programável e tem 256 bits de memória. Dois anos atrás, um francês programou e construiu uma calculadora mecânica virtual dentro do jogo LittleBigPlanet, para PlayStation 3. A calculadora tinha 1.600 peças, incluindo 610 interruptores magnéticos, 500 fios e 430 pistões -- todos componentes de dentro do jogo.
"É meio como tentar subir uma escadaria com um skate", diz Noam Nisan, professor de ciência da computação na Universidade Hebraica de Israel e autor do livro The Elements of Computer Systems, um livro que Craddock diz ter inspirado o seu projeto. "Um skate não é feito para [subir uma escadaria], mas você pode usá-lo dessa forma para demonstrar a sua habilidade com ele, o domínio da plataforma".
À medida que os computadores ficam mais complexos, alguns geeks estão se sentindo mais desconectados dos seus aparelhos. As interfaces gráficas, as partes eletrônicas cada vez menores e os módulos de hardware cada vez mais fechados significam que mesmo os usuários mais técnicos sabem menos sobre como os bits e bites viajam por dentro dos seus gadgets. O próprio hardware está cada vez mais resistente à inspeção dos geeks curiosos que gostam de abrir as coisas: por exemplo, os smartphones e tablets estão lentamente suplantando os PCs tradicionais, mas muitos são lacrados e não podem ser abertos facilmente.
"Não são os usuários que estão optando por ter gadgets mais lacrados", diz Craddock. "É o modo como a cultura corporativa está evoluindo. Mas muitas pessoas continuam querendo saber como ir daqui até ali".
Isso também significa que os jogadores estão recorrendo àquilo que eles conhecem bem -- os videogames -- para aprender computação de maneira divertida. Afinal, eles já estão gastando muitas e muitas horas nestes jogos de qualquer forma.
Craddock começou a jogar Minecraft em agosto, quando o jogo estava explodindo em popularidade nas Wikis e redes sociais como o Reddit. Minecraft é um jogo incomum, que foi criado em Java, pode ser jogado a partir do navegador e tem gráficos em um estilo pixelado e quadradão que parecem de mais de uma década atrás. Mesmo assim, o jogo se provou altamente viciante, em parte por ser tão aberto: ele deixa os jogadores se aventurarem e explorarem um mundo aberto, permitindo aos que têm inclinações criativas usarem blocos simples para criar cidades, mundos, esculturas, ou qualquer coisa que queiram.
Não demorou para que ele ficasse vidrado no jogo. Mas para entender como ele transformou o jogo em um sistema de computação mecânica virtual, é preciso entender um pouco mais sobre o Minecraft.
Ao avançar para níveis mais profundos do mundo de jogo, Craddock encontrou um material interessante, chamado Redstone. No mundo de Minecraft, Redstone é um bloco com propriedades especiais. Quando ele é destruído, desintegra-se em um pó de Redstone que pode ser usado para criar fiações. Um fio de Redstone em Minecraft tem dois estados possíveis: 1 e 0, onde 1 é ligado e 0 é desligado. (Veja esta explicação sobre circuitos de Redstone.)
A próxima peça que você precisa entender é a Tocha de Redstone. É um elemento que atua como uma fonte de energia.
Agora considere como uma porta lógica de entrada/saída seria criada no jogo. O jogador pega um dispositivo de entrada presente no jogo, como uma alavanca, um botão ou uma plataforma de pressão, e o coloca em um dos blocos virtuais do jogo. A combinação resultante pode ser usada para controlar várias saídas diferentes, como abrir uma porta ou detonar uma armadilha.
Para dar um passo adiante e transformar isso em uma porta NOT -- no qual quando a energia de entrada está ligada, a de saída está desligada, e vice-versa --, o jogador adiciona Redstone ao sistema. A combinação neste caso parece com um mecanismo de entrada conectado a um bloco genérico com uma Tocha de Redstone na outra ponta. Este módulo faz a saída funcionar com uma porta NOT.
(Veja este FAQ sobre a construção de portas lógicas em Minecraft para uma explicação mais detalhada.)
Quando se tem portas NOT e outras portas lógicas, torna-se possível montar dispositivos de computação muito mais complicados. Afinal, o coração de um computador real é essencialmente um monte dessas portas eletrônicas simples que funcionam de modo bem parecido com as portas de blocos e Redstone dentro do Minecraft.
Como muitos jogadores, Craddock aprendeu isso sozinho, mas enquanto jogava horas de Minecraft ele começou a recorrer a Wikis dedicadas à estratégias e diferentes utilizações da Redstone.
"Havia programas sobre como encontrar níveis dentro do Minecraft que simulariam Redstone, e eu usei isso para construir até chegar à capacidade de adicionar números de dois bits e criar adições mais longas".
Craddock usou um programa chamado Baezon's Redstone Simulator para projetar a sua ULA. Quando ficou pronta, ela media 160 blocos de comprimento, 110 de largura e 10 de altura.
Jonathan Ng, 20 anos, estudante de bioquímica da University College London, foi além. Ele criou um computador completamente programável dentro do jogo Dwarf Fortress. O planejamento demorou cerca de uma semana, e depois um mês para criá-lo dentro do jogo.
"Eu queria aprender como os computadores funcionam, mas não queria montar um computador físico", diz Jonathan. "Então eu pensei, 'eu gosto de jogar Dwarf Fortress, e ninguém fez isso ainda, então por que não criar um dentro do jogo?'"
Jonathan, que não estudou ciências da computação na escola, descobriu quais componentes são necessários para construir um computador e então se virou para replicá-los dentro do jogo. "Dá muito trabalho", diz ele. "É um projeto louco, insano".
Mas o esforço vale a pena, segundo ele.
"Os computadores de antes eram uma caixa preta para mim, mas agora eu os vejo como calculadoras automáticas super rápidas".
Aprendendo com os videogames
Para muitas pessoas, especialmente pais, videogames são distrações inúteis, improdutivas. Horas que poderiam ser gastas lendo, praticamento alguma habilidade útil, são desperdiçadas em quartos escuros, na frente de telas e apertando botões frenéticamente.
Mas alguns professores acreditam que os jogos digitais podem oferecer um ambiente de aprendizado rico. E computadores dentro de jogos, como o Dwarven Computer ou a calculadora do LittleBigPlanet, são alguns dos melhores exemplos disso.
"De muitas formas, isso é uma extensão daquela prática de fuçar em objetos na garagem ou escrever programinhas e distribuí-los entre os amigos", diz Kurt Squire, um professor assistente na Universidade de Wisconsin-Madison. "Plataformas como estes jogos fornecem um contexto para a inspiração da criatividade, ferramentas com as quais trabalhar e uma audiência para a sua obra".
A construção de computadores virtuais tão elaborados assinala a presença de habilidades que futuros programadores e cientistas da computação podem precisar.
"Saber como começar com um objeto simples e usar apenas a sua imaginação para chegar a uma solução complexa é a essência da construção de coisas novas", diz Nisan.
Criar uma ULA de 16 bits em Minecraft o ajudou a entender computadores melhor do que nunca, diz Craddock.
"Quando você pensa sobre computadores e vê as longas linhas de zeros e uns que a máquina precisa processar para te dar uma resposta, é fascinante poder observar a causa e efeito que faz cada zero e um aparecer", diz ele. "Há essa coisa bem básica, bem física, acontecendo, o que me faz querer encontrar um modo de reproduzir isso."
Craddock não terminou os seus esforços. O próximo item na sua agenda é descobrir como fazer o menor tamanho de bit de memória possível dentro do jogo. Em Minecraft, Redstones só funcionam dentro de uma área de 300 x 300 quadrados. Por enquanto, um bit de memória tem 15 blocos de comprimento.
"Eu preciso fazer todos os componentes caberem nesta área", diz ele.
Craddock, Jonathan e outros criadores de computadores virtuais também estão mudando a forma como game designers estão criando e enxergando os jogos de videogame. A calculadora de LittleBigPlanet surpreendeu e agradou os desenvolvedores, a ponto deles decidirem incluir elementos na sequência do jogo para tornar o processo de criação de eletrônicos mais fácil e social.
"A calculadora foi certamente uma surpresa para nós. Foi muito inesperado e inventivo", diz David Smith, um dos designers do LittleBigPlanet. "Ela mostrou que a comunidade não necessariamente se importava com o que o jogo deveria ser, e encontrava maneiras de combinar o que tinham para criar o que quisessem".
Já que Smith e a sua equipe não criou o jogo com a noção de que eletrônicos pudessem ser criados, a calculadora tinha algumas limitações. "Se você quisesse melhorar uma fase existente com ela, não podia. Ou se quisesse contar voltas com ela, ou aumentar a sua pontuação, não podia", diz Smith.
Por isso, quando LittleBigPlanet 2 estava em processo de criação, Smith disse que queria ter certeza de que o jogo daria suporte a este ímpeto de inventor maluco -- ao mesmo tempo em que desse a capacidade de compartilhar as suas criações com os outros. Smith e a sua equipe incluíram bonecos animatrônicos chamados Sackbots, uma versão melhorada e automatizada dos personagens controláveis do primeiro jogo, os Sackboys. Na sequência, os Sackbots têm placas de circuitos e componentes eletrônicos que podem ditar o seu comportamento e dar ao jogador maior controle sobre os objetos.
Com isso, o jogador consegue criar inteligência artificial ao alterar os circuitos do Sackbot com fios, interruptores e diversas portas lógicas possíveis no jogo.
Smith diz que mal pode esperar para ver o que a comunidade conseguirá fazer com as novas ferramentas.
"Há um aspecto lúdico nisso, como brincar na areia, diz ele. "Os jogos conseguem ser bem poderosos nesse sentido. Será interessante ver como máquinas complexas poderão ser construídas dentro dos jogos".
Mas nem todos estão tão convencidos quanto ao potencial dos videogames para o aprendizado de computação.
Por mais impressionante que seja o feito de construir computadores dentro de jogos de videogame, há maneiras mais fáceis de entender como portas lógicas e unidades de computação são construídas, diz Nisan.
"Isso torna a coisa dez vezes mais difícil do que precisaria ser", segundo ele.
Para Craddock, porém, os esforços valeram a pena. Imediatamente após publicar um relato da sua criação, ele recebeu uma proposta de emprego de um estúdio de desenvolvimento de games em Atlanta. Melhor ainda, o vídeo fez com que os seus pais, que vinham reclamando da quantidade de horas que ele vinha gastando com videogames, largassem do seu pé.
"Meus pais estão maravilhados", diz ele. "Meu vídeo no YouTube (mostrando a ULA de 16 bits) ultrapassou a Britney Spears em número de visualizações, mas aí o Justin Bieber me passou. Eu não sei o que achar disso".

0 comentários:

Postar um comentário

CÓDIGO DO LINKWITHIN