Blender Game Engine: Projeto Ruínas

Um artista brasileiro publicou recentemente nos fóruns da comunidade Blenderartists.org, uma série de trabalhos realizados com a Game Engine do Blender 3D, que estão chamando a atenção de vários usuários e artistas 3d. Esse artista é o Vitor Balbio que pelo visto está se especializando no uso do Blender 3d, para criar ambiente e simulações usando render em tempo real. O projeto título desse artigo, que inclusive apareceu na BlenderNation essa semana, se chama Ruínas. Como o próprio nome mesmo diz, o aplicativo representa um ambiente que simula as ruínas de um templo ou fonte.

Além do excelente trabalho de modelagem e configuração da Game Engine, o Vitor ainda conseguiu aplicar alguns recursos em desenvolvimento para o Blender 3D, como o build que apresenta o VideoTexture.

Essa é uma imagem do aplicativo:

blender3d-game-engine-ruinas

Para conferir a mensagem que o Vitor publicou nos fóruns do Blenderartists.org, visite esse link. Lá é possível visualizar outros trabalhos dele usando a Game Engine do Blender 3D, assim como é possível encontrar o link para fazer o download do aplicativo Ruínas (apenas Windows).

Como forma de divulgar o excelente trabalho que o Vitor realizou no aplicativo, fiz uma pequena entrevista com ele sobre o seu trabalho com o Blender 3D e os desafios do projeto. A entrevista é ilustrada com algumas imagens enviadas pelo autor, com screenshots do projeto no Blender 3D. As imagens estão pequenas, basta clicar nelas para ampliar.

Conte-nos um pouco mais sobre a sua experiência com o Blender 3D, como ele influencia seu trabalho? Há quanto tempo você usa o Blender?

Bom, eu uso o Blender há 4 anos, eu era um garoto na época, tinha somente 14 anos, mas eu já modelava desde os 12. O meu inicio com o Blender foi meio conturbado como deve ser o de todo mundo, ainda mais naquela época em que o programa era tão instável que nós tinhamos que salvar o nosso trabalho a cada 10mim com medo dele fechar sozinho e agente perder tudo rsrsrs. Mas hoje ele é um programa extremamente estável e confiável.

O Blender hoje em dia é a base ferramental do meu trabalho, eu estou atualmente desenvolvendo um curso de desenvolvimento de jogos 3D com o Blender e estou montando uma produtora de Serious Game chamada “Starats Studio”, e o Blender é a ferramenta perfeita para esses 2 projetos.

ss1

Qual o seu objetivo com esse projeto? Foi uma experiência ou teve como objetivo testar as ferramentas do Blender?

Na verdade foi apenas um estudo descompromissado. Para a cena “Ruínas” eu estava testando algumas técnicas em um cenário complexo em diversas áreas como Bake de AO e sombra, uso extensivo de Normal Maps, aplicação de vegetação animada e decidi implementar também os recursos de reflexão disponíveis no SVN “VideoTexture”. Felizmente eu gostei muito do resultado final, apesar de alguns detalhes poderem ter tido um polimento melhor.

ss2

Qual foi o maior desafio para finalizar o projeto? Foram as texturas? Compor a vegetação?

Criar o Bake da iluminação. Sempre esse é o maior desafio e também o que mais gosto de fazer, infelizmente ( pelo menos comigo ) as coisas dificilmente saem perfeitas logo da primeira vez, abrir a malha com o lightmap e fazer o bake sem costuras aparente e com qualidade em uma cena complexa sem ter de criar texturas gigantes é sempre um desafio. Felizmente com o tempo agente vai pegando algumas manhas em relação a isso. Inicialmente essa cena seria apenas um estudo de iluminação, sem texturas, mas o resultado da iluminação me agradou tanto que seria um pecado não continuar. Fora a iluminação configurar a neblina para criar uma densidade atmosférica compatível na cena é sempre muito complicado, é um exercício de paciência em testar valores.

ss3

Como você organizou as texturas? Em uma das telas do projeto, podemos perceber que existem várias camadas em algumas texturas. Você poderia comentar a organização das mesmas?

Na maioria dos casos eu utilizo uma textura para cada “canal”: Diffuse, Normal, AO e Sombra projetada para cenários externos e Diffuse, Normal, Radiosity para cenários internos. Dificilmente eu uso mapa para especular, acho mais prático controlar pelo shader. Mas nessa cena em especial eu utilizei a técnica de “texture splatting” pra criar a terra e grama do chão e mais um mapa de detalhamento multiplicando em cada material pra criar os musgos e os detalhes esverdeados em praticamente todo o cenário.

