Anúncios

Minecraft, O Software

por Danilo Viana

Minecraft é um sucesso completo no reino Indie e um fenômeno de vendas. O jogo criado por Markus Persson hoje é sinônimo de sandbox e prova que uma boa idéia — mesmo uma não original — quando bem implementada pode render não dois, mas centenas de milhares de minutos de fama.

Para os dois de vocês que sequer ouviram falar do jogo, Minecraft é um jogo tipo sandbox onde, utilizando cubos, é possível moldar completamente um mundo infinito, totalmente seu. É dado ao jogador total liberdade para destruir, recriar e reposicionar tais blocos criando praticamente qualquer coisa. Além disso, é possível criar centenas de itens — picaretas, espadas, cercas, portas — tudo a partir de materiais minerados no ambiente do próprio jogo e um curioso sistema de construção (chamado de Crafting) que é fácil de entender e divertidíssimo de experimentar.

O jogo começou a ser desenvolvido em 2009, tendo sua primeira versão “final” em 18 de novembro de 2011. Escrevo “final” entre aspas porque Minecraft é jogado por milhões de pessoas desde sua primeira versão preliminar, tendo faturado milhões antes mesmo de ser oficialmente lançado.

Para entender melhor do que se trata, vale uma espiada no vídeo que apresenta o trailer oficial. Tem apenas um minutinho e é bem bonito.

Verdade seja dita: existem milhões de sites e blogs que escrevem sobre Minecraft, apresentando reviews, dicas, guias, mods e pacotes de texturas. Com o objetivo de agregar algo novo para o leitor do Cosmic Effect, gostaria de trazer a ótica de um desenvolvedor de sistemas nesta abordagem. Se você não tem o mínimo interesse em programação e nenhuma curiosidade para saber como jogos funcionam, talvez essa leitura não seja para você — mesmo assim convido todos a me acompanharem nesta análise um pouquinho mais técnica, pois tenho certeza que encontrarão algo interessante para refletirmos juntos.

Um verdadeiro Sandbox

Esqueça GTA, Assassin’s Creed ou qualquer outro “sandbox” por aí. Em Minecraft você pode REALMENTE fazer o que quiser. A premissa do jogo chega a ser ridícula quando você diz em voz alta: um jogo sem objetivos, sem missões e sem NPCs (eles até existem, mas são meramente decorativos). Os inimigos estão lá apenas para criar um desafio, você não precisa enfrentá-los e se nem quiser vê-los existe um “modo criativo”, sem a presença de oponentes. O único objetivo fixo do é minerar e construir o que você deseja, tudo isso no tal mundo infinito — não é “virtualmente” infinito, como em “é tão grande que poucos acham o final” — é realmente infinito pois se você tomar uma direção e sair andando o jogo vai criando mais terreno eternamente, até literalmente o espaço em seu disco rígido acabar.

Ao refletir um pouco mais profundamente esta premissa, pode-se concluir que Minecraft tem um paralelo no mundo real: Lego. Não estou falando dos Legos atuais, temáticos e praticamente sem necessidade de montar nada; lembre-se do Lego tradicional, um balde de peças encaixáveis onde você constrói o que quiser e tiver tempo (e peças) para fazer. A diferença é que neste jogo virtual as peças são infinitas; você só precisa de tempo.

Como isto é possível? Jogos como Battlefield 3 e Skyrim criaram mundos gigantes, mas eles esbarram na barreira do espaço de armazenamento, memória; como um “joguinho” com download de 200 KB e que depois de instalado ocupa “só” 100MB consegue ter um mundo infinito? A resposta é simples: use blocos.

A primeira vez que vi Minecraft os gráficos chamaram a atenção: exatamente o que imaginava se de uma versão FPS de Final Fantasy (o primeirão, de NES), com seu cenário quadrado e construções apenas com ângulos de 90 graus. Bacana o estilo, como um tapa na cara de todos os fanáticos por gráficos, mostrando mais uma vez que eles não são tudo.

