Apresentamos a fantástica aplicação da programação procedimental nos video games.

8 min de leitura
Imagem de: Apresentamos a fantástica aplicação da programação procedimental nos video games.

Você reconhece a imagem de destaque para este Especial?

A figura acima representa um game muito interessante que muda completamente a trama e os diálogos dos personagens através da análise do comportamento assumido pelo jogador durante certas etapas. Piorou? Pois bem, trata-se de ArmA 2, um FPS (jogo de tiro em perspectiva de primeira pessoa) bastante debatido pelos críticos.

E por que ArmA 2 é tão importante para nós, gamers? Simplesmente pelo fato de que o título é um dos vários jogos que faz bom uso da programação procedimental (ou procedural, se preferir), um artifício utilizado por grande parte dos desenvolvedores da atualidade para que cenários, fases e situações únicas sejam geradas a partir de um conjunto de dados.

Muitos desses desenvolvedores fazem questão de analisar o comportamento do gamer durante uma ou mais empreitadas para que experiências singulares possam ser apresentadas no desenrolar da trama. Vantagens? Várias. Desvantagens? Infelizmente, algumas.

Destrinchando o conceito

A expressão Procedural Content Generation (geração de conteúdos procedurais ou simplesmente PCG) simboliza a criação de conteúdos em tempo real. É empregado um processo ou algoritmo aleatório — ou "pseudoaleatório" — que resulta em um conjunto imprevisível de possibilidades dentro de um game.

Há quem diga, entretanto, que PCG significa apenas a utilização de mapas dinâmicos e texturas geradas de forma procedimental em um jogo, sem afetar a jogabilidade. Qual é a melhor definição? A escolha é sua, contanto que a aleatoriedade e a imprevisibilidade ainda estejam presentes no conceito escolhido.

Procedimentos peculiares

Quando o teor da experiência é sempre inédito


Neste primeiro bloco, é abordada a influência da PCG de modo mais amplo. Por que títulos como ArmA 2 diferem dos demais em pontos relacionados à jogabilidade? Porque são as decisões do gamer em determinados momentos que, digamos, "desenvolvem" o resto do jogo em tempo real. Nesse caso, a quantidade de conteúdos pré-programados não é tão significativa quanto o que ocorre em outros títulos de grande porte.

A parte interessante dessa história é o dinamismo da história. Se você leu a análise feita pelo TecMundo Games, sabe que um dos principais pilares de ArmA 2 é o acompanhamento de eventos e trajetos que nunca podem ser repetidos, visto que são gerados aleatoriamente com base apenas nas ações do jogador.

Exterminando zumbis

Left 4 Dead é outro FPS que leva milhares de jogadores a experiências exaustivas. Há pessoas que acreditam que a PCG presente na matança de zumbis é meramente técnica, mas não há como negar que as alterações no clima de tensão e suspense com base na disposição mutável de criaturas (e até mesmo em mudanças dinâmicas na trilha sonora) influenciam de forma expressiva na jogabilidade.

Em L4D, o chamado "AI Director" — componente responsável pela inteligência artificial do game — escolhe determinados pontos localizados fora do alcance de visão dos sobreviventes para o surgimento dos zumbis. Dessa forma, os combatentes não conseguem antecipar as localizações exatas das criaturas para exterminá-las.

Além disso, o "AI Director" controla a taxa de zumbis que surgem no cenário e analisa a experiência dos jogadores para, por exemplo, fornecer itens bônus (os famosos "power-ups") em locais estratégicos.

Outro aspecto interessante é que fragmentos da trilha sonora de L4D são recolocados e reproduzidos de acordo com a situação atual dos sobreviventes controlados. Os arranjos musicais, portanto, são feitos dinamicamente.

Instanciar entidades "in-game" faz com que carros e zumbis possam ser formados através de milhares de maneiras diferentes sem que o game precise armazenar milhares de texturas e modelos. O dinamismo da programação é crucial para que, por exemplo, grandes números de zumbis-pacientes com rostos diferentes sejam colocados em uma área hospitalar.

Criatividade e resultados incríveis

Uma das pérolas da Electronic Arts faz uso extenso da PCG. Na realidade, a mecânica central do game combina perfeitamente com as palavras de Will Wright: Spore é um "jogo single player em massa". Isso não faz muito sentido, não é mesmo?

Só que, se você teve a oportunidade de conhecer um pouco sobre o título, é fácil compreender essa constatação do inventor de Spore. Todas as entidades do game são geradas por outros jogadores através de editores de criação e são aplicadas dinamicamente nas aventuras do jogador.

Na realidade, os próprios editores empregam técnicas de PCG — como animações procedimentais — para que as criaturas se movimentem de acordo com o design criado pelo usuário. Muitos acreditam que os mundos e a galáxia em geral são criados através da combinação entre geradores aleatórios de níveis em tempo real e geradores dinâmicos de mapas.

E, mais uma vez, a música não escapa das mãos ágeis dos desenvolvedores que usam e abusam da PCG. A trilha sonora é gerada de forma procedimental através de um software escrito pelo célebre Brian Eno.

Um dos anciãos na área

Um dos precursores mais intrigantes no que diz respeito à aleatoriedade de fases é Rogue. O game desenvolvido por Michael Toy, Glenn Wichman e Ken Arnold foi tão influente na área de PCG que acabou sendo a origem de um estilo de jogo conhecido como "roguelike".

Segundo Wichman, "a cada vez que os jogadores brincam com Rogue, uma nova aventura é experimentada". Na verdade, é apenas o gerador de instâncias que entra em ação e dificulta bastante o encontro com uma fase exatamente igual à anterior.