ss4

Você usou os materiais/visualização do tipo GLSL?

Sim, acho que essa foi a maior evolução da Game Engine do Blender desde a versão 2.46, as possibilidades gráficas com ele são muito vastas agora. Espero somente poder ver mapas Parallax criados facilmente nos materiais do Blender em breve.

ss5

Esse foi o seu primeiro projeto com a Game Engine? Caso não tenha sido o primeiro, quais outros projetos você já desenvolveu?

Eu já criei alguns projetos com a BGE, recentemente a minha produtora desenvolveu um projeto chamado “Quilombo Virtual” para a ONG TRAMA aqui de São Gonçalo, RJ. O qual era uma apresentação interativa em um ambiente que recriava a vida nos quilombos. Foi um trabalho muitíssimo importante pro meu crescimento profissional e teve uma repercussão extremamente positiva.

Quais conselhos você daria para outros usuários do Blender, interessados em começar projetos envolvendo o uso da Game Engine?

Acreditar no próprio potencial e nunca desistir. Eu acredito muito no potencial de cada um. Eu já vi pessoas que aprenderam Blender em 2 meses outras que aprenderam em 1 ano. Mas todos têm capacidade de criar coisas incríveis se realmente quiserem. Estudem muito, lêem muitos tutoriais na internet, busquem fóruns, blogs, pergunte se não souber como fazer alguma coisa, a comunidade Blender é extremamente solidária com todos. Vejam o que os outros estão fazendo e tente fazer igual, ou melhor. Se você gosta de jogos e você deseja começar a criá-los você mesmo o Blender é a ferramenta certa, pois é Open Source e extremamente poderoso. Pode não ser muito “carismático” a primeira vista, mas ele é um programa excepcional e vai continuar a crescer cada vez mais. Espero que esse trabalho inspire outros jovens como eu (tenho apenas 18 anos ainda) a buscarem os seus sonhos. E eu espero daqui pra frente ver mais trabalhos sendo realizados aqui no Brasil com o Blender.

Criando texturas com sombreamento no Blender 3D

Dentre os últimos avanços adicionados ao Blender 3D na versão 2.48a, o uso de sombras em tempo real foi um dos que mais gostei pela possibilidade de trabalhar na 3D View com uma ótima pré-visualização de como ficaria a interação de um objeto ou personagem com as luzes do cenário. Esse tipo de recurso é mais usado no desenvolvimento de jogos 3d, mas pode ser muito útil também para outros segmentos, principalmente na iluminação de cenários para animações e projetos mais complexos.

No DVD do Yo Frankie!, uma série de tutoriais acompanharam o jogo, mostrando as melhorias e dando várias dicas de como aproveitar melhor esses recursos. Um desses vídeos apresentou uma técnica bem simples, para “imprimir” as sombras de um objeto nas texturas para reduzir o consumo de recursos do computador em jogos.

Se você já teve algum tipo de contato com desenvolvimento de jogos, deve saber que existem várias maneiras de reduzir o consumo de recursos do computador, seja usando LOD (Level of Detail) ou com o controle de sombras.

Imagine a seguinte situação, você tem um cenário com vários objetos em que um personagem precisa percorrer esse ambiente. Como o único elemento em movimento é o personagem, faz sentido que a luz do cenário seja representada em tempo real apenas para esse personagem, e os outros elementos do cenário podem ser apresentados de maneira mais simples, com sombras pintadas diretamente na textura.

Quer aprender o método para fazer isso no Blender 3D? O vídeo abaixo mostra o procedimento completo. Uma versão completa e com melhor resolução do vídeo, pode ser copiada na área de downloads do projeto.

BGE Tutorial: Baking Shadow Maps from Pablo Vazquez on Vimeo.

No tutorial podemos acompanhar o processo em que uma textura recebe a interação de uma luz, em um processo chamado de BAKE. Em que a interação da luz fica registrada na sua superfície.

Para conseguir reproduzir o tutorial e usar as luzes em tempo real, é muito importante que você tenha uma placa de vídeo que suporte o uso dos shaders GLSL.

O procedimento é bem simples! Basta posicionar a luz e depois disso selecionar o objeto e criar um novo mapa na janela UV/Image Editor do Blender 3D. Com o mapa criado é possível salvar a textura em formato de imagem.