Ao jogá-lo mais um pouco, percebi que não se tratava apenas do estilo gráfico. Claro, cada textura tem apenas 16 pixels de altura e o programador poderia ter feito melhor se assim desejasse — de fato existem mods que permitem trocar as texturas por versões de 32, 64 e até 128 pixels — mas a ideia aqui não era apenas seguir um estilo gráfico. Era o nascimento da receita para mundos infinitos.

Cada vez que se inicia um novo mundo em Minecraft, um algoritmo estabelece um mundo aleatório, mas relativamente coeso. Existem zonas com florestas, outras com lagoas e após uma certa profundidade são encontradas cavernas e até algumas vilas de NPCs. Claro, o algoritmo comete alguns erros: vilas com casas cujas portas dão para a parede, mas como você pode mudar tudo, não é nada que um pouco de boa vontade e trabalho não conserte rapidamente.

Para que esse algoritmo funcione, os blocos são fundamentais. Já que o mundo é apenas um bando de cubos reunidos, tudo que se precisa é de um conhecimento prévio acerca das regras de cada bloco — blocos de grama e areia vão na superfície, blocos de água preenchem buracos nos de grama, blocos de pedra e minério vão no subsolo — e o mundo infinito está pronto para ser criado.

É uma ideia simples que define todo o estilo de Minecraft — aqui não existem fases ou mapas que necessitem de um level designer, tampouco houve necessidade de visitar locais icônicos para capturar texturas realistas. Ao tornar o mundo um conjunto de blocos com uma função simples, todo o trabalho de moldá-lo foi entregue ao jogador e chamado de gameplay. E ele agradece por isso.

Minecraft, o software de computador

Algo que, particularmente havia me surpreendido em Minecraft é o fato de ter sido desenvolvido na linguagem de programação Java. Para os não iniciados, a curiosidade está no fato de que Java nunca realmente emplacou como linguagem de programação para jogos eletrônicos. Os fantásticos títulos para consoles e PCs em sua gigantesca maioria são criados na linguagem C++ e , mais recentemente, a Microsoft conseguiu emplacar o C# (pronuncia-se Cê Sharp) através de seu framework XNA e o Xbox 360.

Java sempre foi uma daquelas linguagens que alguns tentavam provar que servia para jogos, mas ninguém dava a mínima — quando algo um pouco mais audacioso era criado, o programador gritava aos quatro ventos que usou Java e isso acabava servindo mais para desmotivar do que para promover. (Nota para os amigos da área: estou ignorando que os jogos para Android são em Java; para todos os efeitos, refiro-me ao Java que rodam nos computadores pessoais).

Eis que Minecraft surge e ninguém faz alarde algum acerca de como ele foi criado. Você faz o download, executa-o como faria com qualquer outro programa e, na remota possibilidade de você não ter o Java instalado, ele reclama e te direciona à instalação. Até esta reclamação é discreta, como se esse tal de Java fosse uma coisa que você deveria ter, como o DirectX que é embutido no Windows. Em momento algum o jogo informa que é um aplicativo em Java, você nem lembrará disso depois.

Esta sutil postura da rotina de instalação despertou meu interesse de imediato. Sabe quando você oferece uma lanche a amigo e somente depois comenta que é feito de repolho, a coisa que ele mais odeia no mundo? Mesma coisa.

E o que fica diferente por Minecraft ser feito em Java? Fora o fato que ele roda em qualquer plataforma que tenha a máquina virtual Java, absolutamente nada. Trata-se de um jogo muito bem construído e de ótima performance, inclusive com muitos mods que melhoram gráficos, adicionam recursos e até novos inimigos. Pois bem: para todos aqueles que defendiam a inabilidade da linguagem em alcançar o desempenho de jogos desenvolvidos em outras linguagens, Minecraft é um verdadeiro tapa com luva de pelica.

