Problemas e Soluções para Licenciar seus Jogos – Issues and Workaround for Game licensing with Blender Game Engine

English Readers: for the time being use a translator or read in BlenderArtists a short version of the workaround presented here on Blender Game Engine license issues. 

Recentemente tenho percebido muita gente preocupada com a questão da licença da Blender Game Engine. Acho isso um ótimo sinal, pois indica que o mercado de uso profissional da mesma só faz crescer. Pois bem, atendendo a pedidos segue este artigo. Como um bom vinho ele foi feito seco ( que desculpa esfarrapada, está sem imagens porque estou com preguiça mesmo 🙂 ).

O problema:

“Quem roubou o meu queijo?”

O código do Blender é predominantemente GPL e em uma licença própria da Blender Fundation. A GPL especifica (em definições meio vagas) que qualquer programa derivado do código original (bundled with the original code) deve ser licenciado como GPL também. Isto é feito para evitar que alguém pegue o código do Blender, altere algumas coisas, e queira distribuir o mesmo sem compartilhar suas melhorias.
Um detalhe: se um estúdio alterar o Blender para uso interno, mas não redistribuir o mesmo, ele não é obrigado a fornecer as mudanças realizadas no código do mesmo.
Isto contudo não afeta arquivos .blend, renders, scripts, texturas, … que sejam criadas com o uso do Blender. Ou seja, você é livre para usar o Blender comercialmente e licenciar suas criações artísticas do jeito que quiser.

A Blender Game Engine contudo tem um problema. Para distribuir seu jogo você precisa criar um executável (run time). O que o Blender faz é pegar seu arquivo .blend e colocar “dentro” do blenderplayer – uma versão enxuta do Blender contendo apenas as funções correspondentes à Blender Game Engine. Por mais bizarro que isto pareça, este arquivo executável se enquadra na categoria de “derivados” do programa original (por ser um híbrido de seu arquivo com o blenderplayer em si), e portanto deve ser licenciado como GPL.

 

A controvérsia:

“Tostines é mais fresco por que vende mais? Ou vende mais por que é mais fresco?”

Muito já se discutiu à respeito da legitimidade (e pertinência) desta limitação da GPL. Apesar de pessoalmente eu ser um grande entusiasta do movimento livre, eu não acho que este tipo de limitações contribuam para o desenvolvimento do programa. Muito antes pelo contrário. A única saída legítima para isso seria re-licenciar o código da BGE. Para isso seria necessário recolher as assinaturas de todos que já contribuíram com o código da mesma desde sua existência. Se isto não fosse o bastante, partes da BGE utilizam na verdade o código do Blender e precisaria da aprovação também dos desenvolvedores do Blender em si. Assim esta hercúlea tarefa não tem nenhuma perspectiva de ser realizada tão cedo.

Soluções:

“Coronel Mostarda com um candelabro na biblioteca”

Existem algumas alternativas. Vou citar as mais corriqueiras. Se tiver interesse sobre alguma delas especificamente dê uma buscada na internet, ou escreva aqui perguntado.

A mais bacana é na verdade disponibilizar seu projeto em GPL 🙂 Pense bem, será que seu projeto precisa mesmo ser disponibilizado em uma licença fechada? Quais os benefícios que isto traz? Por que não disponibilizar seus arquivos e usar isto como uma ferramenta de marketing?

Tudo bem, nem sempre isto é possível. A segunda alternativa, da qual sou um grande fã também, é fingir que não existe problema nenhum. Sinceramente, a Blender Fundation nunca vai processar alguém por distribuir um jogo usando a BGE. Se você não tiver um cliente “caxias” no meio da história, você está perdendo seus cabelos à toa. Siga em frente com seu projeto, e boa sorte.

Outras alternativas:  BPPlayer (nunca testei – mas permite a você proteger seus arquivos e outras facilidades para publicar seus jogos); gamekit (não está pronto ainda, mas promete funcionar como uma alternativa ao blenderplayer sem problemas de licença); usar todos os arquivos externamente e rodá-los a partir do blenderplayer; e claro: malabarismos como alterar o código do blender para criptografar o arquivo .blend (o patch entretanto teria que ser disponibilizado, o que faz isto perder um pouco do sentido).

Minha solução favorita:

“alguém realmente usa cajados para abater coelhos?”

Mês passado eu terminei meu primeiro comercial com a BGE 😀 Não é meu primeiro trabalho profissional com o Blender e a BGE, mas é o primeiro em que fiquei responsável desde o começo por todo o desenvolvimento dos scripts do projeto. Infelizmente não posso dar muitos detalhes agora pois o projeto vai ser publicado só em Setembro. Entretanto algumas de suas características que nos levaram à solução indicada abaixo:

  1. o projeto vai ser distribuído por literalmente milhares de pessoas.
  2. o editor do projeto queria ter certeza de que (dado o número de cópias), estaríamos completamente protegidos legalmente.
  3. o projeto foi desenvolvido tendo em mente computadores antigos (i.e. Blender Texture + Pre-Baked textures).
  4. mesmo assim ele demora um pouco para carregar a “cena inicial”, o que é meio desconcertante para um projeto “real” e pessoas impacientes

A solução que encontramos gira em torno do “Game Actuator”. Ela não foi inventada por nós, mas atendeu perfeitamente ao projeto. Com o Game Actuator é possível carregar um novo arquivo .blend assim que o jogo se inicia. O arquivo na verdade pode ter o nome e terminação que quiser (ex.: copyrighted.xyza). Este arquivo inicial tem uma bela imagem introdutória com os logos do projeto, a apresentação dele, e um aviso de “carregando”. E tão logo ele inicia um “Always Sensor” já chama o “Game Actuator” pra carregar seu jogo.