No momento em que a textura estiver sendo aplicada na superfície, precisamos selecionar a opção Multiply no menu Map To das texturas, para que apenas a parte da textura seja visível, mesclada com outra textura em canais diferentes do Blender.

Esse é um resumo rápido do que é necessário para realizar essa operação. Se você quiser acompanhar em mais detalhes o tutorial, sugiro que faça o download o vídeo em melhor resolução na página do Vimeo ou na área de downloads do Yo Frankie!, o acesso é gratuito.

Competição Blender Game Engine: Design de níveis no Yo Frankie!

O lançamento do Yo Frankie! não marcou o término do projeto, que mesmo depois de entregar uma excelente versão da animação interativa, ainda precisa de melhorias e pode ser expandido. Assim como acontece com outros jogos comerciais, o jogo precisa ou pode receber melhoramentos e o Barton Campbell, um dos membros da equipe de desenvolvimento do jogo lançou um pequeno concurso, para incentivar as pessoas ao redor do mundo a trabalhar no design de um novo nível para o jogo. Sim, você pode fazer o download o material do jogo e elaborar um novo nível, usando o mesmo gameplay elaborado pela equipe, basta trabalhar nos desafios e recompensas do jogo de maneira inovadora.

Para não dizer que o projeto é de voluntariado, o Campbell oferecendo três prêmios para os três primeiros colocados que são 250, 150 e 100 Euros respectivamente.

Concurso Game Design

Se você quiser saber mais sobre o concurso, recomendo visitar o comunicado do próprio Campbell no blog do jogo. Lá é possível encontrar as regras para o desenvolvimento do projeto, assim como a maneira com que o mesmo será avaliado.

O anuncio desse concurso, mostra que apesar de toda a polêmica gerada pelo projeto, inclusive com algumas pessoas dizendo que o Yo Frankie! manchou a imagem do Blender 3D, como plataforma de desenvolvimento de jogos. A maior parte das críticas aparecem em comunidades de usuários ou desenvolvedores de jogos que não estão diretamente relacionados com o Blender 3d. Nessa hora, a análise costuma ser mais imparcial, pois os artistas 3d que usam o Blender acabam colocando um pouco da admiração e respeito que tem pelo software, no momento de tecer críticas mais ácidas ao projeto.

O jogo tem problemas sim, mas como já foi mencionado no texto do concurso, devem haver novas versões com correção de bugs e expansões no jogo.

Mas, que jogo é esse? Caso você não saiba, o Yo Frankie! é um projeto de jogo desenvolvido totalmente no Blender 3D, que originalmente deveria usar a engine do Crystal Space 3D para renderizar a animação em tempo real, mas no meio do projeto uma reviravolta, causada pela falta de integração entre as equipes fez com que todos os esforços fossem concentrados na Game Engine do Blender. Todo o jogo, assim como os arquivos fontes e tutoriais do mesmo, podem ser copiados de maneira gratuita na página de downloads do projeto.

Esse concurso é uma excelente oportunidade para as pessoas interessadas em trabalhar com game design, colocar em prática uma atividade comum nesse ramo, o desenvolvimento de novos módulos de jogos, com base em tecnologias e estruturas já existentes.

A existência de parâmetros e principalmente restrições para o design desse novo nível é que torna o projeto tão interessante, pois é exatamente isso que acontece em projetos de maior escala.

Esta é uma ótima atividade, para os artistas que estão aproveitando férias da faculdade ou trabalho agora em Janeiro.

Como organizar modelos 3d para jogos no Blender 3D?

Com o lançamento do DVD do Yo Frankie!, a fundação Blender também começo a distribuir o conteúdo do DVD sob a licença Creative Commons pela internet. Para tentar salvar um pouco mais de banda e recursos de servidor, que foram amplamente esgotados com o seu primeiro projeto o Elephants Dream, eles estão tentando encontrar novas maneiras de distribuir o material. Uma delas é o Torrent, para permitir que mais pessoas ajudem na distribuição do DVD e agora os tutoriais estão começando a aparecer no Vimeo também. Se você está aguardando o seu DVD chegar e queria mesmo era conferir os tutorial, agora podemos assistir alguns deles pelo Vimeo!

Claro que a resolução não está perfeita, mas já serve como uma ajuda para quem ainda não tem o DVD. Os tutoriais estão sendo divulgados aos poucos, hoje já estou indicando um deles que fala sobre a organização dos elementos usados no jogo em bibliotecas, usando a Game Engine do Blender 3D.

