1. Experiência Inicial com a engine SDL
SDL é uma biblioteca de desenvolvimento multimídia e multiplataforma
que fornece uma interface simples para gráficos/sons (e que possibilita a
escrita de games). Manipula e possui acesso a áudio, teclado, mouse, joystick,
entre outros recursos; além de possuir várias bibliotecas de extensão para
funcionar em conjunto e obter melhorias. Inicialmente a biblioteca foi
escrita em C, mas atualmente funciona com C++ e possui ligações com Python e
C# [3].
No primeiro momento, a
equipe [4] - até então formada por Adriane Gomes, Aline Torres, Victor Hugo e
Jonathan Douglas – dedicou-se ao estudo do conteúdo indicado pelo professor
Alisson Rodrigo dos Santos. O material consistia em minicursos [5] com abrangência
inicial e tutoriais de instalação da Biblioteca [6]. Com a finalização do estudo a
equipe obteve uma boa noção do que se tratava a engine. O próximo passo era a instalação - que para os estudantes
foi realmente um “bicho de sete cabeças”.
Com o avanço dessa
etapa - instalação finalizada nos computadores dos integrantes do GPJE-CC, os
alunos Adriane Gomes, Aline Torres e Jonathan Douglas criaram uma apresentação
contendo uma introdução a cerca da SLD e um tutorial bem simples de sua
instalação (disponibilizado para os alunos da turma de Informática do 2° ano) [7].
2. O primeiro uso da SDL - o Jogo Squash
Jogos eletrônicos são de grande importância para pessoas que são iniciantes na programação. E, como sabemos, esses produtos atualmente vem dominando o mercado de entretenimento e estão sendo vistos como oportunidade de trabalho.
Jogos eletrônicos são de grande importância para pessoas que são iniciantes na programação. E, como sabemos, esses produtos atualmente vem dominando o mercado de entretenimento e estão sendo vistos como oportunidade de trabalho.
“O Brasil é o país onde o mercado de jogos eletrônicos mais cresceu em 2012. As vendas movimentaram R$ 1,6 bilhão, crescimento de 60% em relação a 2011. Além disso, o país é o quarto maior consumidor de jogos do mundo. Com esse mercado, as previsões para quem trabalha na área também são animadoras.”, em artigo do site << http://g1.globo.com/jornal-hoje/noticia/2013/07/mercado-de-jogos-eletronicos-cresce-no-brasil-e-gera-empregos-na-area.html >>.
Nesse contexto, o professor Alisson Rodrigo dos Santos passou como tarefa para os alunos de Informática do 2º ano do Campus Contagem a programação simplificada do Jogo Squash [8]. Com foco no uso da programação orientada a objetos juntamente com o uso da biblioteca SDL – que facilitou o uso de imagens, sons e interação com usuário. Por parte dos alunos foi necessário o conhecimento de classes, objetos e inclusão e uso de bibliotecas. O jogo consistia em uma barra de controle para o usuário, uma bolinha e duas mensagens:
No primeiro momento, a
ideia de programar um game pareceu um tanto quanto assustadora para mim – até
então acostumada com telas pretas que requisitavam dados do usuário através do elemento scanf(). Porém, apesar da inquietação inicial, o trabalho visava o pleno
desempenho dos alunos no uso dos conceitos tratados em sala de aula.![]() |
Fonte: Arquivo Pessoal
|
De forma geral, as
maiores dificuldade dos alunos ao longo do trabalho consistiram na instalação
da engine, na criação do algoritmo inicial – uma vez que não estavam
acostumados a pensar na lógica básica de um jogo - e na orientação a objetos.
Para a realização do
trabalho os grupos envolvidos tiveram a necessidade de pesquisar e utilizar as
dicas de programação sugeridas pelo professor e trocar informações entre colegas
de classe – o que facilitou a interação dos estudantes -, além de utilização de
tutoriais disponíveis na internet e tempo extraclasse.
Cada grupo criou e
utilizou uma estratégia de programação diferente: algumas equipes decidiram inicialmente instalar as bibliotecas de extensão (SDL_Image, SDL_ttf e SDL_Mixer), enquanto
outras as foram instalando de acordo com a necessidade do jogo.
Os códigos gerados
pelos estudantes para este trabalho foram escritos no compilador Code::Blocks.
E outra ferramenta utilizada por todos e essencial na criação do jogo foram os tutorias
(organizados em Lições, com explicações claras e fornecimento de um código
fonte) fornecidos pelo site Lazzy Foo' Productions, com o objetivo de auxiliar os
programadores a iniciarem programação de jogos. São tutorias simples que
utilizam a mesma linguagem de programação utilizada na grade curricular do CEFET-MG, C++ -
também considerada a linguagem de programação padrão da indústria dos games.
“O site Lazzy Foo me auxiliou bastante, já que possui dificuldades – em um primeiro momento - de encontrar na internet a documentação da Biblioteca SDL”, diz o estudante Jonathan Douglas.
No geral, apesar das
dificuldades, os alunos tiveram a capacidade de concluir a tarefa e eu, como
aluna e participante do projeto, posso assegurar a satisfação em ver os games prontos
e o avanço do conhecimento em programação da turma.
3. O segundo projeto SDL - recriação Atari“Aprendi bastante nesta primeira experiência real de criar um jogo, além de aprofundar meus conhecimentos em programação orientada objeto – que é a base da indústria dos jogos”, relata Júlia Catarina.
Ainda nesta temática – de utilizar a Biblioteca SDL e com foco em programação orientada a objetos, o professor Alisson Rodrigo apresentou outro projeto aos alunos: “TP-ATARI – RECRIAÇÃO DE UM TÍTULO ATARI” [9]. O programa criado deveria consistir em uma recriação de um título do antigo console de vídeo games Atari, ou outro console mais novo.
“A Atari, Inc. é uma das mais antigas empresas de produtos eletrônicos, sendo considerada por muitos, uma das grandes responsáveis pela popularização dos videogames. A empresa é muito conhecida pelos títulos arcade, contudo, alguns jogos recentes também contam com muitos fãs, como o caso da franquia Driver, Dragon Ball Z e RollerCoaster Tycoon.” (em artigo no site techtudo.com.br)
Ao meu ver, foi vantajosa a liberdade fornecida na escolha do jogo a ser recriado, uma vez que tornou a atividade mais prazerosa.
Por se tratar do segundo projeto com a engine, foi notável as facilidades encontradas como a experiência: melhor adaptação do loop do jogo, a instalação das bibliotecas de extensão já estarem concluídas, melhor noção de onde buscar informações e tutorias para a realização da atividade.
Foi perceptível que as dificuldades ficaram concentradas ainda na programação já que, com o passar do tempo o professor vem nos ensinando mais conteúdos e dificultando as tarefas. Cada equipe teve uma dificuldade especifica, pois eram games diferentes. Mas no geral eram em organizar estruturas de dados, utilizar diversos formatos de mídia, montar a interface gráfica voltada para o usuário, colisão e passagens por parâmetro.
Na entrega, além do código fonte e relatório - que descrevia o processo de desenvolvimento, o professor requisitou a criação do instalador do jogo. Que foi uma forma de facilitar a divulgação do nosso trabalho, em fóruns, para amigos, entre outros...
Apesar da dificuldade e estranhamento inicial, enfrentados por todos, estas tarefas foram muito produtivas. Os jogos são um dos maiores exemplos de aplicação da programação, e mais presente na vida dos jovens também. Foi interessante ter uma noção básica de como é o desenvolvido um software tão utilizado para a nossa diversão e lazer.
Comparativo entre o jogo Skiing e sua recriação, desenvolvida pelos alunos Victor Theles e Agnes Rabelo:
"Para mim foi muito importante este trabalho escolar, uma vez que tenho bastante interesse na área, pois confirmou que esse é o rumo que pretendo seguir. Além de ser a confirmação que com o meu conhecimento atual a cerca de programação tenho capacidade de criar jogos eletrônicos", diz Jonathan Douglas.
Instaladores dos Jogos criados pela turma de Informática, 2º série, Centro Federal de Educação Tecnológica de Minas Gerais, Campus XI (CEFET-MG):
REFERÊNCIAS CONSULTADAS:
[1] Projeto. Disponível em: <http://gpjecc.blogspot.com.br/p/blog-page_9368.html>
[2] SDL - Simple DirectMedia Layer. Disponível em: <http://www.libsdl.org/>
[3] Documentação Wiki - Simple DirectMedia Layer. Disponível em: <http://wiki.libsdl.org/FrontPage>
[4] Equipe. Disponível em: <http://gpjecc.blogspot.com.br/p/blog-page_7113.html>
[5] RGB, Diogo. Portal C++. Disponível em: <http://diogorbg.blogspot.com.br/2008/04/mini-curso-programao-de-jogos-2d-com.html>
[6] Lazy Foo' Productions. Disponível em: <http://lazyfoo.net/SDL_tutorials/>
[7] Tutorial de instalação e uso da SDL. Rodrigo, Alisson. Disponível em: <http://gpjecc.blogspot.com.br/2013/08/tutorial-de-instalacao-e-uso-da-sdl.html>
[8] Rodrigo, Alisson. Especificação - Jogo Squash com SDL. Disponível em: <http://gpjecc.blogspot.com.br/2013/08/especificacao-jogo-squash-com-sdl.html>
[9] Rodrigo, Alisson. TP-ATARI - Recriação de um título do ATARI. Disponível em: <https://dl.dropboxusercontent.com/u/54995170/TP-Atari.pdf>
0 Comentários