Os seus arquivos ainda ficam de certa forma “expostos”, mas acredite, isto é um fator totalmente irrelevante. A maioria dos grandes títulos para computador e video game tem seus arquivos expostos de uma forma ou de outra. O fato de alguém ter acesso ao seu arquivo .blend não significa que ele pode ser usado para fins não previstos na licença que você desejar. E como o seu arquivo principal está “fora” do blenderplayer, ele não precisa ser GPL e está portanto “legalmente protegido”.

O futuro:

“enquanto seu lobo não vem”

Eu estou aguardando muito ansiosamente a conclusão do projeto gamekit. Ele não apenas resolve o problema de licenciamento, mas também apresenta uma série de vantagens como melhor performance, recursos gráficos diferentes, portabilidade (roda em iPhone). Infelizmente não creio que o projeto será concluído tão cedo. Por outro lado é muito improvável que a licença da BGE mude para qualquer outra que não seja GPL.

Com a Blender Game Engine ganhando cada vez mais adeptos, imagino que este assunto da licença ainda dê o que falar por um bom tempo. Ainda assim não acho que seja algo que valha a preocupação. Se você está começando seu projeto, siga em frente e saiba que pelo menos em relação à licenciamento você não tem com o que se preocupar. Se você já publicou algum trabalho com a BGE, por favor fique à vontade de compartilhar sua experiência nos comentários.

Um grande abraço,
Dalai

12 Thoughts on “A Hora e a Vez da Blender Game Engine

  1. Buenas!

    Excelente texto. Clareou a minha mente e com certeza vai ajudar um par de pessoas.

    Obrigadão e

    Grande abraço!

  2. Muito bom e esclarecedor, Dalai! 🙂

    Obrigado por compartilhar conosco!

    Grande abraço e (ainda mais) sucesso pra você.

  3. Puxa, como não sou um usuário ativo da game engine não conhecia todas estas variáveis, me foi de grande valia o texto! E que o game kit seja a salvação 😀

  4. Pingback: Problemas e Soluções para Licenciar seus Jogos | Procedural

  5. Muito obrigado pelas dicas sempre tive medo de publcar meus projetos comercialmente, ou de ser processado.

  6. Luccas on June 12, 2010 at 7:07 pm said:

    Muito obrigado pelas dicas sempre tive medo de publicar meus projetos comercialmente, ou de ser processado.
    Eu gostaria de saber mais sobre o game actuador, e como baixá-lo. Por favor me ajude. Eu gostaria também de saber sobre os scrips python e se eles podem ser usados comercialmente. Obrigado.

  7. Mateus on June 27, 2010 at 11:02 am said:

    (…) a minha perguna é se eu posso embutir o arquivo compilado dentro de um instalador junto com o .blend.
    Se eu fizer isso estarei livre para usar o jogo comercialmente?

  8. Hyuristyle on June 29, 2010 at 12:41 am said:

    Luccas, o Game Actuator é um Logic Brick dentro do painel Logic do blender. Para acessá-lo vá ao painel Logic do Blender, clique em Add na aba Actuator para adicionar um Atuador e selecione o tipo Game. Nele você pode adicionar a opção de: abrir novo jogo(arquivo .blend externo), sair, reiniciar o jogo, entre outras funções. T+

  9. @Luccas: a questão levantada aqui não é em relação a ser comercial ou não, mas sim quanto a restrições de licença. Um jogo pode ser distribuído como GPL e ser comercial ao mesmo tempo.

    Enfim, scripts python podem ter licenças fechadas e serem usados comercialmente sem problemas. Para isso eles não podem fazer parte do .blend que será embutido no blenderplayer. A outra opção é usar scripts externos (via a opção Module no Python Controller ou via import) e se quiser proteger a fonte disponibilize somente o arquivo python compilado (.pyc).

    @Mateus: Acredito que instaladores são uma exceção mas não tenho certeza. A regra básica é: se o Blender (ou neste caso o BlenderPlayer) estiver incorporado dentro de algum outro programa (ou seja executável) o mesmo deve ser disponibilizado em licença compatível com o Blender (GPL). Não terás probelmas se o instalador for composto de duas partes: (1) os arquivos compactados e (2)o executável que descompactará os arquivos e os colocará nos devidos lugars. Se for tudo um programa só creio que “tecnicamente” fere a GPL. Mas francamente ninguém te processará por isso, eu te garanto.

  10. eu queria saber especificamente neste caso:
    Se eu faço um jogo online onde ah um taxa de R$5,00 por conta ativa de jogo, que foi feito com arquivos .blend
    todos os chars, NPCs, Sets, quase tudo foi feito no blend, só foi usado outro engine que a principio tem código fechado.
    -Legalmente eu posso ser processado por cobrar ao usuário de jogar o meu jogo, ou cobrar por cash do jogo?

    -E se você souber me responda por favor, como eu registraria este jogo no meu nome o no nome da minha empresa?

  11. Oi André, ninguém pode te processar por usar o Blender para criação de elementos para seu jogo. O problema de licença ocorre somente quando você tem que incluir o programa do Blender (ou no caso o BlenderPlayer) junto com algum arquivo seu. O que não se aplica a seu caso.

    Quanto a registro do jogo eu não tenho a mais vaga noção de como isso funciona no Brasil.

  12. Luccas on October 17, 2010 at 7:16 pm said:

    Hyuristyle muito obrigado, agora já posso publicar meus jogos, assim daria até para criar conteúdos pra download.

    Dalai Felinto muito obrigado também, eu não sabia que um jogo poderia ser GPL e comercial.
    E sobre os scripts acho que usar os externos seria a melhor opção.

Post Navigation