O game, entretanto, conta com alguns aspectos muito interessantes. O balanço entre a necessidade de comer do personagem com a quantidade de comida (aleatoriamente disposta) em um determinado nível leva vários aventureiros à seguinte pergunta: assumir o risco de explorar aquela fase... Ou não?

E, assim que o jogador começa a dominar os princípios básicos do game através da aquisição de equipamentos úteis (ouro serve apenas para a pontuação) e da exploração dos diferentes níveis, o nível de dificuldade dos monstros encontrados é gradativamente elevado. Em outras palavras: a morte está cada vez mais perto.

Graficamente falando...

O lado mais técnico deste artifício


Boa parte dos críticos afirma que a programação procedimental influi apenas em quesitos referentes às alterações gráficas em tempo real. As florestas e outros cenários de games da série The Elder Scrolls são bons exemplos. O mesmo ocorre com as "dungeons" (instâncias) de Diablo 2, um dos melhores exemplos comerciais de uso de PCG.

Em Far Cry 2, o time de desenvolvimento trabalhou com a ferramenta World Machine para a criação de cenários embasados no território africano. Aí, a PCG é utilizada para que os terrenos sejam gerados de forma procedimental de acordo com o que os desenvolvedores querem reproduzir no game. O motor gráfico pode até mesmo prever erosões geológicas para que efeitos climáticos possam ser aplicados em uma área.

No título Soldier of Fortune, da Raven Software, rotinas simples de PCG são usadas para o detalhamento de modelos de soldados inimigos. No título Soldier of Fortune 2: Double Helix Gold, há até mesmo um gerador aleatório de missões (que gera também um código "seed") em um modo single player com base apenas em certas condições especificadas pelo jogador.

Just Cause, da Avalanche Studios, trabalha com PCG para a criação de um grupo amplo e variado de ilhas tropicais com um bom nível de detalhamento. Enquanto isso, a iluminação de Doom 3 é gerada através de programação procedimental porque esse aspecto gráfico não depende de "lightmaps" (estruturas que dados que contêm o brilho de superfícies) pré-computados com um processo de otimização do realismo de sombras e luzes difusas.

Cuidado!

É fácil confundir o assunto com situações pré-programadas


Muitos jogos de peso dependem de escolhas feitas pelos gamers, mas contam com pouca — ou nada — programação procedimental. Experiências encontradas em Silent Hill: Shattered Memories e em diversos títulos do gênero RPG têm como base o desenrolar de enredos de acordo com as decisões do gamer. As perguntas e as respostas exibidas, entretanto, são prontas.

Na renomada série Grand Theft Auto, a liberdade de exploração é grande, mas todas as construções presentes no mapa são apenas reproduzidas (e não criadas) no momento em que o jogador se aproxima delas. É claro que o desempenho dessa reprodução depende apenas do hardware da plataforma utilizada, mas os edifícios serão sempre os mesmos.

Portanto, a grande diferença entre PCG e situações pré-programadas é esta: com a PCG, eventos imprevisíveis são apresentados aos jogadores; nos demais casos, uma determinada combinação de escolhas poderá arcar em momentos exatamente iguais para muitas pessoas. Imprevisibilidade contra previsibilidade.

Vantagens e desvantagens

Afinal de contas, PCG é algo bom ou não?


É curioso, pois, por mais que certas empresas optem pela PCG para o aumento da duração de uma experiência de jogo, há centenas de gamers que criticam o uso de técnicas procedimentais devido à escassez de conteúdos pré-criados.

Alguns títulos gratuitos, disponíveis até mesmo via download, são capazes de embasbacar várias pessoas com a criatividade apresentada pelos desenvolvedores através da PCG. Só que, em diversas grandes produções de jogos, é possível se decepcionar com a falta de qualidade no uso da programação procedimental, resultando em experiências curtas e pouco impactantes.

Uma das maiores vantagens deste "ardil dos programadores" é a compactação do tamanho do jogo em questão. Sintetizar dados técnicos é um dos pilares de .kkrieger, um game que conta com efeitos visuais relativamente simples, mas contidos em apenas 96 KB de dados. Em contrapartida, dezenas de jogos da modernidade excedem mais de 2 GB de tamanho... Apenas em arquivos de vídeo.

Com a limitação de tamanho imposta pela Microsoft no que diz respeito a games para a Xbox Live Arcade (XBLA, a rede online do Xbox 360), a PCG foi bem útil. RoboBlitz, da Naked Sky, fez um bom uso de geradores procedimentais de gráficos para fazer com que o jogo ficasse com menos de 50 MB de tamanho.

Por outro lado, há companhias que fazem uma utilização tão intensa da PCG que apenas plataformas com maior poder de processamento podem executar os jogos desenvolvidos. Não é à toa que ArmA 2, um game extremamente amplo, foi criado exclusivamente para os usuários das plataformas de última geração.

Concluindo, é possível afirmar que a programação procedimental pode ser aplicada em diversos níveis do desenvolvimento de um video game. Tanto em aspectos técnicos quanto em quesitos referentes à jogabilidade, a PCG é um artifício inteligente e, se aplicada com sabedoria, pode trazer benefícios impressionantes para desenvolvedores e gamers.

Cupons de desconto TecMundo:
* Esta seleção de cupons é feita em parceria com a Savings United
Você sabia que o TecMundo está no Facebook, Instagram, Telegram, TikTok, Twitter e no Whatsapp? Siga-nos por lá.