Curso e oficina de Python para a Blender Game Engine

Com a Game Engine embutida no Blender é possível trabalhar com uma boa parcela de interatividade para produção de jogos e animações interativas, usando nada mais do que os blocos de lógica do software. Esses blocos de lógica são uma maneira visual de criar interatividade e possibilitam aos artistas 3d a criação de jogos, sem a necessidade de usar nenhuma linguagem de script. É grande a quantidade de pessoas que gostaria de trabalhar com desenvolvimento de jogos, mas acaba esbarrando na necessidade de estudar lógica ou alguma linguagem de script. É perfeitamente possível criar jogos usando nada mais do que os blocos de lógica.

Mas, em determinados momentos o processo acaba exigindo um pouco mais de interação ou a execução de tarefas que os blocos de lógica simplesmente não conseguem resolver. Como resolver esse tipo de situação no Blender? A solução é usar Python para a Blender Game Engine! Apesar de parecer intimidador, o uso de Python é muito simples de aplicar quando conhecemos a API do Blender e também as características da linguagem Python. Para ajudar nesse tipo de tarefa, acabei de lançar no EAD – Allan Brito o Curso e oficina de Python para a Blender Game Engine que ensina exatamente a aplicação do Python na Game Engine.

069-500

Ao longo do curso você conhece os meios de aplicação de scripts em projetos de jogos, e também as características da API do Blender específicas para jogos. Com o curso você vai aprender que os blocos de lógica não são excluídos do processo, mas você terá mais opções de controle dos blocos usando Python!

Essa é a lista de aulas do curso:

  • Aula 01 – Python na Game Engine do Blender
  • Aula 02 – Integrando Python com jogos
  • Aula 03 – Manipulando sensores e atuadores
  • Aula 04 – Controlando objetos em jogos com Python
  • Aula 05 – Configurando um jogo de nave
  • Aula 06 – Movimentos dos objetos
  • Aula 07 – Finalizando o jogo com Python

No final do curso você aprende a criar um jogo de nave usando controles avançados para o posicionamento de objetos dentro da área do jogo.

Esse curso funciona em paralelo ao Curso e oficina de Python com Blender que aborda o Python no Blender, sem o foco no desenvolvimento de jogos.

Desenvolvimento de jogos no Blender

Tem interesse no desenvolvimento de jogos e animações interativas com o Blender? No EAD – Allan Brito você encontra os seguintes cursos que ajudam você a desenvolver essas habilidades:

Grama procedural para jogos 3d no Blender

A criação de cenários para jogos envolve muito planejamento e principalmente o uso otimizado de recursos, pois dependendo da tecnologia e técnica usada você pode limitar a execução do jogo como aplicativo apenas em um número limitado de equipamentos. Como a variedade de plataformas em que os jogos podem ser executados pode variar muito, precisamos fazer inúmeros testes de performance para verificar se a aplicação está sendo executada de maneira satisfatória até em computadores mais antigos. É por isso que sempre recomendo aos meus alunos, o uso racional de recursos mesmo se a engine suportar elementos como partículas e iluminação baseada em GPU.

Na composição de cenários precisamos ter ainda mais cuidado, pois como a representação de vegetação em 3d consome muitos recursos computacionais, uma pequena floresta acaba baixando a performance do seu jogo. Se você usa o Blender para criar seus jogos, recomendo visitar essa página no fórum Blenderartists para conhecer o sistema de grama procedural, que tem impacto mínimo na performance de jogos. O vídeo a seguir mostra um exemplo da aplicação desse sistema.

Como você pode perceber a representação da grama procedural é extremamente realista, e para usar o recurso você precisa apenas fazer o download do arquivo de exemplo que está disponível no fórum e importar para o seu projeto. O sistema não é perfeito e apresenta alguns pequenos problemas, principalmente em relação as folhas da grama que passam pela superfícies, mas é uma solução muito mais elegante do que simplesmente adicionar texturas de grama na superfície. E como tudo é procedural, a reprodução da grama sobre as superfícies é automática!

Já mencionei que esse é um recurso gratuito?