No tutorial, podemos conferir a maneira com que os cenários e personagens do jogo foram organizados, para permitir que uma fonte única de modelos 3d fosse usada, editada e sempre atualizada com as principais modificações requeridas pelo projeto. Uma boa biblioteca de objetos e modelos 3d, usando links externos é a melhor opção para organizar um projeto em equipe, pois permite que um mesmo objeto seja animado e editado por um artista.

Esse é o tutorial:


BGE Tutorial: Library Linking from Pablo Vazquez on Vimeo.

Como forma de exemplificar o processo, o tutorial aborda uma das árvores que povoam os cenários do jogo. O foco é a maneira com que o objeto foi organizado no cenário, usando grupos e outros elementos para organizar o projeto.

Depois de mostrar o modelo 3d, o autor do tutorial cria uma nova cena no Blender, para que o modelo 3d da árvore seja inserida no cenário. Isso é feito com a opção Append or Link do Blender 3d, localizado no menu File. Lá você vai escolher a opção Link para que seja feita uma ligação externa para o arquivo, o processo é semelhante ao que acontece em outros softwares como Xref ou Merge.

Assim que você escolher o grupo que deve ser usado para trabalhar no seu cenário, basta escolher a opção para criar grupos, e a opção de adicionar uma das árvores do Yo Frankie! estará lá.

Esse tipo de técnica pode ser usada para os arquivos do próprio jogo ou então nos seus próprios projetos. Durante o resto da semana, publico os outros vídeos com os devidos comentários.

Yo Frankie! Primeiro open game criado com Blender, disponível para download

Depois de muita espera e expectativa o pessoal da fundação Blender, finalmente disponibilizou para download o jogo completo desenvolvido no projeto Apricot, o Yo Frankie!. Se você ainda está aguardando pela chegada do DVD, que para esse lado do atlântico pode demorar consideravelmente para ser entregue, dependendo da região em que você more, o download vai certamente matar um pouco da vontade. Por enquanto, apenas os arquivos fonte do jogo estão disponíveis, e aos poucos a fundação deve publicar os vídeos e tutoriais que acompanham o DVD do jogo.

Agora, antes que você vá com muita sede ao pote, é importante fazer alguns comentários sobre o jogo em si. Claro que antes de qualquer coisa, todos devem querer testar a jogabilidade e verificar o resultado do trabalho. Mas, pelos comentários que venho encontrando em fóruns e comunidades de usuários do Blender, existe uma boa chance do jogo apresentar problemas ao ser executado em alguns computadores.

Sem falar, que no caso de uma animação é só produzir um arquivo de vídeo e com o codec certo, ele pode ser executado em praticamente qualquer computador.

Isso é reflexo direto da complexidade de um projeto de jogos, que precisa ser testado e verificado em inúmeras configurações de computadores, com placas e sistemas diferentes. Como esse projeto foi um dos mais problemáticos já desenvolvidos pelo instituto Blender, em termos de sincronia de equipe e resultados, a parte de testes ficou comprometida. As pessoas que participaram da equipe, principalmente os artistas do Blender estão de parabéns! Pelo que pude apurar em depoimentos, boa parte dos problemas foi oriundo dos desenvolvedores do Crystal Space. Mas, no final o projeto foi resgatado e quem saiu ganhando foi o Blender, com uma Game Engine cheia de novos recursos.

Como fiquei sabendo disso? Basta visitar o blenderartists.org e você encontra toda a novela, descrita e comentada pelos próprios artistas que trabalharam no projeto. Parece que havia ao mesmo tempo uma competição, para

Bem, agora falando sobre o jogo que é totalmente gratuito. Mesmo que você esteja tentado a fazer o download para jogar, o maior benefício mesmo será no estudo da estrutura do material, com os diferentes níveis e outros detalhes que geram tantas dúvidas no desenvolvimento de jogos com o Blender.

Por enquanto, ainda isso é tudo que pode ser copiado, mas já é de grande ajuda. Os tutoriais devem estar disponíveis em alguns dias, inclusive com opções para streaming no Youtube e Vimeo.

Para encontrar todos os links para o download, visite esse endereço que leva diretamente a página de download do projeto. No total são 200 MB o jogo completo, com versões disponíveis para Windows, Mac OS X e Linux.