Вы находитесь на странице: 1из 7

Revista TECCEN – Edição Especial – volume 2 – número 1 - março de 2009 –

ISSN 1984-0993

Ambiente Visual para o Desenvolvimento de Jogos


Eletrônicos
Diego Cordeiro Barboza1, Júlio César da Silva2
1
UNIFESO, Centro de Ciências e Tecnologia, Curso de Ciência da
Computação, diego.cbarboza@gmail.com
2
UNIFESO, Centro de Ciências e Tecnologia, Curso de Ciência da
Computação; PUC-Rio, Departamento de Engenharia Civil,
jcesarop@gmail.com
Resumo. Este artigo apresenta o desenvolvimento de um software para auxílio
ao desenvolvimento de jogos eletrônicos, no qual é possível definir a lógica do
jogo utilizando apenas componentes gráficos reutilizáveis, sem necessidade de
codificação. O trabalho trata do desenvolvimento de um wrapper para a
biblioteca gráfica utilizada, um framework para o desenvolvimento de jogos
em geral e a ferramenta gráfica em si em conjunto com um gerador de código
responsável por traduzir as ações do usuário em código-fonte em uma
linguagem de programação.

1 Introdução
Há um crescente interesse pelo desenvolvimento de jogos eletrônicos, tanto no mercado
quanto no meio acadêmico.
A indústria de jogos eletrônicos tem obtido lucros cada vez maiores nos últimos
anos, atingindo cerca de US$ 9,5 bilhões somente nos Estados Unidos no ano de 2007
[WIKIPEDIA 2009]. Estes jogos são desenvolvidos para diversas plataformas, entre
elas aparelhos de videogame domésticos, dispositivos móveis, aparelhos celulares e
computadores pessoais.
Além dos jogos comerciais, vendidos em lojas ou por serviços de venda digital,
existem outras modalidades como advergames, voltados à publicidade de marcas e
produtos; business games, desenvolvidos para o treinamento e aprendizado; e casual
games, jogos menores, mais simples e com uma menor curva de aprendizado.
No meio acadêmico, os jogos eletrônicos são utilizados como ferramentas
educativas e o processo de desenvolvimento pode ser aplicado em diversas disciplinas
de cursos de Ciência da Computação e similares. O desenvolvimento de jogos pode ser
utilizado para exemplificar conceitos de engenharia de software, matemática, física,
computação gráfica, programação, inteligência artificial, comunicação em redes, entre
outros.
Nos últimos anos houve um considerável aumento na quantidade de cursos
voltados ao desenvolvimento de jogos eletrônicos no Brasil, distribuídos entre cursos de
graduação, pós-graduação, cursos livres, de extensão e especialização [ABRAGAMES
2008]. Existem também eventos, como o SBGames [SBGAMES 2008], voltados à
promoção da área no meio acadêmico.
O desenvolvimento de jogos não é, no entanto, uma tarefa trivial. Há uma alta
complexidade relacionada à elaboração de conteúdo e estilo do jogo, criação de enredos,
escolha e desenvolvimento de tecnologias, criação de interfaces etc. Na área de
programação, um desenvolvedor iniciante pode encontrar dificuldades em escrever
códigos para manipulação de recursos, testes de colisão, gerenciamento de memória e

2
Revista TECCEN – Edição Especial – volume 2 – número 1 - março de 2009 –
ISSN 1984-0993
diversas outras tarefas comuns ao desenvolvimento de jogos. E mesmo um
programador experiente está sujeito a erros de codificação, que podem ser difíceis e
custosos de se identificar e corrigir.
Este trabalho tem como objetivo apresentar uma ferramenta que possibilite o
desenvolvimento de jogos eletrônicos utilizando-se de um ambiente gráfico, onde o
usuário possa definir a lógica do jogo através de componentes visuais, sem necessidade
de codificação. A ferramenta, chamada Visual Game, propicia um maior nível de
abstração no desenvolvimento, ainda que reduza a liberdade do desenvolvedor, que
passa a estar limitado pelos recursos oferecidos pelo ambiente.