Criando jogos no Blender

Ainda não tem conhecimento sobre a produção de jogos? Recomendo visitar o EAD – Allan Brito para conferir os cursos relacionados com a criação de jogos:

Todos esses cursos ajudam você a criar jogos, seja no Blender ou Unity! Mas, antes de partir para a criação dos aplicativos, você deve ter atenção especial ao game design, e no curso e oficina de game design você aprende a documentar o seu projeto antes de começar a parte de produção.

Modelagem para arquitetura usando Arrays no Blender

As ferramentas que permitem replicar conteúdo em softwares 3d existem para ajudar na execução dos nossos projetos de modelagem, e entre essas opções encontramos o chamado Array. Com a ferramenta é possível copiar objetos de várias formas diferentes, algumas vezes seguindo uma ordenação baseada em círculos ou então matrizes. É possível encontrar o Array dentro de ferramentas como o 3dsmax, Blender e AutoCAD. No caso do Blender encontramos o Array como um modificador que pode se aplicado em praticamente qualquer objeto. Uma das aplicações do modificador é na criação de objetos para cenários voltados para arquitetura ou mesmo jogos, quem apresentam padrões de repetição para geração de ambientes.

O que aconteceria se fosse possível unir as duas aplicações? O usuário do Blender chamado DennisH2010 fez um experimento usando o Array para criar modelos de repetição para blocos com edificações, já levando em consideração que a parte inferior e superior dos blocos deve ser diferente. O resultado ficou muito interessante e pode ser conferido diretamente no arquivo fonte que está disponível para download no BlendSwap.

Além do arquivo fonte no BlendSwap você também encontra um pequeno vídeo que mostra no formato timelapse como o artista conseguiu chegar nesse resultado. O processo é realmente simples e envolve apenas trabalho manual de configuração do Array como modificadores. Apesar de ser voltado para o uso dentro da Game Engine do Blender, podemos aproveitar o conceito apresentado e aplicar diretamente em projetos para arquitetura ou mesmo de urbanismo. Essa é uma maneira muito rápida e eficiente de gerar edificações.

O download do arquivo pode ser realizado de maneira gratuita no BlendSwap, apenas realizando um cadastro simples.

No EAD – Allan Brito você encontra disponíveis cursos para aprender a usar o Blender para fins de modelagem para arquitetura e também na configuração de jogos digitais. Os links diretos para os dois cursos são os seguintes:

Para conseguir descontos nas inscrições dos cursos, você pode conferir os combos!

É possível comercializar jogos criados no Blender?

Uma dúvida que sempre recebo pelo formulário de contato do Blog está relacionada com o desenvolvimento de jogos usando o Blender. Existem muitas pessoas que gostariam de trabalhar com a criação de jogos usando o Blender, mas possuem uma dúvida fundamental: é possível vender jogos criados com o Blender? A resposta é muito simples! Claro que sim. A confusão entre a possibilidade ou não da comercialização de matéria produzido com o Blender aparece quando a produção de conteúdo com o software se mistura com o próprio Blender, distribuído sob a licença GPL. Como trabalho diariamente com o Blender, e recebo muito esse tipo de questionamento, acho válido abordar o assunto periodicamente.

No que se refere a produção de jogos, a dificuldade inicial na comercialização de jogos produzidos com o Blender está no fato dos arquivos fonte do jogo precisarem necessariamente acompanhar o binário gerado pelo Blender, para que o jogo em si possa ser executado. Esse binário nada mais é do que uma versão simplificada do Blender chamado de Standalone Player, e os arquivos fonte ficam mesclados com o binário. Como o binário do Blender é regido pela licença GPL, o conteúdo do seu jogo acaba sendo enquadrado na categoria de material derivado e também é regido pela GPL. Isso significa distribuir o material de forma aberta.

Existe até mesmo um excelente artigo na Wiki do Blender explicando o problema em detalhes com base em um artigo publicado pelo Dalai Felinto. Entre as opções apresentadas no artigo, e que considero a mais interessante é o uso de player diferentes do Standalone Player. A minha escolha é pelo BPPlayer, que além de permitir executar jogos criados no Blender, também permite criptografar o conteúdo dos arquivos fonte do jogo, impedindo o acesso a qualquer tipo de objeto ou texto dentro do seu jogo.

