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

CryENGINE_post

Olá Pessoal! Continuamos com a série sobre o CryENGINE, trazida a nós pelo Leonardo Dalmina. Nesse post inicia a apresentação dos recursos da ferramenta.

Sempre fui fã de jogos, desde pequeno, e sempre tive em mente trabalhar com desenvolvimento de jogos quando adulto. Fiz faculdade de Sistemas de Informação porque na época, na região que moro, não existiam cursos de Graduação em Jogos Digitais (somente pós-graduação). Então procurei algo relacionado à Informática que também é uma área que me interessa (bem menos que jogos). Quando os cursos de graduação de Jogos Digitais finalmente chegaram, já não valia a pena eu trocar de curso, pois perderia muitas disciplinas e o dinheiro investido nelas. Aí então pensei: se não vou trocar de curso, pelo menos um trabalho de conclusão relacionado a jogos eu farei. E dito e feito! Mas não seria tão simples… Eu continuo a história no próximo post.

Iniciando então o nosso estudo da CryENGINE, começamos nos organizando em relação aos recursos que serão apresentados nesta série:

1)      Gráficos em Tempo-Real

2)      Personagens Realistas

3)      Sistema Modular Avançado de Inteligência Artificial

4)      Velocidade Máxima em Alcance de Visão

5)      Música e Som

Cada um destes recursos possui várias funcionalidades, que serão apresentadas aqui, uma a uma. A ideia é cada capítulo apresentar apenas um recurso. Seguindo a ordem listada anteriormente, o primeiro deles será o recurso Gráficos em Tempo-Real. Como este é o recurso que mais possui funcionalidades, vou dividi-lo e apresentar apenas 3 funcionalidades dele neste post, as restantes ficam para o próximo capítulo juntamente com as funcionalidades do recurso Personagens Realistas.

Confiram então agora as funcionalidades do recurso Gráficos em Tempo-Real (Parte 1):

1.1 Vegetação Integrada e Sistema de Geração de Cobertura de Terreno

Toda a vegetação do jogo foi feita utilizando esta funcionalidade. Através dela, foi possível cobrir diversas partes do mapa do jogo com vegetações variadas. A Figura 1 ilustra o resultado da funcionalidade aplicada no cenário principal do jogo.

FIGURA 1 – Vegetação Integrada e Sistema de Geração de Cobertura de Terreno

Pode-se observar na figura acima que é possível controlar a rotação dos objetos que serão adicionados ao terreno, bem como a variação dos seus tamanhos. Isso pode ser feito através do módulo Vegetation, atribuindo um valor para o “Brush Radius” (tamanho do círculo que representa o local da superfície que receberá a vegetação) e selecionando qual vegetação será utilizada em uma lista de objetos (do tipo vegetação) estruturalmente organizada.

FIGURA 1.A – Criação e Edição de Vegetações

Outros dois pontos importantes a serem considerados são os atributos Bending e Density. O primeiro faz o objeto balançar, simulando um efeito de vento passando por ele. Quanto maior o valor bending, maior será a intensidade com que o objeto irá balançar. O segundo corresponde à densidade do objeto no momento em que ele for adicionado ao terreno, tratando-se neste caso do tamanho do espaço que ele ocupará no terreno (independente do seu tamanho visual). Quanto maior for o valor density, mais espaço o objeto irá ocupar. Como os objetos não se sobrepõem, se o valor density for bastante elevado, haverá muito espaço entre os objetos de vegetação (chegando ao limite de nem serem adicionados caso a densidade ocupe um espaço maior que o valor “Brush Radius”), todavia se o valor for muito baixo, os objetos ficarão extremamente próximos, portanto definir um valor adequado se faz necessário para um cenário mais realista.

Agilidade no processo de criação, fácil parametrização e alto realismo podem ser considerados os pontos positivos desta funcionalidade. A falta de um aviso ou mensagem de erro ao utilizar um valor inadequado nos atributos como, por exemplo, o atributo density, é um ponto onde a ferramenta poderia melhorar.

1.2 Sistema de Partículas Suaves em Tempo Real e Editor de FX Integrado

O sistema de partículas foi responsável pela criação de efeitos como fogo, água e fumaça no jogo. Através dele, é possível controlar como a partícula irá se comportar, qual a quantidade de partículas que serão propagadas pelo objeto, e também a intensidade destas.

