quinta-feira, 9 de dezembro de 2010

Mini-Guia - Visão

Visão

Este é um guia sobre visão relacionado ao jogo Warcraft 3 e DotA e não tem NADA a ver com Pacman.
Ou tem ???



Introdução

Se você sequer já começou um jogo no Warcraft III você já deve ter percebido que você pode ver as coisas =)... Esse é o básico do jogo, se você não poder enxergar as coisas, você simplesmente não consegue jogar.
E você também já deve ter percebido que alguns heróis conseguem enxergar mais longe do que outros, dependendo se está de dia ou de noite e geralmente não conseguem ver através de árvores certo ?!
                                                                                                         O objetivo dessa primeira sessão é simplesmente explicar o que é VISÃO no warcraft III, como ela funciona e nos mínimos detalhes.
A segunda sessão mostra alguns casos particulares de visão no DotA.



Conceitos Gerais

Grade
Para saber como a visão no jogo funciona, o mais importante é saber e entender que o mapa é composto por uma gigantesca grade.
Cada quadrado dessa grade é chamado de Célula, sua dimensão é 128x128. (A unidade de movimentação do Warcraft 3).


Atualização do Fog
O "Fog of war"(A Neblina natural do jogo) é atualizada a cada 0.4s desde o início da partida.


Isso significa que a cada 0.4s, a posição de cada unidade, seu campo de visão e qualquer área de visão que deveria ter sido bloqueada ou não, são recalculadas

Então tudo é exibido conforme o resultado dos cálculos.



Você pode perceber que o Fog irá sumir e aparecer lentamente quando um objeto entra em uma área específica, porém isso é apenas um efeito visual: Assim que o Fog começar a aparecer/desaparecer, toda a área já está atualizada e então a visão daquele lugar já está completamente perdida ou adquirida.




Campo de Visão
Toda unidade no Warcraft III, possui 2 campos definindo quão distante essa unidade pode enxergar: uma para a visão durante o dia e a outra para a  noite. Estes valores estão limitados a 1800.


Stats - Visão Diurna - 1800
Stats - Visão Noturna - 800

Mas estes valores não são diretamente utilizados. 
Ao invéz, eles são classificados em 15 diferentes Níveis de visão, definindo assim quantas células estas unidades podem enxergar.

Nível
Visão
Min.VisãoMax. VisãoExemploNível
Visão
Min. VisãoMax. VisãoExemplo
0063None89601087
164191910881215
21923191012161343
33204471113441471
44485751214721599
55767031316001727
67048311417281800
7832959

Dia e Noite
Cada Unidade possui um campo de visão diurno e outro diurno, você pode reparar isso facilmente esse campo observando durante o jogo se está de dia ou de noite =)

Porém um caso particular é a transição do dia para a noite: Este é o único momento onde os valores são modificados para além destes 2, pois o jogo faz a modificação gradativamente de um valor para o outro.
Esta transição dura cerca de 3,2s com a visão ganhando de 1 a 2 níveis de campos de visão em um pequeno intervalo de tempo, geralmente 0.4s, e normalmente sempre multiplo de 0,2s.

O exemplo mais comum são com os heróis pois a grande maioria tem visão noturna de 800(Nível 6) e de dia possui 1800(Nível 14), formando assim o melhor exemplo onde ele ganha 1 nível de campo de visão a cada 0,4s num ciclo de 3,2s.
Assim como do dia para a noite o cálculo é o mesmo porém reverso, salvo por algum motivo a ordem do relógio tenha sido alterada. Ex: Ultimate do Balanar



Unidades Mortas
Mesmo que seja uma unidade que esteja morrendo, ela continua possuindo um campo de visão que dura o mesmo tempo da animação de morte, porém essa visão é limitada pelo Gameplay Constant "Fog Reveal Radius - Dying Unit". (Não vou traduzir pois é do GUI do World Editor)

No DotA, essa constante possui o valor de 500. isso significa que unidades mortas que possuem o campo de visão maior que 500(Nível 4) terão ela reduzida durante a animação de morte. Para compensar unidades que possuem campo de visão menor que 500 não terão sua visão modificada.





Unidades Voadoras
Alguns objetos como, árvores ou penhascos, podem bloquear a sua visão
Esses objetos são chamados de "Occluders"


Um occluder precisa estar exatamente na parte direita-inferior de uma célula para que ela possa bloquear totalmente a visão das células que estão atrás dela.



A primeira parte do funcionamento de como funciona o bloqueio de visão que você precisa saber é, como uma unidade tem que ser colocada para bloquear a visão.
Existem quatro possibilidade:

PosiçãoMáscara de Oclusão
Uma linha diagonal
Uma Linha Reta
Entre uma linha diagonal e uma linha reta
Na mesma célula


Quando são colocados vários occluders juntos, cada oclusão sobrepõe a máscara de oclusão da do occluder anterior. (Por isso o criar sombras do Editor é tão pesado)
O minimo de occluders necessário para bloquear em 360 graus a visão de uma unidade são 8, um em cada célula ao redor da unidade.(Vide Sprout do furion)


Medidas de Alturas
Você deve saber que algumas vezes, estando mais alto que uma árvore faz com que você tenha visão sobre a mesma.
Isso é porque as árvores Oclusão por Altura.


Este valor é geralmente de 230 para uma árvore de tamanho média, e 300 para uma árvore grande (no editor Canopy Tree).
Assim como em Campo de Visão esses valores não são utilizados. Eles são convertidos em "Cliff Levels".
Um level de penhasco Cliff, possui uma altura de 128 em unidade do warcraft.


Cliff levelMin. heightMax. height
000
11128
2129256
3257384
4385512
.........

Com a altura de 230 uma árvore média pode ser chamada Occluder nível 2. Isso significa que você precisar estar pelo menos no Cliff nível 2 para poder sobrepor o Occluder nível 2 para poder ver por cima.



Neste exemplo a árvore ao norte é nível 3, ao oeste é uma árvore nível 2, e a unidade ao centro está posicionado num cliff nível 2, vejam o resultado:


Repare que uma unidade só pode mudar sua altura subindo em cima de um penhasco(cliff) ou um objeto elevado, uma plataforma por exemplo.

A função "Apply Height"(Aplicar altura) que existe no World Editor, que é utilizar para modificar a altura do terreno, muito utilizada para criar rios suaves e elevações, NÃO ALTERA O NÍVEL do terreno..



Quando subir em uma rampa, o nível do cliff será acrescentado assim que atingir a segunda célula da rampa.



Unidades Voadoras
No propósito de definir a altura de alguma unidade para que sua visão possa ser bloqueada ou não, algumas criaturas são definidas como voadoras, isso na engine do warcraft III significa que ela tem uma altura infinita. 

Isso significa que sua visão não pode ser bloqueada de forma alguma!.





2 comentários:

  1. MUITO bom pra quem quer aprender mais sobre as engines do W3, e isso ajuda muito in-game, ótimo trabalho ! xD

    Madruga-

    ResponderExcluir