Pular para o conteúdo

Por dentro do espetacular Cosmos artificial de “No Man’s Sky”

Por Roc Morin
Publicado no The Atlantic

Cada partícula do universo é contabilizada. A forma e a posição de cada folha de grama de cada planeta foi calculada. Cada floco de neve e cada gota de chuva foram enumeradas. Na imagem diante de nós montanhas criadas de forma acentuada erodem em colinas suaves, antes de finalmente se transformarem em desertos. Milhões de anos se passam em instantes.

Aqui, em uma sala escura localizada meia hora ao sul de Londres, um grupo de programadores estão curvados sob suas cadeiras criando um vasto Cosmos digital. Para ser mais preciso, estes programadores estão usando a ciência da geração procedural para permitir que um universo se crie do zero.

O ambicioso projeto, chamado de No Man’s Sky, será lançado como um jogo digital no mês de Junho de 2016. Neste jogo, astronautas posicionados de forma aleatória em um universo gigantesco (literalmente isolados por milhões de anos-luz) precisam encontrar o propósito da existência enquanto viajam em uma galáxia de 18.446.744.073.709.551.616 planetas únicos.

“A física de todos os outros jogos é falsa”, explica o arquiteto-chefe de No Man’s Sky, Sean Murray. “Quando você está em um planeta, você está cercado por um skybox – um quadrado onde alguém desenhou estrelas e nuvens e que cerca o planeta que você está. Se existe uma transição de dias para noites, isso só acontece porque existe uma transição muito lenta entre uma série desses skybox“. O skybox também é uma barreira que o jogador nunca pode ultrapassar, pois não existe um mundo além dessa caixa. As estrelas são meros pontos brilhantes. Entretanto, em “No Man’s Sky”, cada estrela é um lugar que você pode ir. O universo é infinito. As bordas desse universo se estendem para fora em um abismo sem vida que você pode navegar para sempre.

“Conosco”, continuou Murray, “quando você está em um planeta, você pode enxergar tão longe quanto a curvatura do planeta permitir. Se você andar por anos, você pode andar por todo o planeta e voltar exatamente ao ponto de onde você tinha partido. Nossa transição dos dias para as noites acontece porque o planeta está girando em torno de seu próprio eixo ao mesmo tempo que gira em torno do sol. Existe física de verdade aplicada nisso. Nós temos pessoas que saíram da estação espacial de um planeta e quando elas voltaram, elas não encontraram a estação espacial no mesmo local e reportaram isso como um bug – mas o planeta rotacionou, por isso elas não encontraram a estação espacial no mesmo lugar”.

No monitor atrás de nós, fragmentos enigmáticos de código-fonte são vistos. Enquanto que os físicos da Terra lutam para encontrar uma estrutura matemática unificada para todos os fenômenos, o equivalente de No Man’s Sky já existe. Atrás de nós estão as leis da natureza de um Cosmos inteiro descritas em quase 600 mil linhas de código-fonte.

O universo inteiro é criado com uma única entrada: um valor numérico arbitrário chamado de seed (que pode ser, por exemplo, o número do celular de um dos programadores). A partir desse valor inicial são criados outros seeds através de uma série de algoritmos – um gerador computacional de valores pseudo-aleatórios. Os seeds vão determinar características de cada elemento do jogo. Claro, computadores são incapazes de gerar aleatoriedade, então os números gerados parecem aleatórios pois os processos que geram eles são muito complexos.

Os físicos ainda debatem se o nosso universo é determinístico ou aleatório: enquanto alguns cientistas acreditam que física quântica provavelmente envolve indeterminismo, Albert Einstein defendeu a visão contrária com a sua célebre frase: “Deus não joga dados”. No Man’s Sky também não joga dados. Assim que o primeiro seed (número) é inserido como entrada do programa, o universo está inalteravelmente definido – cada estrela, planeta e organismo. O passado, presente e futuro estão fixos indelevelmente, com mudanças no sistema sendo possíveis apenas por forças presentes fora do próprio sistema – no caso, o jogador.

De um ponto de vista, por causa do design processual do jogo, o universo inteiro já existe no momento em que ele é criado. Entretanto, de outro ponto de vista, como o jogo renderiza apenas os arredores de onde o jogador está, nada existe a menos que exista um humano lá para testemunhar.

“Existe muitas coisas para se fazer. Você pode quebrar a velocidade da luz – não há nenhum problema nisso. É o nosso universo, então, em certo sentido, nós somos os deuses dele”.

“Não importa se o que está ao redor de você existe ou não”, expôs Murray, “pois até as coisas que você não vê estão cuidando dos seus afazeres. Criaturas de um planeta distante que ninguém nunca visitou estão bebendo água ou dormindo, pois elas estão apenas seguindo uma fórmula que diz aonde elas vão e o que elas fazem, nós apenas não executamos a fórmula enquanto não houver ninguém lá”.

As criaturas são geradas por uma distorção processual de arquétipos e cada uma possui seu próprio perfil de comportamento. O programador de inteligência artificial Charlie Tangora explicou um pouco do processo: “Existe uma lista de objetos que os animais estão cientes: certos animais tem mais afinidade por alguns objetos do que por outros e isso acaba por construir a personalidade e o estilo individual de cada um. Eles tem amigos e melhores amigos também. É apenas um rótulo, mas outra criatura do mesmo tipo que está perto é um amigo em potencial também. Eles perguntam aos seus amigos (telepaticamente) onde eles estão indo, assim eles podem se coordenar”.