O ciclo de desenvolvimento também é bastante interessante. Nas palavras do próprio autor:

(…) my only true design decision is to keep it fun and accessible. There’s no design document, but there are two lists; one for bugs, and one for features I want to add but think I might forget.”

Em uma tradução livre, significa que ao invés de vastos documentos e incontáveis artes conceituais, o autor dá um passo de cada vez e adiciona apenas aquilo que acha interessante e divertido, ou que conserta eventuais bugs. Se após implementar algo, ele (ou os jogadores nos fóruns) achar algo sem graça, simplesmente vai lá e remove. Esta decisão significa que a equipe de desenvolvimento não tem medo de tentar um novo recurso que possa parecer interessante. Eles tentam; e removem em seguida caso não funcione bem. Não , você não precisa comprar DLC nem pagar assinatura; se você tiver comprado o jogo uma vez, terá eternamente a versão mais nova.

Jogo de criança… NOT

Minecraft é um jogo sobre coleta de recursos e construção utilizando estes recursos. À primeira vista, parece que a “construção” é meramente o reposicionamento dos blocos em uma forma diferente — como seria com Lego — mas o jogo conta com um recurso mais poderoso: a obtenção de novos itens combinando matérias primas.

Quer uma espada? Combine duas barras de ferro com uma vara de madeira; um machado ou uma picareta? Use três barras de ferro, ao invés de duas.

Como faço para diferenciar um machado de uma picareta, dois itens que usam os mesmos materiais e na mesma quantidade? Mantendo a filosofia da construção por blocos, Minecraft conta com um sistema de construção onde você “desenha” o item que quer; para obter uma espada, não basta fornecer duas unidades de ferro e uma de madeira: é preciso posicioná-los na tela de construção, na posição correta para formar uma espada. Imagine comigo: duas barras de ferro, uma abaixo da outra na vertical; logo abaixo, a peça de madeira.

A construção do mundo, a criação de itens montando a matéria prima… tudo isso torna Minecraft uma experiência recomendadíssima para crianças. Nada de violência e o aspecto de construção estimula muito a imaginação, não precisa nem dizer. Mesmo assim, é incrível o número de adolescentes e adultos jogando. Incontáveis vídeos, fóruns, páginas de wiki e blogs — todos com pessoas crescidas mostrando suas criações.

E como elas são fantásticas. Desde casas simples mas bem decoradas até reproduções fiéis de monumentos mundiais, como o Coliseu e a Estátua da Liberdade.

Além disso, o jogo conta com um interessante material chamado Redstone. Ele serve de fonte de energia elétrica no mundo do jogo. Esta fonte de energia pode ser combinada com pisos móveis, alavancas, portas lógicas, trilhos de trem e outros materiais, tornando possível a construção de verdadeiras masmorras, com direito a armadilhas, sistemas de defesas e até golens ativados apenas quando inimigos entram no recinto.

Jogadores criativos utilizam estes recursos para criar sistemas totalmente auto-suficientes, com carros de mineração que levam recursos minerados para casa do jogador e voltam com ferramentas novas (as ferramentas em Minecraft têm duração limitada), otimizando ao máximo a coleta de matéria prima.

Com todos estes elementos, Minecraft tem se tornado o símbolo do jogo para todas as idades. Qualquer um vai encontrar algo que gosta, seja a criança que quer apenas brincar com a montagem de blocos, passando pelo jogador casual que quer investir em seu pequeno “mundo tamagochi” um pouco a cada dia até os hardcores que implementam sistemas autômatos e mundos coesos dignos de MMORPGs.

Com isso, voltamos ao princípio básico de desenvolvimento de Minecraft — sem documentos, apenas desenvolvendo algo em cima da premissa “se for divertido”. É incrível ver como um método simples e até “desorganizado” como este gerou um jogo muito mais completo que produções multi-milionárias como Skyrim, World of Warcraft ou Call of Duty: jogos que seguiram modelos mais tradicionais de desenvolvimentos e que gastaram pelo menos metade de seu ciclo sem digitar uma única linha de código, apenas criando documentos para determinar ainda seria criado.

