Os jogos de computadores compreendem desde jogos simples, como o Tetris, até jogos complexos que
exigem aplicações de técnicas de inteligência artificial, como o Doom II.
Apesar de existirem diversas ferramentas que facilitam o desenvolvimento de tais jogos, a escolha da linguagem de programação a ser usada é fundamental. O desenvolvedor deve atentar fatores como recursos oferecidos, nível de fluência que possui na linguagem, facilidade de uso e também, quais linguagens são suportadas pela ferramenta escolhida.
Abaixo é apresentada uma breve descrição de algumas ferramentas de código livre existentes, bem como as linguagens suportadas por cada uma delas:
· OpenGL: Open Graphic Library é uma biblioteca de rotinas gráficas de modelagem, manipulação de objetos e exibição tridimensional que permite a criação de aplicações que usam computação gráfica. Seus recursos permitem criar objetos gráficos, bem como tratar animações, imagens e texturas. Suporta nativamente as seguintes linguagens de programação: Ada, C, C++, Fortran, Python, Perl e Java. É licenciada como Free Software License B;
· SDL: Simple DirectMedia Layer é uma biblioteca multiplataforma criada para prover acesso a dispositivos de áudio, teclado, mouse, joystick e vídeo. Foi desenvolvida na linguagem C, mas suporta também nativamente C++ e, através de ligações (bindings), outras linguagens como Ada, Eiffel, Java, Lua, ML, Perl, PHP, Pike, Python, e Ruby. É licenciada como Lesser General Public Licence;
· ClanLib: É uma biblioteca multiplataforma de código livre desenvolvida em C++, para o desenvolvimento
de jogos. Sua natureza orientada a objetos permite ao usuário programar em alto ou baixo nível, eliminando redundância de código e ainda permitindo a programação de funcionalidades avançadas.
Como exemplo de sua facilidade de uso, pode-se citar a reprodução de som. No código abaixo, simplesmente criando um objeto da classe CL_SoundBuffer (linha 1) e chamando uma função dessa classe (linha 2), é possível reproduzir um arquivo de som:
1 CL_SoundBuffer som("TIRO.wav");
2 som.play();
ClanLib Application: todo e qualquer jogo criado com a ClanLib precisará utilizar a classe CL_ClanApplication, que é responsável por inicializar a biblioteca e a aplicação. Dessa forma, os jogos criados com a ClanLib devem ser derivados dessa classe (linha 1) e redefinir sua função main (linha 3), como no exemplo a seguir:
1 class MeuJogo : public CL_ClanApplication{
2 public:
3 virtual int main(int argc, char **argv){
4 CL_SetupCore::init();
5 // Código do jogo
6 CL_SetupCore::deinit();
7 return 0;}
8 } app;
Na Linha 8, app já é uma instância da classe MeuJogo e as funções init() (linha 4) e deinit() (linha 6) permitem inicializar e finalizar respectivamente os componentes da biblioteca. Isso foi feito no exemplo anterior com a classe CL_SetupCore, que inicializou as classes Core, responsáveis pela entrada/saída.
· Outras Ferramentas: existem ainda diversas outras ferramentas que auxiliam a criação de jogos, como a biblioteca HERMES, para conversão de imagens; a biblioteca OpenAL - Open Audio Library, para manipulação de dispositivos de áudio e a biblioteca ZLIB, para compressão de dados.
Fonte: Tirado do Artigo: "Desenvolvimento de Jogos de Computadores Usando Software Livre",
dos autores: RICARDO DA SILVEIRA COELHO, VLADIMIR OLIVEIRA DI IORIO.
Nenhum comentário:
Postar um comentário