Frameworks para Construção de Jogos

Pesquisa realizada por Dilson Rosário, Raphael Fernandes e Vithor Tibiriçá em 2007-2

Framework

No desenvolvimento de softwares, framework funciona como uma estrutura que dá o suporte a uma outra aplicação desenvolvida. O framework pode incluir programas de suporte, bibliotecas de códigos, linguagens de script e outros softwares que dêem à sustentação necessária para o desenvolvimento e funcionamento da aplicação. Eles são desenvolvidos para facilitar a construção de softwares dando apoio ao seu funcionamento.

Framework em Orientação a Objeto

Em Orientação a Objeto, o framework está definido como um conjunto de classes que se diferencia de uma simples biblioteca, pois não tem como objetivo apenas a implementação de funcionalidades, mas inclui a reutilização de um determinado design.

Como funciona

O primeiro passo é compreender a funcionalidade da estrutura escolhida no caso ”framework”. O segundo passo é definir as características do sistema a ser projetado.

Algumas das vantagens:

  • Produtividade: menos código para digitar;
  • Menor possibilidade de erros (soluções já testadas em grande escala), o que implica em mais produtividade;
  • Maior abstração da solução. Você se preocupa mais com o por quê, ao invés do como. E isso também implica em maior produtividade;
  • Eficiência. Código feito por experts muitas vezes são mais eficientes do que os feito por nós, pobre mortais;
  • Lucro. Produtividade implica em mais tempo para testar e/o entregar o software no prazo. E isso implica em cliente mais satisfeito.

Alguns Frameworks:

  • XNA Framework

O XNA Framework faz parte do Microsoft XNA, uma plataforma de desenvolvimento de jogos tanto para PC quanto para o console Xbox 360 da Microsoft. A sigla XNA significa XNA’s Not Acronymed.

O Microsoft XNA é composto pelo seguintes componentes: XNA Game Studio, XNA Framework, XNA Content Pipeline e o XACT (Audio Authoring Tool).

O XNA Framework é baseado no .NET Framework 2.0. Ele inclui uma grande variedade de ferramentas, bibliotecas específicas para o desenvolvimento de jogos para promover o máximo de possibilidade de reuso do código em vária plataformas. Desde que obedeça alguns critérios, os jogos podem ser executados em qualquer plataforma que dê suporte ao XNA Framework com mínimas ou nenhuma alteração.

A linguagem oficial do XNA Framework é o C#, mas pode ser usada qualquer linguagem .NET para o desenvolvimento.

  • ODE

O Open Dynamics Engine (ODE) é uma ferramenta gratuita, com uma biblioteca de qualidade para simular um corpo articulado. Algumas de suas aplicações são simular veículos, criaturas com pernas e objetos em movimento, muito utilizados em jogos. A ODE está sendo desenvolvida por Russel Smith com colaboração de outros desenvolvedores.

  • Guff

O Guff ou Games-uff foi desenvolvido inicialmente para uma tese de mestrado, que se transformou em um framework com uma grande possibilidade de reuso em desenvolvimento de jogos. Foi desenvolvido em C++ com auxilio a diversas outras bibliotecas de modo a haver compatibilidade tanto para o Windows como para o Linux.

Ele é constituído por duas partes principais: a camada da aplicação e um kit de desenvolvimento. Enquanto a camada de desenvolvimento define as interfaces e arquitetura do programa, o kit de desenvolvimento auxilia na criação das classes auxiliares utilizadas no desenvolvimento.

O Guff possibilita a reutilização de bibliotecas já existentes como a OpenGL, GLEW, SDL, boost entre outras, além da gestão automática de todos os recursos.

O Guff é desenvolvido por brasileiros.

  • JFrog

Um projeto brasileiro, inicialmente chamado de Amphibian e agora conhecido como JFrog. Trata-se de um framework desenvolvido para criação de game engines multiplataformas. Iniciado também como uma tese de mestrado.

  • Crystal Space

Desenvolvido por Jorrit Tyberghein e outros colaboradores, foi escrito em C++, é um framework para desenvolvimento de aplicações em 3D. Ele é utilizado como ferramenta para construção de jogos, mas o framework não é tão específico, podendo ser utilizado em qualquer aplicação 3D.

O sistema é gratuito e bastante portável e roda no Windows, Linux, Mac OS e UNIX.

É um sistema desenvolvido modularmente, com diversos pluggins praticamente independentes. As aplicações utilizam esses pluggins com o auxílio de algumas funções do framework.


Conclusão

Conclusão

Depois da pesquisa para o trabalho é possível concluir que o Framework é uma ferramenta livre que permite a construção de jogos (permite que jogos sejam criados com tecnologia livre e possam executar inclusive sob plataformas móveis) e a partir destes criar diferentes novos títulos que poderão ser comercializados ou utilizados nas escolas.

É importante destacar que mesmo sendo o objetivo principal da pesquisa - Framework para construção de jogos - outras aplicações multimídia podem ser criadas a partir do framework, tais como simuladores gráficos e softwares de visualização científica. Destacando que estas podem ser integradas em navegadores Web e poderão executar em dispositivos móveis, incluindo handhelds e telefones celulares.

Framework também se utiliza de bibliotecas já existentes (usam bastante a técnica de reutilização de código), além de interagir com elas.


Referências:

http://pt.wikipedia.org/wiki/Framework
http://pt.wikipedia.org/wiki/Microsoft_XNA
http://en.wikipedia.org/wiki/Microsoft_XNA
http://www.sharpgames.net/Artigos/Objetivos+do+XNA+Framework.xna
http://opende.sourceforge.net/wiki/index.php/Main_Page
http://guff.tigris.org
http://en.wikipedia.org/wiki/Crystal_Space
http://www.inf.pucrs.br/~jricardo/jfrog/index.html

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License