Segredos da Filmation II


 

 

A criação de jogos em computador é uma atividade extremamente excitante. Ela nos obriga a uma série de pesquisas e discussões técnicas que, se não são encaradas com maior seriedade pelos "puristas da programação" pelo menos nos colocam frente a um mundo onde a criatividade é essencial e o inesperado uma constante.

Apesar disto, ou talvez em função disto, bons textos técnicos ainda são escassos, principalmente na língua nativa.

Por trás de uma colocação como esta está a apresentação de um estágio de desenvolvimento, das técnicas atuais de construção de jogos e animação gráfica, que pode ser considerado como uma tecnologia avançada em questões de criatividade. Nada do que será visto neste artigo, porém, constitui-se em uma grande descoberta. O mérito maior está na originalidade que, baseada num casamento de técnicas e conceitos eficazes, produz um resultado pelo menos exuberante.

Qualquer usuário "mais velho" concordará que, apesar dos fabricantes de hardware, os criadores de software estão aí para provar que tudo é possível. Talvez, quem sabe, até mesmo colocar 8 bytes em um bit.

 

O Que É Filmation II?

Projetar um jogo para o computador sempre envolve uma questão de compromisso entre disponibilidade de memória e diversidade de elementos. De fato, qualquer que seja o tipo de jogo, dos arcades aos adventures, o programador deve estabelecer um limite a partir do qual o seu projeto passa de possivelmente realizável à loucura total.

A busca por uma melhor performance da relação espaço/desempenho tem levado muitos pesquisadores às raias da paranóia total. Sendo um pouco mais realista, eu diria que há muito equívoco passando atestado de descoberta fantástica, mas é inegável que, nos últimos tempos, uma técnica sobressaiu-se a todas as demais, Trata-se da FILMATION II.

Ela surgiu em meados de 1985, na Inglaterra, por intermédio do jogo Knightlore da Ultimate e foi imediatamente descrita como um processo que garante uma ação instantânea em três dimensões, usando-se gráficos de alta complexibilidade, A indústria do marketing entrou logo em ação e brindou-nos com a seguinte descrição: ADVANCED HOME COMPUTER ACTION ADVENTURE SIMULATION.

Exageros à parte, a técnica mencionada é realmente um novo conceito em criação visual para games. Lindos, maravilhosos e simplesmente fantásticos, os efeitos criados em FILMATION Il são para inglês nenhum botar defeito. Isso tanto é verdade que a FILMATION introduziu uma nova classificação para os jogos: o arcade adventure.

Na verdade, esta técnica permite a existência, em computadores de pouca memória e sem drives, de jogos que são um mito de adventures com o que há de melhor em animação gráfica. Apesar disso ela não opera milagres, mas os jogos comer ciais que têm surgido desde então já estão sendo apontados como as melhores produções de todos os tempos (bem ao estilo Hollywood).

Jogos como Knightlore, Gunfright, Movie, Sweevo's World, Nightshade, Rasputin, Alien 8, Pentagram, Batman, Heavy on the Megick, Greyfell, Nuclear Countdown, The Great Scape e o incrível Failight nos dão prova mais que suficiente que o assunto em questão merece, por baixo, uma atenção toda especial. E é justamente isso que faremos aqui.

 

A Concepção Da Filmation II

A criação em FILMATION pressupõe um mundo real a ser projetado, onde existirão objetos e seres que devem ser descritos como fisicamente possíveis. Explico melhor: supondo, por exemplo, a existência de uma "caverna labiríntica" (na falta de um termo melhor fica este mesmo), onde existem morcegos, pedras, um riacho, tochas, mesas, bolas, baús, sarcófagos, ratos etc. (não me perguntem o que uma mesa faz numa caverna). Todos esses elementos podem ser representados por um desenho real tridimensional. Mas isso não é tudo, pois devemos considerar também como elementos as paredes da caverna, o mato na entrada dela etc...

A criação deste mundo imaginário deve ser de tal forma que os desenhos em alta resolução dos elementos não roubem O espaço das outras funções do jogo. Isto significa que se uma tela em HI-RES, considerada como uma espécie de cenário, normalmente ocupa 6 Kb de memória, então em 48 Kb é possívei colocar apenas e, tão somente, oito telas. Assim nosso jogo só teria oito lugares para se ir e não haveria espaço nem para a função de mover-se de um lado para outro ou nenhuma outra função. Não haveria nem mesmo lugar para o nosso nome na apresentação do jogo, simplesmente porque não haveria espaço para a apresentação.

As técnicas de compactação de imagens, que floresceram antes da FILMATION, permitiam na melhor das hipóteses levar o total de posições de um jogo a um máximo de 30 ou 40 locais, Em FILMATION II fala-se em quantidades por volta de 1000 a 2000 lugares, ou cenários, possíveis de serem construídos. Delírio de grandeza? Não, e a resposta é muito simples: modularidade.

A natureza é pródiga em construções simples e eficientes onde a organização dos elementos, que compõem uma forma é um arranjo inteligentemente estruturado. O raciocínio humano muito cedo foi acordado para o fato de que uns poucos elementos, bem escolhidos, podem proporcionar uma variedade quase infinita de formas. O próprio computador nos fornece um exemplo definitivo em que um conjunto de oito elementos, com uma variação para duas formas 1 e O, pode fornecer 256

combinações absolutamente distintas. 16 elementos nestas mesmas condições fornecem 65536 formas distintas. Calculem, a título de curiosidade, quantas formas proporcionariam 32 elementos.

Mas na natureza, bem como na construção de jogos, nem todas as combinações resultam em formas coerentes e inteligíveis. Vejamos um caso literário onde o objetivo é construir frases com as palavras homem, vinho, bom e ruim. Como exemplos coerentes teríamos:

  • O HOMEM BOM FAZ VINHO RUIM
  • O VINHO BOM É DO HOMEM RUIM
  • O BOM HOMEM FAZ VINHO
  • O VINHO É RUIM
  • O HOMEM BEBEU O VINHO RUIM
  • O HOMEM É BOM

e como exemplos desconexos teríamos:

  • O HOMEM É VINHO
  • O RUIM É HOMEM
  • O BOM FAZ RUIM

A modularidade estabelece, então, que para um dado conjunto de elementos há uma série de combinações coerentes e de expressividade lógica. A quantidade de formas obtidas pela combinação é diretamente proporcional à qualidade e quantidade de elementos que estão à disposição. Isso significa que quanto mais simples e claro for o elemento, mais formas podem ser construídas.

Construir uma forma a partir de elementos fornecidos é relativamente fácil, uma vez que podemos aplicar o método da tentativa e erro, porém retirar de um dado universo a ser reproduzido os elementos modulares é um trabalho que exige algum treino e muita visão espacial.

Os artistas, desenhistas, escritores e pintores normalmente usam a sua acentuada capacidade de retirar do todo o detalhe para irem construindo as suas obras. Um romance, um quadro, etc, nada mais são do que a reconstrução, parte por parte, de um universo que serviu de modelo.

 

Construindo No Computador

Para ilustrar esses conceitos, vamos ver um exemplo no próprio computador. Como objetivo teremos à construção de uma série de salas de um antigo casarão, ao estilo daqueles construídos no Brasil pelos imigrantes que aqui aportaram na época da colonização. Não haverá muito rigor no traço dos desenhos, pois a referência é apenas informal.

Nossa primeira preocupação é quanto aos elementos estruturais, Janelas, portas e paredes devem ser esquematizadas de forma a proporcionar um resultado visual satisfatório. Estes elementos transpostos para o computador na forma de figuras ou shapes resultaram num banco de imagens (figura 1), que poderá ser manipulado de forma permitir a construção das salas em questão (figura 2, 3, 4, 5 e 6).

A partir das salas construídas vamos fazer algumas observações: note como uma parede, que tecnicamente ocupa um espago visual grande, é construída com poucos tijolos expostos. Este é um truque de síntese visual bastante utilizado no desenho em quadrinhos. Note também como a porta foi projetada para existir tanto aberta quanto fechada. O batente é o mesmo para os dois casos.

Outro ponto importante é a disposição especial dos elementos. Note como em alguns casos o mesmo elemento é mostrado com um ângulo e, em outros casos, o ângulo de visão foi alterado. Isso para a FILMATION II é função da rotina de impressão das imagens e não do desenho propriamente dito, ou seja, existe um determinado shape e várias formas de imprimi-lo no vídeo.

Outra regra fundamental, que comanda a FILMATION II, é a de que uma forma não deve ser vista como um todo, mas a sua imagem deve ser fracionada em tantos elementos quantos sejam necessários para a construção do todo e também de outras formas. Consegue-se dessa forma uma grande otimização do espaço de armazenamento das figuras na memória. Nas figuras 7, 8 e 9 você pode observar os shapes de alguns dos jogos mencionados anteriormente.