Só para responder a pergunta título desse artigo. Sim, é possível comercializar jogos produzidos com o Blender. O material produzido com o software pode ser livremente comercializado, assim como fazemos nos casos de imagens e animações renderizadas com o Blender. O único problema está no fato da distribuição dos jogos usando o Standalone Player pois isso exigiria que os arquivos fonte associados ao software fossem oferecidos de maneira aberta, para não entrar em conflito com a GPL. Mas, usando recursos como o BPPlayer é possível contornar esses problemas, e até mesmo criptografar o conteúdo dos jogos para impedir o acesso ao material.

Quer vender um jogo criado com o Blender? Vá em frente e comece seu projeto, pois é perfeitamente possível explorar a plataforma em jogos comerciais.

Aprendendo a criar jogos no Blender

E caso você tenha interesse em conhecer a plataforma de desenvolvimento de jogos do Blender, recomendo visitar o curso sobre produção de jogos com Blender do EAD – Allan Brito. No curso os participantes aprendem a usar a Game Engine para criar 3D interativo e também a usar recursos como animações dentro desse contexto.

Existe até uma aula no curso em que ensino a utilizar o BPPlayer para proteger o conteúdo desenvolvido para jogos usando o Blender. E para complementar o seu conhecimento com o Blender, existem também diversos outros cursos de Blender disponíveis no EAD – Allan Brito que ajudam no processo de criação dos jogos.

Visualização interativa para arquitetura com Blender

As aplicações que permitem interagir com ambientes 3d em tempo real são uma tendência antiga que está se consolidando cada vez mais como ferramenta para potencializar a venda de produtos, e o uso de visualização interativa para arquitetura está entre os mercados mais promissores. Com a criação de aplicações interativas semelhantes a jogos, é possível oferecer aos potenciais compradores a possibilidade de caminhar e interagir com o ambientes, coisa que imagens estáticas e animações lineares não conseguem. A dificuldade de criar esse tipo de ambiente é exatamente o conhecimento necessário em produzir jogos, que é bem diferente do que estamos acostumados a usar para gerar imagens e renderizações.

Visualização interativa para arquitetura

Com o uso do Blender a coisa pode ficar um pouco mais fácil, pois caso você não saiba o software possui uma game engine integrada a suíte 3D, que permite criar animações interativas e jogos usando apenas os chamados blocos de lógica. E dependendo da complexidade do jogo, você pode criar uma visualização interativa para arquitetura sem a necessidade de nenhum código ou script.

Visualização interativa para arquitetura

Quer um exemplo de como isso pode ser feito? Já mostrei aqui no blog o trabalho do artista Martin Hedin, que acabou de ser atualizado. Ele cria visualização interativa para arquitetura na game engine do Blender, usando texturas geradas diretamente do V-Ray que também é compatível com o Blender. O vídeo a seguir é um exemplo do que o artista é capaz de produzir em termos de visualização interativa para arquitetura no Blender:

Para conhecer mais ainda sobre esse projeto, visite esse endereço nos fóruns Blenderartists e veja imagens e telas capturadas do projeto. Mas, como ele consegue imagens assim com essa qualidade? O segredo está na placa de vídeo que permite níveis de Anti-Aliasing bem altos, valores superiores a 4 e também as texturas. Como é tudo pré-renderizado no V-Ray é possível atribuir excelentes níveis de realismo na visualização interativa para arquitetura gerada com a game engine do Blender.

Como criar visualização interativa para arquitetura?

E para os interessados em criar visualização interativa para arquitetura no Blender, a dica é visitar o EAD – Allan Brito e conferir os seguintes cursos:

Com os dois cursos é possível criar a simulação interativa, e inclusive gerar as texturas com realismo no Cycles. O V-Ray poderia ser usado, mas seria necessário a licença desse renderizador, e com o Cycles podemos reproduzir texturas com o mesmo nível de qualidade.