2 Ambiente Visual
O Visual Game é um ambiente que tem por finalidade simplificar o desenvolvimento de
jogos, tornando o processo mais acessível através da utilização de componentes visuais
e da geração de código-fonte automática. Desta forma, o usuário tem que se preocupar
somente com a lógica do jogo, deixando de lado questões relacionadas à sintaxe da
linguagem de programação e ao gerenciamento de recursos e memória.
Este ambiente tem como público alvo:
• Professores - que podem utilizá-lo como ferramenta de auxílio no ensino de
desenvolvimento de jogos e lógica de programação;
• Estudantes - que podem direcionar o estudo para questões específicas e deixar a
codificação de lado momentaneamente;
• Desenvolvedores de um modo geral - que podem utilizar o ambiente para
desenvolver jogos completos, se beneficiando da maior abstração, ou protótipos
que podem ser finalizados posteriormente, graças à possibilidade de exportar o
código-fonte gerado automaticamente pela ferramenta.
O desenvolvimento do Visual Game foi feito com a linguagem de programação
C# e o ambiente Microsoft.Net [WIHLIDAL 2006], em conjunto com as bibliotecas
Allegro (para a parte gráfica) e IrrKlang (para os efeitos sonoros).
O ambiente visual é a parte central do projeto. Nele são construídos os jogos que
posteriormente têm seu código-fonte gerado automaticamente por um componente do
ambiente. Este código é gerado de acordo com uma estrutura definida no Visual Game
Framework, um framework voltado para o desenvolvimento de jogos em geral, que se
utiliza do Allegro e do IrrKlang para desenhar os gráficos do jogo, tocar efeitos sonoros
e tratar entradas do usuário, através do mouse e teclado.
O código-fonte do jogo é compilado através do MSBuild, um utilitário que
facilita a compilação de projetos na plataforma .Net e acompanha o ambiente de
execução desta plataforma, de forma que um software adicional para a compilação não é
necessário. Uma vez que o código-fonte é gerado no ambiente, ele é repassado ao
MSBuild que chama o compilador equivalente (neste caso o C# Compiler) e o arquivo
executável é gerado, conforme a Figura 1, que mostra a integração dos componentes do
sistema.

3
Revista TECCEN – Edição Especial – volume 2 – número 1 - março de 2009 –
ISSN 1984-0993

Figura 1 - Estrutura dos componentes do trabalho.

2.1 Allegro.Net
O Allegro.Net é uma versão da biblioteca gráfica Allegro [ALLEGRO 2009]
desenvolvida como parte deste trabalho para possibilitar que esta biblioteca possa ser
empregada no ambiente .Net. O desenvolvimento foi feito utilizando um serviço do
.Net, o Platform Invocation Service, que permite ao código gerenciado escrito em uma
linguagem como o C#, por exemplo, acessar o código nativo de uma biblioteca escrita
em C, como é o caso do Allegro.

2.2 Visual Game Framework


Para a construção de jogos com o ambiente, foi desenvolvido um framework, chamado
Visual Game Framework, que pode ser utilizado para a criação de jogos em geral. Este
framework provê ao desenvolvedor um conjunto de classes para tratar tarefas comuns
no desenvolvimento de jogos, como gerenciamento de recursos e testes de colisão, e um
modelo de aplicação, que representa uma estrutura básica de um jogo completo,
cabendo ao desenvolvedor preencher suas lacunas para criar seus jogos.
O framework é utilizado pelo ambiente no processo de geração do código-fonte
dos jogos. O código é gerado utilizando as classes e métodos do Visual Game
Framework, tornando o processo mais simples e reduzindo a quantidade de código-
fonte que deve ser gerado. Paralelamente, neste código não é necessário definir em
quais pontos os métodos serão invocados, isto é feito de maneira automática pelo
modelo de aplicação do framework, em tempo de execução.

4
Revista TECCEN – Edição Especial – volume 2 – número 1 - março de 2009 –
ISSN 1984-0993
2.3 Visual Game
O Visual Game tem como objetivo possibilitar o desenvolvimento de jogos de maneira
visual, através de uma interface gráfica onde todas as configurações do jogo podem ser
feitas de forma simples e clara.
Com este ambiente, o desenvolvedor pode definir diversas configurações do
jogo, como as dimensões da tela, título da janela, modo de execução em tela cheia, entre
outros. É possível, ainda, carregar e configurar recursos (imagens, efeitos sonoros e
fontes), criar entidades (objetos) e seus eventos (de teclado, mouse e colisão) e ações
(animar o objeto, movê-lo, criar ou destruir instâncias, tocar efeitos sonoros etc.),
montar palcos (formas de dividir o jogo em fases), gerar o código-fonte criado e utilizar
um compilador para criar um arquivo executável.
A Figura 2 mostra a tela de carregamento de imagens, onde é possível selecionar
uma imagem e configurar a quantidade de quadros em que ela se subdivide. A Figura 3
exemplifica a atribuição de um evento de teclado e uma ação de movimento a uma
entidade. Por fim, a Figura 4 exibe a tela de criação de palcos, onde as entidades podem
ser adicionadas ao jogo.

Figura 2 - Tela de carregamento e configuração de imagens.

5
Revista TECCEN – Edição Especial – volume 2 – número 1 - março de 2009 –
ISSN 1984-0993

Figura 3 - Lista de eventos e ações.

Figura 4 - Tela de criação de palcos.


Todas as definições do usuário são traduzidas em classes no momento da
geração do código-fonte. Estas classes herdam das classes definidas no Visual Game
Framework e podem ser de um entre três tipos:
• Entidade - representa um objeto dentro do jogo (o personagem principal, os
inimigos e os itens de bônus, por exemplo);
• Palco - define as partes lógicas do jogo e especifica onde as entidades devem ser
alocadas;
• Jogo - define a lógica central do jogo e é utilizada aqui para iniciar os palcos e
definir as configurações.

6
Revista TECCEN – Edição Especial – volume 2 – número 1 - março de 2009 –
ISSN 1984-0993
Estas classes são armazenadas em um formato XML e posteriormente são
traduzidas em código-fonte na linguagem C# de acordo com um conjunto de regras
definido pelo gerador de código. Assim, o gerador parte de um código estruturado
(Quadro 1) e gera o trecho equivalente em uma linguagem de programação (Quadro 2).

Quadro 1 - Exemplo de evento de teclado.

Quadro 2 - Trecho de código-fonte equivalente ao evento do Quadro 1.


Depois que o código-fonte é gerado, um arquivo de descrição do projeto
(contendo os parâmetros de compilação, os arquivos-fonte e os arquivos de recursos
utilizados no projeto) é gerado e passado ao MSBuild, uma ferramenta que acompanha o
ambiente de execução da plataforma .Net e possibilita a compilação do jogo e geração
do arquivo executável. Alternativamente, este mesmo arquivo pode ser aberto em um
ambiente de desenvolvimento (como o Visual Studio) para que o desenvolvedor possa
fazer eventuais edições no código do jogo.

3 Conclusão
A utilização de ferramentas de desenvolvimento rápido no desenvolvimento de jogos
eletrônicos é uma alternativa viável e torna o processo mais acessível para
desenvolvedores iniciantes e estudantes, ao mesmo tempo em que facilita o trabalho de
profissionais da área, uma vez que a geração automática de código-fonte elimina a
possibilidade de erros de codificação.
A ferramenta proposta neste trabalho permite a criação de jogos completos,
ainda que haja uma perda de liberdade e o desenvolvedor fique limitado às opções
oferecidas pelo ambiente para a criação de seus jogos. Desta forma, é importante que o
ambiente ofereça uma ampla variedade de ferramentas a serem utilizadas durante o
desenvolvimento, de forma a reduzir estas limitações.
O ambiente desenvolvido pode ser aprimorado de várias formas em trabalhos
futuros. Seguem algumas propostas: término das funções propostas e acréscimo
de novas funções dando mais liberdade ao desenvolvedor; possibilidade de exportação e
importação de entidades para aumentar a reutilização; possibilidade de criar relações de
herança entre as entidades criadas nos jogos; opção de criação de ações por parte dos
usuários, a fim de eliminar as restrições do ambiente; e possibilidade de utilização de
scripts em uma linguagem de programação.

Referências Bibliográficas
ABRAGAMES. Cursos de Games no Brasil. [S.L.], 2008. Disponível em:
http://www.abragames.org/docs/cursos_jogos.pdf. Acesso em 29 de janeiro de 2009.

7
Revista TECCEN – Edição Especial – volume 2 – número 1 - março de 2009 –
ISSN 1984-0993
ALLEGRO. ALLEGRO – A Game Programming Library. [S.L.], 2009. Disponível em:
http://alleg.sourceforge.net/. Acesso em 29 de janeiro de 2009.
SBGAMES. SBGames. [S.L.], 2008. Disponível em: http://www.sbc.org.br/sbgames.
Acesso em 29 de janeiro de 2009.
WIHLIDAL, Graham. Game Engine Toolset Development. 1. ed. Boston: Thomson
Course Technology, 2006.
WIKIPEDIA. Video Game Industry. [S.L.], 2009. Disponível em:
http://en.wikipedia.org/wiki/Video_game_industry. Acesso em 29 de janeiro de
2009.

Вам также может понравиться