E finalmente concluímos

Minecraft não é para todos — o jogador que gosta de ser guiado e sente-se perdido na ausência de objetivos claros, provavelmente não vai gostar do título. Viciados em gráficos podem também achá-lo difícil de digerir, já será necessária  uma dose de imaginação talvez rivalizada apenas por jogos da era Atari. Mesmo assim, Minecraft é um dos jogos atuais que melhor representa o ato de jogar videogame. Desprender-se da realidade e interagir com um mundo fictício, tudo em nome da diversão.

Uma idéia como esta, alguns anos atrás, poderia causar risos na sala de reunião ou até a demissão de alguém. Um cético diria que não temos poder computacional suficiente para representar um mundo tão rico e dinâmico. Tudo que bastou foi um programador solitário e criativo se perguntar “e se os gráficos não precisarem ser bons? E se o jogador aceita-los até mesmo… terríveis?”. O que o levou à ideia básica: “e se usarmos blocos? Lego fez isso por anos, por que em um computador não daria certo?”

O sucesso de Minecraft é prova suficiente que, pensar fora da caixa, pode trazer excelentes resultados… 

* * *

Anúncios

Cosmic Fast #14 – A Força Está Com Os Retrogames

Amigos do Cosmic Effect, o 29 de maio de 2011 foi histórico para os baianos. O segundo evento geek da história do estado aconteceu neste dia (o primeiro foi a solitária apresentação do Video Games Live em 2009): O Aliança Salvador, primeiro evento relacionado a Star Wars que aconteceu na capital Salvador, desde o seu lançamento em 1977, realizado pelo Conselho Jedi Bahia. Surpreso com o acontecimento e apenas mais um fã de Star Wars, apareci por lá com o intuito de aproveitar a reunião de fãs da maior saga do cinema e, quem sabe, encontrar outros baianos interessados em retrogaming. E não é que encontramos um novo colaborador para o nosso blog (o Sérgio Oliveira) e até uma garotinha de 3 anos que já fala papai, mamãe e… “Yoda”? :)

Se você leva videogame a sério, é muitíssimo provável que seja um fã do nosso Guerra nas Estrelas. Os filmes de George Lucas foram tão marcantes na vida de tanta gente que, praticamente todo mundo, é fã de Luke, Han Solo, Leia e Vader. Alguns praticam fanatismo por Chewbacca, R2-D2, Boba Fett, Greedo ou até mesmo nutre fascínio pelo co-piloto de Lando; talves até mesmo você seja um adorador dos Ewoks na Batalha de Endor, quem sabe. O fato é: alguma coisa em Star Wars o fascina e não dá pra negar que os quase 100 jogos oficiais lançados até hoje da franquia garantem o status, de longe, de mais bem-sucedida adaptação para videogames do cinema.

Com tantos jogos (que incluem algumas pérolas gamísticas no enorme acervo) e espalhados em tantos gêneros, este Cosmic Fast pretende ser um passeio pela franquia que começou em grande estilo no Atari 2600, atravessou praticamente todas as plataformas de jogos eletrônicos existentes e continua firme e forte, até hoje. Falando em Força… que ela esteja com você, sempre!

Cosmic Fast

Edição #14: A Força Está Com Os Retrogames

Perdoem a qualidade da gravação, mas é que este episódio não foi exatamente previsto, estávamos sem câmera HD no dia. Afinal, evento geek em Salvador ninguém espera! De qualquer maneira, você estará assistindo na melhor qualidade possível – utilizamos a Força das ferramentas de edição de vídeo para melhorar ao máximo o resultado final para vocês :)

Canais somente com vídeos produzidos pelo Cosmic Effect

* * *