Enquanto que os comportamentos básicos são simples, as interações podem ser impressionantemente complexas. O diretor de arte Grant Duncan se lembrou que uma vez vagueava por um planeta alienígena e atirava em passarinhos por tédio. “Eu acertei um e ele caiu no oceano”, contou Duncan, “ficou boiando nas ondas por um tempo e depois um tubarão comeu ele. A primeira vez que isso aconteceu realmente me surpreendeu”.

A equipe também programou parte da física de maneira a priorizar a estética, por exemplo quando Duncan insistiu que as luas deveriam orbitar os planetas em uma distância menor do que a física Newtoniana permitira. Quando ele desejou a presença de céus verdes, a equipe teve que recriar a tabela periódica para criar partículas atmosféricas que iriam difratar a luz no comprimento de onda correto.

“Como é uma simulação”, explicou Murray, “existem muitas coisas que você pode fazer. Você pode quebrar a velocidade da luz – não há nenhum problema nisso. Velocidade é apenas um número. Gravidade e seus efeitos são apenas números. É o nosso universo, então, em certo sentido, nós somos os deuses dele”.

Mesmo deuses, entretanto, tem suas limitações. A interconectividade do jogo significa que cada ação também tem uma reação. Pequenos ajustes no código-fonte podem transformar montanhas em lagos de forma inesperada, mutações de espécies ou mesmo fazer com que objetos percam sua propriedade de colisão, fazendo-os despencar para o centro do planeta. “Algo tão simples como mudar a cor de uma criatura pode fazer o nível da água subir”, explicou Murray.

Nota do tradutor: a conversa do jornalista com os desenvolvedores, após algum momento, se encaminhou para a questão filosófica de se nós estamos vivendo em uma simulação ou não. Por não estar relacionado com o propósito deste artigo, esse trechos não foram traduzidos, mas podem ser conferidos no artigo original em inglês.

Perguntei a Murray, como o criador e deus de No Man’s Sky, o quão benevolente ele era. “Bem, nós não temos sangue no nosso universo, isso é muito bom. Nós não temos cidades cheias de problemas urbanos. Nós temos paisagens muito bonitas na grande maioria das vezes”, respondeu Murray.

No jogo também não há doenças, excrementos e nascimentos. Existe morte, mas sempre com a garantia de reencarnação. “Quando você morre, você se regenera no mesmo local”, explica Murray, “mas você perde muitas coisas. Nós queríamos que as perdas fossem significantes – para você perceber que se você faz uma escolha, ela é significante. A natureza dos jogos é o conflito, essa é uma reflexão interessante para se fazer sobre onde nós chegamos. Com o nosso jogo você dá o controle para uma pessoa, ela pousa em um planeta e vê uma criatura alienígena, se for a primeira vez que ela está jogando ela vai atirar nessa criatura mesmo que tenha acabado de chegar. Entretanto, o que eu realmente gostaria que acontecesse é que em 9 de 10 casos assim as pessoas se sentissem mal por terem feito isso. Você não ganha pontos por matar. Não há moedas de ouro. Você escolheu fazer isso”, completou Murray.

“A primeira coisa que nós pensamos quando estávamos planejando fazer esse jogo foi a emoção”, continuou Murray, “Aquela emoção de pousar em um planeta e saber que ninguém nunca esteve ali antes. Existe uma qualidade humana muito profunda da necessidade de exploração. Quando existe exploração em outros jogos, tudo foi construído por uma pessoa em algum momento. Existe um vocabulário. Certas portas abrem e certas portas não abrem; quando uma porta abre ela tem um pequeno segredo ali dentro – mas é um segredo compartilhado por milhares de outros jogadores que já estiveram ali antes.

Através do uso da geração processual, No Man’s Sky garante que cada planeta será uma surpresa, até mesmo para os programadores. Cada criatura, nave alienígena guiada por inteligência artificial ou paisagem é gerada de forma pseudo-aleatória pelo próprio programa. O universo é essencialmente tão desconhecido para as pessoas que fizeram ele quanto para as pessoas que jogam nele. 

Como uma reflexão final, Murray concluiu: “As pessoas vão parar de jogar mesmo antes de 1% do jogo ser descoberto, é assim que jogos são. Eu seria ingênuo caso pensasse de outra forma. É um pensamento triste, porém. Quando nós navegamos pelo mapa galáctico, nós vemos todas as estrelas, cada uma contendo seus próprios planetas, vida e ecologia – e a imensa maioria de tudo isso nunca será visitado. Em algum ponto os servidores serão desativados. Tudo será desligado e seremos nós que puxaremos o cabo”.

O universo único e impressionante de No Man’s Sky te impressionou de alguma forma? Se sim, por quê?

Fernando Paladini

Fernando Paladini

Estudante de Ciência da Computação na UFSC e entusiasta de ideias disruptivas (Bitcoin e impressoras 3D), além de ser um grande defensor do movimento open-source. Apaixonado por ciência, filosofia e livros. Criador do www.bolsonarocristao.com e destruidor da família tradicional brasileira.