sexta-feira, 20 de março de 2009

1 Pyglet: Introdução

Caro visitante, antes de ler a postagem, é recomendado que você leia a seguinte:
"Então, você quer "fazer" jogos?"
Você estará economizando o seu tempo e em consequência estará economizando o meu também, muito obrigado pela atenção.





1.1 O QUE É PYGLET


Pyglet é uma biblioteca de janelas e multímidia para Python, ele provê uma interface de programação orientada a objetos para o desenvolvimento de jogos e outras aplicações visualmente ricas para Linux, Mac OS X e Windows, estas são algumas características de Pyglet:

  • Sem depedências externas ou outros requerimentos para a instalação. Para a maioria dos aplicativos e jogos, Pyglet não precisa de nada além de Python, simplificando sua distribuição e instalação.
  • Dá vantagem para áreas de trabalho com múltiplas janelas ou monitores. Pyglet permite a você utilizar quantas janelas você precisar e tem plena compatibilidade com configurações de múltiplos monitores para uso com jogos em tela cheia.
  • Permite o uso de imagens, sons, música e vídeos em praticamente qualquer formato. Pyglet pode, opcionalmente, utilizar AVBin para trabalhar com formatos multimídia tais como: MP3, OGG/Vorbis, WMA, DivX, MPEG-2, H.264, WMV e Xvid.

Pyglet é fornecido sob a licença BSD open-source, permitindo a você utilizá-lo de forma comercial ou outros projetos open-source com uma restrição muito pequena.

Traduzido da homepage do Pyglet.

1.2 CONSIDERAÇÕES SOBRE A BILIOTECA

Pyglet, como o próprio GL em seu nome já indica, utiliza OpenGL para a maioria do trabalho gráfico que executa, isso traz muitas vantagens, a principal é a melhoria do desempenho do aplicativo, pois toda a carga é enviada para a placa de vídeo e não para o próprio software, isso também facilita o uso de desenhos primitivos, renderização de texturas bidimensionais, filtros de texturas, iluminação de ambientes e partículas, tais como: linhas, quadrados, triângulos, cubos ou pirâmides coloridos ou renderizados com texturas filtradas e/ou iluminadas, assim como facilita em muito quando o desejo do desenvolvedor é trabalhar com o desenvolvimento de um jogo tridimensional.

Em contrapartida, por não ser o software encarregado de tratar desses "problemas", Pyglet não é recomendado para os desenvolvedores que desejam prover suporte para hardware antigo, principalmente placas gráficas que não suportam especificações de OpenGL. Para o trabalho com hardware antigo, é preferível recorrer ao popular PyGame, pois este, envia a carga para o software dispensando a renderização gráfica pelo hardware.

Um outro problema é que, pelo fato de ser baseada em OpenGL, caso o interessado em Pyglet ainda não seja íntimo de OpenGL, a curva de aprendizado irá aumentar, pois é fundamental que o mesmo conheça, pelo menos, o fundamental de OpenGL para poder tratar a contento a superfície de trabalho e a renderização das texturas. Um bom ponto para suprir essa deficiência, caso você a tenha, é acompanhar as lições do NeHe, disponíveis em NeHe Productions.

Pyglet também traz uma outra vantagem: Ele dá suporte ao trabalho com multiplas janelas ou monitores, a passagem de objetos ou variáveis entre as múltiplas instâncias de janelas se dá através de um alocador de objetos (o que facilita muito a confecção de um editor ou engine utilizando a própria biblioteca), diferente de PyGame, que, sendo baseado em SDL, utiliza apenas uma janela onde as cenas são carregadas, desenhadas e trocadas constatemente.

Em Pyglet, todos os enventos são encapsulados e dispachados através de um gerenciador de envetos central, os objetos e suas instâncias são capazes de encapsular os comportamentos mais comuns aos mesmos, uma grande vantagem! Por exemplo, não é necessário tratar o evento QUIT de uma janela (pois isto já está previsto no método "run()"), como é feito em PyGame, de tal forma que, se você não o fizer, não vai ter jeito de fechar a janela a não ser através de um kill.

1.3 SE ENVOLVENDO COM PYGLET


A biblioteca traz uma comunidade em constate crescimento e que discute suas idéias no grupo de discussão do Google pyglet-users, onde também é possível encontrar arquivos de exemplos, perguntas e respostas mais comuns e claro, sempre há a possibilidade de tirar uma dúvida não abordada.

Além disso, há também uma documentação, ainda não muito vasta, porém disponível, trata-se do Guia de Programação (também disponível em PDF) e a Referência, a qual você sempre irá recorrer nos momentos de aperto.

Por fim, resta apenas você se decidir por Pyglet, fazer o download da biblioteca e começar a desenvolver, na página de downloads você encontrará os binários para Mac OS X, Windows e também o código-fonte.

Até a próxima.

Nenhum comentário: