E.6 Inicio do Jogo
4.4 Desenvolvimento do prot´otipo MDGD
4.4.2 Desenvolvimento das ferramentas de modelagem
Para criac¸˜ao dos modelos foram utilizados arquivos no formato XML. Este formato ´e pre- ferencial pela sua facilidade na escrita e leitura tanto pelos desenvolvedores quanto pelo com- putador.
Os arquivos XML servem como entrada para as transformac¸˜oes do c´odigo, por´em editar arquivos XML manualmente n˜ao ´e uma tarefa desej´avel quando se pretende ter uma facilidade na edic¸˜ao. Uma boa alternativa para agilizar e garantir consistˆencia na edic¸˜ao das entradas dos transformadores ´e desenvolver editores visuais. Assim o desenvolvedor especifica os atributos da entrada visualmente, e todo o c´odigo XML ´e gerado automaticamente. Caso precise realizar alguma modificac¸˜ao, bastar alterar no editor visual que o c´odigo XML ´e gerado novamente.
Juntamente com a API do jMonkeyEngine ´e disponibilizado uma IDE que facilita a criac¸˜ao e codificac¸˜ao de jogos. A IDE do jMonkeyEngine ´e baseada na plataforma NetBeans7, forne- cendo al´em das amplas ferramentas de desenvolvimento da IDE NetBeans, plugins exclusivos para a criac¸˜ao de conte´udo do jogo. No NetBeans ´e poss´ıvel criar projetos de plugins que s˜ao incorporados `a IDE, dessa forma os editores visuais foram desenvolvidos como plugins para serem inclu´ıdos na IDE do jMonkeyEngine, fazendo com que sua utilizac¸˜ao seja ainda mais f´acil.
Foram definidos trˆes modelos para o projeto: cˆamera, personagem e cen´ario. Cada modelo cont´em seus pr´oprios atributos e valores pr´e-definidos.
No arquivo de modelo para cˆamera foi definido apenas a existˆencia do atributo ”tipo”. Para esse atributo foram definidos os seguintes valores poss´ıveis:
• Free: tipo de cˆamera livre, onde n˜ao h´a nenhuma interac¸˜ao entre a cˆamera e o personagem jog´avel.
• Back: a cˆamera ´e fixada atr´as do personagem jog´avel, criando um vis˜ao de terceira pessoa. Neste caso h´a uma vari´avel para definir a distancia que a cˆamera ficar´a do personagem.
• Over: a cˆamera ´e fixada acima do personagem jog´avel, podendo esta ser configurada de forma vari´avel quanto a distˆancia que ficar´a colocada.
• First Person: a cˆamera ´e coloca um pouco a frente do personagem, simulando uma vis˜ao de primeira pessoa.
4.4 Desenvolvimento do prot´otipo MDGD 62
Figura 4.7: Editor visual da cˆamera integrado `a IDE jMonkeyEngine
• Chase: a cˆamera persegue o personagem, acompanhando seu movimento. Poder˜ao ser definidos valores para a distˆancia m´axima, m´ınima e tamb´em a distˆancia padr˜ao, al´em de uma vari´avel para definir a sensibilidade da perseguic¸˜ao da cˆamera.
• Steer: tipo de cˆamera muito parecida com a cˆamera Back, por´em ela tem a funcionalidade de inclinar um pouco para os lados dando uma melhor sensac¸˜ao de movimento em curvas, especialmente em jogos de corrida. S˜ao definidas vari´aveis para a distˆancia da cˆamera e frac¸˜ao de movimentac¸˜ao nas curvas. Ao contr´ario dos outros tipos de cˆamera, n˜ao existe no jMonkeyEngine predefinic¸˜oes para esse tipo de interac¸˜ao da cˆamera com o ve´ıculo, portanto ela foi codificada manualmente e disponibilizada para o gerador de c´odigo.
Foi desenvolvido um editor visual para facilitar a edic¸˜ao do arquivo XML de modelo da cˆamera. Esse editor juntamente com um exemplo de arquivo de modelo de cˆamera podem ser visualizados na Figura 4.7.
Outro subdom´ınio do projeto de estudo ´e o personagem jog´avel. De acordo com as an´alises anteriores, o jogador pode ser um ve´ıculo ou um caracter humanoide. Dessa forma tamb´em foi criado um modelo juntamente com um editor visual. Nesse modelo foram definidos os seguintes atributos quando escolhido o tipo de personagem humanoide:
• Rotate Increase: n´umero que corresponde ao incremento utilizado para rotacionar o joga- dor. Quanto maior este n´umero, mais r´apido ser´a sua velocidade de rotac¸˜ao.
• Walk Forward: n´umero correspondente ao incremento utilizado para movimentar o per- sonagem para frente. Quando maior este n´umero, maior ser´a a velocidade em que o personagem andar´a.
4.4 Desenvolvimento do prot´otipo MDGD 63
• Walk Backward: valor utilizado para incrementar movimentos do personagem para traz.
Quando o desenvolvedor define o tipo de personagem como sendo um ve´ıculo, os atributos a serem definidos s˜ao outros, j´a que a interac¸˜ao do usu´ario com esse tipo de personagem ´e diferente. Os atributos do personagem do tipo ve´ıculo s˜ao os seguintes:
• Stiffness: rigidez do amortecedor
• Comp Value: compress˜ao do amortecedor
• Damp Value: absorc¸˜ao do amortecedor
• Mass: peso do ve´ıculo em kg.
• Front Friction Slip: valor de atrito dos pneus dianteiros. Um valor baixo far´a o carro derrapar mais facilmente.
• Back Friction Slip: valor de atrito dos pneus traseiros.
• Max Acceleration: acelerac¸˜ao m´axima do ve´ıculo.
• Max Speed Km/Hour: velocidade m´axima do ve´ıculo em km/hora
• Steering Increase: valor de incremento da direc¸˜ao. Quanto maior este n´umero, mais r´apida ser´a a direc¸˜ao do ve´ıculo.
A partir dos atributos citados, foi definido o formato do arquivo de modelo de entrada e o editor visual que pode ser visto na figura 4.8. O editor visual ´e integrado `a IDE de desenvolvi- mento do jogo, e permite a edic¸˜ao de todas as vari´aveis do modelo. O arquivo de modelo ´e um arquivo XML, e tamb´em pode ser editado manualmente. Sempre que ´e feita alguma alterac¸˜ao nos valores dos atributos atrav´es do editor visual, essa alterac¸˜ao ´e realizada automaticamente no arquivo de modelo e vice-versa.
Conforme analisado na subsec¸˜ao anterior o cen´ario tamb´em poder´a ser personalizado, abrindo margem para uma grande variabilidade de cen´arios. Um cen´ario ´e composto por partes, sejam elas pedac¸os de estradas, curvas, pontes, casas, arvores, etc. Portanto o arquivo de modelo para a construc¸˜ao do cen´ario ´e composto por uma lista de objetos, os quais devem ter a descric¸˜ao do modelo tridimensional que ele se refere e sua posic¸˜ao no espac¸o. No editor visual, basta es- colher qual parte deseja-se adicionar ao cen´ario e clicar na posic¸˜ao desejada para que este seja ent˜ao adicionado na lista de elementos. Na Figura 4.9 ´e mostrado o editor visual `a esquerda e o arquivo XML de modelo `a direita, sendo que ambos podem ser editados pelo desenvolvedor.
4.4 Desenvolvimento do prot´otipo MDGD 64
Figura 4.8: Editor visual do jogador integrado `a IDE jMonkeyEngine
4.4 Desenvolvimento do prot´otipo MDGD 65