No nosso exemplo, construímos cinco salas que se fossem telas armazenadas gastariam aproximadamente 30 Kb de RAM. Todos os shapes para compor as salas não ocupam mais do que 300 bytes e cada sala custa aproximadamente 18 bytes. A fórmula é à seguinte: para cada elemento da sala nós temos um byte para designar qual é o shape a ser usado, dois bytes para indicar a linha e coluna onde se dará a impressão do elemento e mais um para indicar como será essa impressão (normal, invertida, espelhada, mixada, sobreposta, apagada etc.). Construir formas com essa metodologia é quase como se estivéssemos construindo realmente uma casa. É uma boa oportunidade para o programador deixar aflorar o arquiteto que existe dentro dele.

O que vimos até aqui está relacionado com os elementos estruturais que compõe uma forma, ou seja, os elementos que normalmente, mas não essencialmente, são estáticos. Eles compõem o chamado mundo físico base, do jogo, que garante e define a existência dos outros elementos, ou seja, os elementos dinâmicos. Tais elementos são as peças e objetos que irão dar vida ao jogo, pois à animação gráfica normalmente se concentra neles.

O processo de impressão dos elementos dinâmicos é extremamente diferente do processo que viabiliza a disposição dos elementos estruturais. A principal diferença está relacionada com o fato de que os elementos dinâmicos não permitem uma planificação única de sua existência, pois um bom jogo deve partir do princípio de que um dado elemento poderia estar em qualquer ponto da forma. Assim, enquanto uma janela é sempre colocada do mesmo local, uma mesa poderá estar até mesmo no teto da sala. Mesmo que isso pareça fisicamente impossível, o sistema que controla o jogo tem que ser hábil 0 bastante para prever uma situação que, por mais duvidosa que seja, possa acontecer.

O problema da impressão dos shapes dinâmicos está na sua complexidade e no detalhamento da sua forma. Todo shape, seja ele criado no computador mais simples ou no mais completo sistema gráfico, terá sempre uma distribuição bidimensional de sua estrutura, ou seja, comprimento e largura. Na figura 10 temos o esquema de uma mesa e suas zonas de definição de imagem. Um ponto a destacar é o fato de que as zonas mortas não devem se constituir em um obstáculo à formação da imagem na tela do vídeo. Quando um shape é enviado ao vídeo, todos os seus pontos são impressos. Para que a zona morta de um determinado shape não cause o branqueamento do que já havia sido impresso anteriormente, faz-se necessária a criação de uma máscara especial.

Esta máscara obedece rigorosamente ao contorno do objeto que se definiu no shape. À figura 10 ilustra à mesa e sua respectiva máscara. O processo de impressão é deveras simples: em primeiro lugar, a máscara é enviada ao vídeo com uma operação AND e logo a seguir o shape é impresso com uma operação OR. Isso, meus caros amigos, usuários, programadores e leitores, constitui o grande segredo da FILMATION II. Tudo o mais é perfumaria.

Na prática, O que acontece é que quando a máscara é impressa ela apaga uma área idêntica à área do objeto. Nem mais, sem menos. Desta forma, quando o objeto for mixado com tela, ele não causará o apagamento do que estiver ao seu lado. Veja na figura 11 diversos elementos impressos numa sala.

 

Conclusão

Trabalhar com FILMATION Il é uma atividade de programação extremamente simples, Não requer grandes conhecimentos técnicos e nem mesmo grandes computadores como suporte. Mas não se iluda, meu caro leitor, pois fazer um Knight Lore é muito, muito, muito, mais do que simplesmente criar e imprimir shapes.

É claro que a ajuda de um bom editor gráfico é fundamental, além disto, os programas de apoio à programação, tais como editores Assembler, monitores, debug, etc., também têm a sua importância. De qualquer forma, o essencial é ter uma metodologia de criação, sem à qual nada do que foi dito aqui tem utilidade prática.

Observações

* Os shapes e as figuras desta matéria foram criados com o editor gráfico GRAPHOS III, em um MSX;

* Os shapes dos jogos foram obtidos com a utilização do utilitário PROKIT scanner para MSX; e

* As técnicas e rotinas de impressão de gráficos podem ser vistas com detalhes na série "Animação gráfica no TK90X".