CryENGINE: uma opção para indies – Parte 3/6

CryENGINE_post

Olá Pessoal! Mais um capítulo da série sobre o CryENGINE, criada pelo Leonardo Dalmina. Nesse post ele mostra, entre outros, recursos para facilitar a criação de veículos e personagens.

No post anterior, comentei que ao invés de trocar para um curso de jogos, optei por terminar o curso de Sistemas e fazer um trabalho de conclusão relacionado a jogos. Procurei meu orientador e expliquei a minha vontade de trabalhar com jogos, sonhos, planos etc. E quando pensei que ele diria “Legal cara! Te parabenizo pela ideia!”, ele apenas me disse: “Um jogo? Como assim um jogo? Como tu vai utilizar os fundamentos metodológicos aprendidos na faculdade fazendo um jogo? Eu posso muito bem pagar um funcionário meu para fazer um jogo qualquer e o trabalho dele vai ter a mesma validade que o teu, que ficou anos e anos estudando na faculdade! E aí? Como tu vai justificar a importância do teu trabalho?” Na hora eu pensei: caramba, já era a minha ideia!

A história continua nos próximos posts.

Continuamos agora com as funcionalidades do recurso Gráficos em Tempo-Real (Parte 2):

1.4 Criador Dedicado de Veículos

O criador dedicado de veículos permite que um veículo seja modificado e até mesmo criado desde o início. Estas modificações são próprias do comportamento do veículo, diferenciando-se das propriedades que ele possui como muitos outros objetos da CryENGINE.

FIGURAS 4.A e 4.B – Criação e edição de um objeto do tipo Veículo

No Cryshooter foram utilizados dois veículos. O primeiro é o “HMMWV”, um carro tanque que já vem com a ferramenta. O segundo, apesar de ser visualmente igual ao primeiro, é diferente nas configurações, pois consiste em uma modificação do carro tanque original, tratando-se de um novo veículo, denominado “WaterproofHMMWV”, uma vez que é um carro tanque impermeável. A Figura 4 ilustra o resultado da funcionalidade aplicada no cenário principal do jogo.

FIGURA 4 – Criador Dedicado de Veículos

A figura acima exibe o carro tanque impermeável. Diferente do modelo original, este modelo não afunda quando está em contato com a água. A figura ilustra um momento quando o jogo já está sendo executado, e o veículo permanece boiando na superfície líquida. O que difere o carro tanque original (que afunda) do carro tanque impermeável é a configuração de sua densidade. Enquanto o carro tanque original possui 50 unidades de densidade, o carro tanque impermeável possui 10 mil unidades, um valor extremamente elevado que faz com que a estrutura principal do veículo não afunde (isso não se aplica às rodas).

FIGURA 4.C – Editor de Veículos

A principal qualidade desta funcionalidade é a maneira como ela separa bem as partes do Veículo em diferentes categorias, o que facilita a organização tanto para edição deste, como para criação de um Veículo totalmente novo, desde o início.

1.5 Iluminação Global Dinâmica em Tempo Real

A iluminação global é uma parte crucial para o realismo do cenário, pois calcula como a luz irá se comportar, de acordo com os objetos que foram adicionados, alterados ou removidos do ambiente. Os objetos responsáveis por fazer este cálculo de luz são conhecidos como EnvironmentProbes. A Figura 5 ilustra o resultado da funcionalidade aplicada no cenário Level 02 do jogo.

FIGURA 5 – Iluminação Global Dinâmica em Tempo Real

A figura acima exibe a funcionalidade antes e depois de ser aplicada. Para calcular o local de incidência da luz, o objeto EnvironmentProbe deve cobrir toda a área que se deseja aplicar a luz. Como o objeto é uma esfera, deve se levar em conta até objetos que estão posicionados no céu do ambiente, uma vez que estes também influenciam na distribuição da luz.

FIGURA 5.A e 5.B – Criação e edição de um objeto EnvironmentProbe

No jogo Cryshooter esta funcionalidade foi aplicada no cenário principal e no Level 02. Como pode ser visto na Figura 5, na parte da esquerda está o Level 02 com o objeto EnvironmentProbe desativado. Já na parte da direita, encontra-se ativado, e todos os elementos no cenário agora recebem a quantidade de luz apropriada, assim como a intensidade de sombra projetada por outros objetos é corrigida.