FIGURAS 2.A e 2.B – Criação e edição de um objeto do tipo partícula

Há ainda as partículas que emanam sons, de acordo com seu respectivo efeito. A Figura 2 ilustra o resultado da funcionalidade aplicada no Level 02 do jogo.

FIGURA 2 – Sistema de Partículas Suaves em Tempo Real e Editor de FX Integrado

A figura acima exibe uma cachoeira. A cachoeira, a primeira vista, parece ser um elemento único. Todavia, no jogo Cryshooter, ela foi criada utilizando três tipos de partículas diferentes, que são: middle_rapids, que faz o efeito da água respingando acima das pedras, fall_Wide, que faz o efeito de água fluindo para um determinado ponto, e bottom_splash, que dá o efeito da água colidindo com uma superfície.

FIGURA 2.C – Visualizador e Gerenciador de efeitos de partículas

O alto controle sobre as características das partículas bem como a simplicidade de uso podem ser considerados os pontos fortes desta funcionalidade.

1.3 Ferramentas Dedicadas para Estrada e Rios

Todas as estradas e rios criados no Cryshooter foram feitos utilizando esta funcionalidade. Seus princípios de criação são muito similares.

 FIGURAS 3.A e 3.B – Criação e edição de uma Estrada

Quando se cria uma estrada utiliza-se o objeto Road desenhando uma linha que corresponde ao trajeto da estrada. Para a criação de rios, utiliza-se o objeto WaterVolume desenhando uma figura poligonal 2D. A Figura 3 ilustra o resultado da funcionalidade aplicada no Level 02 do jogo.

FIGURA 3 – Ferramentas Dedicadas para Estrada e Rios

A figura acima exibe a utilização de uma estrada e um rio em um só cenário. Ambos os objetos, depois de desenhados, precisam receber um material. A parte mais escura da estrada é apenas o terreno do mapa levemente elevado, a parte mais clara é o material aplicado na estrada, que segue a linha que foi desenhada na criação desta. Em um nível um pouco mais abaixo está o rio, que recebeu o material que lhe dá o efeito de água.

No jogo Cryshooter existem dois tipos de água: um é o oceano, que está presente em todo o mapa. O outro são os objetos WaterVolume, identificados aqui como rios. Estes rios estão presentes no Level 02 do jogo e também atrás do topo da cachoeira (também presente no Level 02), que embora não seja uma parte navegável do mapa, aparece na cena final do jogo.

FIGURAS 3.C e 3.D – Criação e edição de um Rio (WaterVolume)

Um ponto importante que deve ser observado ao se utilizar objetos WaterVolume é a extremidade do objeto. Uma vez que este objeto é uma figura poligonal 2D, suas extremidades determinam o ponto onde a água acaba, e portanto, devem ser escondidas do jogador para aumentar o realismo do cenário. Uma boa maneira para esconder estas extremidades é posicioná-las dentro de outro objeto. Na Figura 3, as extremidades do rio estão posicionadas dentro do muro do cenário e também dentro das montanhas.

O baixo custo para edição, tanto para a estrada como para o rio, é a característica mais formidável desta funcionalidade, pois mesmo depois do objeto estar pronto, com o material aplicado e já posicionado no cenário, ainda é possível modificá-lo em vários aspectos sem resultar em incompatibilidades no objeto final.

Continua…

– 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.

3 Comentários em "CryENGINE: uma opção para indies – Parte 2/6"

  1. oilergui 13/04/2013 at 10:41 - Reply

    Valeu Nornberg, massa o artigo, é bom para ter um norte do que olhar dentro do CryEngine. Agora uma coisa, depois fala mais, mesmo, sobre seu trabalho de conclusão. Vai ser massa saber mais.

    • Leonardo Dalmina 18/04/2013 at 01:50 - Reply

      Olá oilergui!

      A história sobre o trabalho de conclusão está sendo relatada conforme os capítulos da série vão avançando.

      A cada episódio, uma novidade diferente!

      Abraços!

  2. gradil 28/06/2017 at 09:37 - Reply

    Meu irmão recomendado eu poderia assim web site.
    Ele era totalmente certo. Este post na verdade fez o meu dia.
    Você cann ‘ t imaginar só quanto tempo tinha passado por isto informação !
    Obrigado!

Deixar um Comentário