FIGURA 5.C – Visualização e Edição de um objeto EnvironmentProbe

O alto realismo gerado no cenário através desta funcionalidade torna o seu uso indispensável, podendo ser classificado como sua melhor característica. Todavia, por causar um grande impacto na luz, alguma reconfiguração de luminosidade no cenário poderá ser necessária após utilizá-la, para se conservar o equilíbrio e a proporção de luz adequada.

Bom pessoal, estas foram as cinco funcionalidades (somadas as três do post anterior) do recurso Gráficos em Tempo-Real. O próximo recurso que será apresentado não está dividido, pois foram exploradas apenas duas funcionalidades dele.

Confiram agora as funcionalidades do recurso Personagens Realistas:

2.1 Sistema de Animação de Personagens

Esta funcionalidade permite que tanto a animação como a criação do personagem seja manipulada. No jogo Cryshooter existem quatro personagens diferentes. O primeiro deles é o agent, identificado como o próprio jogador. O segundo é o neutral_male, um inimigo localizado no Level 01. O terceiro personagem é o allied, um aliado localizado no Level 01. O quarto é o humanoid, outro inimigo, porém localizado no Level 02. A Figura 1 ilustra os três últimos personagens citados anteriormente.

FIGURA 1 – Sistema de Animação de Personagens

A figura acima exibe, da esquerda para a direita, os personagens neutral_male, allied e humanoid, respectivamente. Os personagens neutral_male e humanoid já vêm com a ferramenta, já o personagem allied é exclusivo do jogo Cryshooter, pois foi feito utilizando esta funcionalidade, através da combinação de partes do personagem neutral_male com partes do personagem agent.

FIGURA 1.A e 1.B – Criação e edição de um objeto do tipo Personagem

FIGURA 1.C – Editor de Personagens

A similaridade de como esta funcionalidade trata os objetos bípedes em relação a outros aplicativos de modelagem de personagens 3D é notável. Uma vez concebida a estrutura de um bípede pela funcionalidade, torna-se extremamente simples manuseá-lo e incorporar a ele novos elementos, bem como alterar elementos já existentes.

2.2 Espalhamento de sub-superfície

Esta funcionalidade permite a utilização de objetos translúcidos dentro do jogo. A luz age de uma forma diferente nesses objetos, pois ao invés de iluminar somente sua superfície, ela o atravessa. A Figura 2 ilustra o resultado da funcionalidade aplicada no cenário principal do jogo.

FIGURA 2 – Espalhamento de sub-superfície

A figura acima exibe uma pedra de gelo muito próxima. Pode-se observar na figura que a luz atravessou o objeto, pois é possível enxergar através dele, ou seja, podemos ver todos os elementos do ambiente que se encontram atrás da pedra de gelo.

FIGURA 2.A e 2.B – Criação e edição de um objeto translúcido

A facilidade de uso é o ponto forte desta funcionalidade, bastando-se apenas selecionar um objeto que possua essa camada translúcida e adicioná-lo ao cenário, uma vez que a ferramenta automaticamente exibe o que está além do objeto em suas partes translúcidas.

FIGURA 2.C – Editor de Materiais

Encerrando este recurso chegamos ao fim de mais um capítulo da série CryENGINE. No próximo episódio, partiremos para o terceiro recurso da ferramenta, que estuda a parte de Inteligência Artificial!

Até mais!

– Leonardo Dalmina

Autor: Luiz Nörnberg Ver todos os posts de
Sou Bacharel em Ciência da Computação pela Universidade Católica de Pelotas (UCPel), onde também atuei como professor. Desde a época da faculdade (mais de quinze anos atrás) a paixão por jogos tem sido importante no meu direcionamento profissional. Sou sócio-fundador do Izyplay Game Studio, onde exerço o cargo de Diretor de Tecnologia. Sempre tive grande foco em desenvolvimento em Java, embora tenha migrando para a tecnologia Adobe AIR em função de sua portabilidade. Ah, e é claro, dou meus palpites no game design.

Um comentário em "CryENGINE: uma opção para indies – Parte 3/6"

  1. Leandro 25/09/2013 at 08:00 - Reply

    Cara como que vc fei para compilar o jogo eu tenho varios mapas quase pronto mas não consigo conpilar se vc puder me dar uma dica ficarei muito grato.

Deixar um Comentário