A Revolta da Cabanagem - LaRV

Transcription

A Revolta da Cabanagem - LaRV
UNIVERSIDADE FEDERAL DO PARÁ
INSTITUTO DE TECNOLOGIA
FACULDADE DE ENGENHARIA DA COMPUTAÇÃO
FABRÍCIO CARDOSO DA SILVA
JOGO EDUCATIVO “A REVOLTA DA CABANAGEM” E AS TÉCNICAS DE
GERAÇÃO DOS RECURSOS GRÁFICOS DE SEU AMBIENTE VIRTUAL
BELÉM – PA
2009
i
UNIVERSIDADE FEDERAL DO PARÁ
INSTITUTO DE TECNOLOGIA
FACULDADE DE ENGENHARIA DA COMPUTAÇÃO
FABRÍCIO CARDOSO DA SILVA
JOGO EDUCATIVO “A REVOLTA DA CABANAGEM” E AS TÉCNICAS DE
GERAÇÃO DOS RECURSOS GRÁFICOS DE SEU AMBIENTE VIRTUAL
Trabalho de conclusão de curso apresentado para
obtenção do grau de Engenheiro da Computação,
do Instituto de Tecnologia, da Faculdade de
Engenharia da Computação
BELÉM – PA
2009
ii
JOGO EDUCATIVO “A REVOLTA DA CABANAGEM” E AS TÉCNICAS DE
GERAÇÃO DOS RECURSOS GRÁFICOS DE SEU AMBIENTE VIRTUAL
Este trabalho foi julgado em 01/07/2009 adequado para obtenção do Grau de
Engenheiro da Computação, e aprovado na sua forma final pela banca examinadora que
atribuiu o conceito EXCELENTE.
______________________________
Prof. Dr. Manoel Ribeiro Filho
(Orientador)
Faculdade de Engenharia da Computação
Universidade Federal do Pará
______________________________
Prof. Dr. Agostinho Luiz da Silva Castro
(Membro)
Faculdade de Engenharia da Computação
Universidade Federal do Pará
______________________________
Prof. Dr. Ronaldo de Freitas Zampolo
(Membro)
Faculdade de Engenharia da Computação
Universidade Federal do Pará
______________________________
Prof. Dr. Gervásio P. dos Santos Cavalcante
Diretor da Faculdade de Engenharia da
Computação da Universidade Federal do Pará
Julho/2009
iii
“Ninguém é tão ignorante que não tenha
algo a ensinar; e ninguém é tão sábio que
não tenha nada a aprender.”
Blaise Pascal
iv
Aos meus pais e irmãos, pelo apoio, dedicação
e motivação.
v
AGRADECIMENTOS
Primeiramente, agradeço aos meus familiares, em especial aos meus pais, por todo
o carinho, compreensão, apoio e dedicação dados a mim durante minha vida. A todos os
professores que, direta ou indiretamente, me instruíram durante a minha formação
acadêmica. Agradeço também aos membros do Laboratório de Realidade Virtual
(LaRV), especialmente ao Prof. Manoel Ribeiro, pelo apoio e orientações a mim
concedidas. Por fim, a todos os que demonstraram seu apoio ou fizeram votos pelo
sucesso deste trabalho.
vi
SUMÁRIO
Capítulo 1 – Introdução .............................................................................................. 1
Capítulo 2 – Jogos Eletrônicos.................................................................................... 4
2.1 - Histórico ........................................................................................................ 4
2.2 – Definição de jogos eletrônicos ....................................................................... 7
2.3 – Gêneros de jogos ........................................................................................... 7
2.4 – Jogos como ferramentas de auxílio na educação .......................................... 13
2.5 – Jogos educativos .......................................................................................... 15
2.5.1 – Tríade .................................................................................................. 15
2.5.2 – Revolution ............................................................................................ 15
2.5.3 – Laguna ................................................................................................. 16
2.6 – Jogo educativo “A Revolta da Cabanagem” ................................................. 16
2.6.1 – Fase Pré-revolucionária ...................................................................... 18
2.6.2 – Explosão do conflito armado: Batalha do Acará .................................. 20
2.6.3 – Explosão do conflito armado: Batalha em Belém ................................. 21
Capítulo 3 – Ferramentas ......................................................................................... 23
3.1 – Ogre3D ....................................................................................................... 23
3.2 – Blender ........................................................................................................ 25
3.3 – GIMP .......................................................................................................... 28
Capítulo 4 – Ambiente virtual da cidade de Belém ................................................. 32
4.1 – Objetos estáticos .......................................................................................... 32
4.1.1 – Igreja das Mercês e Arsenal de Guerra ................................................ 32
4.1.2 – Brigue Palhaço .................................................................................... 35
4.2 – Personagens ................................................................................................. 36
4.2.1 – Felipe Patroni e Batista Campos.......................................................... 38
4.2.2 – Lobo de Souza ...................................................................................... 38
4.2.3 – Eduardo Angelim ................................................................................. 39
4.2.4 – Comandante português ........................................................................ 39
vii
4.2.5 – Cabanos e escravos.............................................................................. 40
4.3 – Animações................................................................................................... 40
4.3.1 – Animações básicas ............................................................................... 43
4.3.2 – Animações de eventos do jogo .............................................................. 44
4.4 – Animações pré-renderizadas ........................................................................ 45
4.4.1 – Abertura da escotilha do Brigue Palhaço ............................................. 46
4.4.2 – Saída da fazenda Vila Nova ................................................................. 48
4.4.3 – Vitória dos cabanos na tomada do poder em Belém ............................. 49
4.5 – Terreno........................................................................................................ 50
4.6 – Configuração do ambiente virtual ................................................................ 51
Capítulo 5 – Considerações finais............................................................................. 55
Referências bibliográficas......................................................................................... 57
viii
RESUMO
Este trabalho apresenta técnicas de modelagem e configuração de objetos
tridimensionais aplicadas ao desenvolvimento do ambiente virtual de um jogo
eletrônico sobre a Revolta da Cabanagem, elaborado com o intuito de motivar o
aprendizado de estudantes de Ensino Fundamental e Médio. Será apresentado
inicialmente um estudo sobre jogos eletrônicos, tendo como objetivo introduzir o
assunto de jogos educativos, ressaltando a importância de tais ferramentas no processo
de ensino-aprendizagem, para que, por fim, sejam abordadas as características
principais do projeto deste jogo. Em seguida, serão expostas as ferramentas e os
métodos utilizados no processo de modelagem e mapeamento de texturas, que se
concentram no desenvolvimento de construções históricas e personagens do período
revolucionário, bem como suas respectivas animações, além da criação de vídeos de
animações pré-renderizadas, os quais são mostrados em determinados momentos ao
longo do jogo. Também serão mostradas as técnicas utilizadas na preparação do terreno
e configuração do ambiente do jogo. Por se tratar de um jogo educativo, primou-se pelo
desenvolvimento de um software que também possa ser utilizado em plataformas de
baixo desempenho, de forma a atingir um público maior. Assim, será dada ênfase à
simplificação dos modelos, de forma que o custo computacional demandado pelo
processamento de uma cena seja o menor possível, mas que seja mantida a noção de
realismo do ambiente.
Palavras-chave: Realidade Virtual, Jogos Educativos, Modelagem 3D.
ix
ABSTRACT
This work presents 3D object modeling and configuration techniques applied to
the development of the virtual environment of a computer game about the Cabanagem
Revolt, which intends to motivate the learning process for elementary and high school
students. Firstly, a study about computer games will be addressed, aiming at the matter
of educational games and highlighting their importance in the learning process; then, the
main characteristics of the educational game project proposed by this work will be
presented. In the following sections, the tools and techniques applied to the modeling
and texture mapping process are discussed, with emphasis on the development of
historical buildings and the characters of the revolutionary period, as well as their
corresponding animations and pre-rendered animation sequences, which are shown
during the game. The methods for the terrain and environment configuration of the
game’s virtual city are also presented. Since this work addresses educational game
issues, the text focuses on the development of a software that can be used in low end
computers, in order to achieve a broader public. Therefore, low complexity versions of
the models will be emphasized, so that the computational load demanded by processing
a virtual scene are the lowest possible, while maintaining the notion of reality delivered
by the environment.
Keywords: Virtual Reality, Educational Games, 3D Modeling.
x
LISTA DE FIGURAS
Figura 1.1: Comparação entre uma paisagem real e o ambiente do jogo Crysis ............... 1
Figura 2.1: Tennis for Two .................................................................................................... 4
Figura 2.2: Versão original de Spacewar! ........................................................................... 5
Figura 2.3: Jogos 3D na geração 16-bit ................................................................................ 6
Figura 2.4: Jogos de arcade na década de 1990 ................................................................... 6
Figura 2.5: TimeShift ............................................................................................................. 8
Figura 2.6: New Super Mario Bros ....................................................................................... 9
Figura 2.7: Street Fighter IV ................................................................................................. 9
Figura 2.8: The Legend of Zelda......................................................................................... 10
Figura 2.9: Age of Empires III ............................................................................................ 10
Figura 2.10: Shin Megami Tensei IMAGINE .................................................................... 11
Figura 2.11: Rune Factory Frontier: A Fantasy Harvest Moon ........................................ 11
Figura 2.12: OutRun 2006: Coast 2 Coast .......................................................................... 12
Figura 2.13: Professor Layton and the Curious Village .................................................... 12
Figura 2.14: Big Brain Academy ........................................................................................ 13
Figura 2.15: The Dark Spire ................................................................................................ 14
Figura 2.16: Tríade............................................................................................................... 15
Figura 2.17: Revolution – projeto Games-to-Teach .......................................................... 16
Figura 2.18: Ambientes do jogo Laguna ............................................................................ 16
Figura 2.19: Tela título ........................................................................................................ 17
Figura 2.20: Tela de seleção de missões ............................................................................. 18
Figura 2.21: Inventário apresentando os controles e objetivos ......................................... 18
Figura 2.22: Descrição de landmarks na missão “Conhecer Belém” ............................... 19
Figura 2.23: Felipe Patroni sendo perseguido por um soldado ......................................... 19
Figura 2.24: Batista Campos fugindo da capital em um bote............................................ 20
Figura 2.25: Jogo de estratégia que antecede a fase de batalha ........................................ 21
Figura 2.26: Missão da batalha no Acará ........................................................................... 21
Figura 2.27: Batalha pela tomada do poder na cidade de Belém ...................................... 22
Figura 3.1: Inicialização de uma aplicação em Ogre ......................................................... 24
Figura 3.2: Exemplos de jogos que utilizam Ogre ............................................................. 24
Figura 3.3: Tela de inicialização do Blender 2.49 ............................................................. 26
Figura 3.4: Interface do exportador OgreMeshes............................................................... 27
Figura 3.5: Técnica de mapeamento UV ............................................................................ 28
Figura 3.6: Janela principal do GIMP 2.6........................................................................... 29
Figura 3.7: Correção da imagem utilizando ajuste de perspectiva.................................... 30
Figura 3.8: Encaixe contínuo de texturas desordenadas .................................................... 30
Figura 3.9: Encaixe irregular observado ao deslocar a imagem ....................................... 31
Figura 4.1: Igreja das Mercês e Arsenal de Guerra............................................................ 33
Figura 4.2: Proporções dos prédios reais e modelados ...................................................... 33
Figura 4.3: Texturas da igreja das Mercês e do Arsenal de Guerra .................................. 34
xi
Figura 4.4: Modelo final da igreja das Mercês e do arsenal de guerra ............................. 35
Figura 4.5: Imagem utilizada para a modelagem do brigue Palhaço ................................ 35
Figura 4.6: Modelo final do brigue Palhaço ....................................................................... 36
Figura 4.7: Mapeamento de textura sobre uma face .......................................................... 37
Figura 4.8: Modelos de Felipe Patroni e Batista Campos ................................................. 38
Figura 4.9: Lobo de Souza ................................................................................................... 39
Figura 4.10: Eduardo Angelim ............................................................................................ 39
Figura 4.11: Comandante do exército português ............................................................... 40
Figura 4.12: Cabano e escravo ............................................................................................ 40
Figura 4.13: Preparação do esqueleto para o processo de animação ................................ 41
Figura 4.14: Pintura de peso (Weight Paint) ..................................................................... 42
Figura 4.15: Animação utilizando o Action Editor ............................................................ 43
Figura 4.16: Animações de ataque ...................................................................................... 44
Figura 4.17: Animações de eventos do jogo ...................................................................... 44
Figura 4.18: Interface do Ipo Curve Editor ........................................................................ 46
Figura 4.19: Configuração geral de um Path ...................................................................... 47
Figura 4.20: Animação do Brigue Palhaço ......................................................................... 48
Figura 4.21: Animação na fazenda Vila Nova ................................................................... 49
Figura 4.22: Cena final do jogo da Cabanagem ................................................................. 50
Figura 4.23: Configuração do terreno por meio do script de material .............................. 51
Figura 4.24: Ambiente diurno da cidade de Belém............................................................ 53
Figura 4.25: Ambiente noturno da cidade de Belém ......................................................... 54
xii
LISTA DE ABREVIATURAS
2D – Duas dimensões
3D – Três dimensões
3DS – 3D Studio File Format
API – Application Programming Interface
BMP – Bitmap File
CAVE – Cave Automatic Virtual Environment
DDS – DirectDraw Surface
FPS – First Person Shooter
GIF – Graphics Interchange Format
GIMP – GNU Image Manipulation Program
GPL – General Public License
Ipo – Interpolation
JPG – Joint Photographic Experts Group
MIT – Massachusetts Institute of Technology
NES – Nintendo Entertainment System
NPC – Non-Player Character
OGRE – Object-Oriented Graphics Rendering Engine
PNG – Portable Network Graphics
PSD – Photoshop Document
RGB – Red, Green e Blue (sistema de cores)
RPG – Role Playing Game
SNES – Super Nintendo Entertainment System
TGA – Targa File
TIFF – Tagged Image File Format
VCS – Video Computer System
VRML – Virtual Reality Modeling Language
XCF – Experimental Computing Facility
XML – Extensible Markup Language
1
CAPITULO 1 – INTRODUÇÃO
Videogames estão incluídos entre as mais praticadas formas de entretenimento do
século XXI, apesar de terem suas origens em meados do século anterior a partir de
interações muito simples com poucos elementos exibidos em uma tela. Com o grande e
recente avanço das tecnologias de desenvolvimento desse tipo de software, é possível
reproduzir ambientes virtuais com alto grau de realismo em vários aspectos, como
gráficos, efeitos sonoros e simulações físicas, que o jogador experimenta
simultaneamente e em tempo real enquanto joga.
Um exemplo do nível atingido pela evolução gráfica em jogos é ilustrado na
figura 1.1, do FPS (First Person Shooter, jogo de tiro em primeira pessoa) Crysis,
criado pela desenvolvedora alemã Crytek, em que é feita uma comparação do nível de
detalhamento de cenários reais com ambientes virtuais do game.
(a) Paisagem real
(b) Ambiente virtual
Figura 1.1: Comparação entre uma paisagem real e o ambiente do jogo Crysis.
A princípio, jogos eram rotulados como simples e vazias formas de
entretenimento. Por esta razão, a prática de jogar não era aconselhada por muitos pais,
mas atualmente, vive-se em uma era na qual a tecnologia faz parte da vida do ser
humano em várias áreas, tornando-se natural a utilização de sistemas de computação no
processo de ensino-aprendizagem. Dessa forma, educadores tentam utilizar jogos
eletrônicos como um canal de comunicação com seus alunos, apresentando-os, através
desses softwares educativos, a situações e problemas de diferentes naturezas e de
complexidade variável, estimulando de maneira lúdica um aprendizado natural,
aperfeiçoando as funções cognitivas e a curiosidade do estudante enquanto este busca
uma solução para o que lhe é mostrado.
Esse interesse da comunidade acadêmica em jogos tem crescido fortemente nos
últimos anos, o que pode ser demonstrado pelas múltiplas ocorrências de estudos e
projetos desenvolvidos em universidades de diversos países por equipes integrando
pesquisadores e professores de diferentes áreas, envolvendo jogos em geral [5, 7, 14,
26, 27] ou educativos aplicados ao ensino de matemática [2, 4], química [27], história
[6, 15, 28, 25], programação [23], dentre outras disciplinas.
2
Um fator importante a ser observado quando do desenvolvimento de um jogo é o
que o torna atraente para o seu público-alvo. Entre os elementos que podem torná-lo
atrativo destacam-se o desafio imposto ao jogador, o enredo e a qualidade gráfica, os
quais recebem sólidos investimentos em projetos de grandes empresas de jogos,
também chamadas de softhouses, resultando em um produto final com gráficos e
animações exuberantes e enredos que rendem dezenas, ou mesmo centenas, de horas de
jogo, como as populares séries de RPG Shin Megami Tensei e Final Fantasy,
desenvolvidas pelas japonesas Atlus e Square-Enix.
No entanto, jogos educativos não contam com volume de capital semelhante ao
investido pelas softhouses em seus projetos de caráter comercial. Consequentemente,
utilizar ferramentas de baixo custo, ou mesmo livres, no desenvolvimento de projetos
acadêmicos é a solução mais comum na maioria dos casos. Em geral, softwares
gratuitos possuem um grande número de restrições se comparados a softwares
comerciais que possuem a mesma finalidade.
O jogo da Cabanagem [6] é um projeto que visa o desenvolvimento de um
software educativo para o ensino de história a alunos do ensino médio, para o qual
foram utilizados principalmente softwares livres. Ao longo do jogo, são abordados fatos
como a adesão do Pará à Independência e o surgimento da imprensa no estado, além de
conflitos armados entre cabanos e tropas portuguesas. Esse conteúdo é apresentado de
maneira interativa, em que o jogador assume o controle de personagens da história e
precisa cumprir objetivos que lhe são apresentados, ou através de recursos multimídia,
como imagens e vídeos, que narram os acontecimentos que antecedem ou sucedem cada
fase.
Este trabalho apresentará inicialmente um estudo sobre jogos eletrônicos e a
importância destes como ferramentas educativas. Em seguida, concentrar-se-á na
modelagem de parte do ambiente virtual da cidade de Belém, apresentando alguns
landmarks (construções importantes da cidade) e objetos importantes que compõem o
cenário, dando destaque à criação e animação de personagens do jogo, bem como a
construção das sequências de vídeo pré-renderizadas que são mostradas entre algumas
fases. Por fim, será apresentada a forma final deste ambiente, delineando os principais
recursos utilizados neste processo de configuração.
O capítulo 2 expõe uma base teórica sobre jogos eletrônicos, que abrange um
breve histórico, definição, gêneros de jogos e a importância destes no processo de
ensino-aprendizagem, apresentando o jogo da Cabanagem e alguns trabalhos
relacionados na área de desenvolvimento de jogos educacionais.
No capítulo 3, serão apresentadas as ferramentas utilizadas no desenvolvimento
do jogo, especificamente ferramentas de modelagem, animação e o módulo gráfico do
CabanEngine [19], motor desenvolvido para o jogo da Cabanagem. Os outros módulos
3
componentes do motor estão fora do escopo deste trabalho, portanto, não serão
apresentados.
No capítulo 4, o processo de modelagem de alguns componentes do ambiente
urbano será descrito, apresentando alguns landmarks, os personagens, suas animações e
o processo de síntese das animações pré-renderizadas utilizando o software de
modelagem, além dos métodos de configuração do terreno e do ambiente da cidade,
utilizando recursos de materiais e o módulo gráfico do motor do jogo, respectivamente.
Por fim, no capítulo 5, serão apresentadas as conclusões sobre este trabalho e suas
contribuições para o cenário atual de produção de softwares com fins educacionais.
4
CAPITULO 2 – JOGOS ELETRÔNICOS
Este capítulo será introduzido com um breve histórico dos sistemas de jogos
eletrônicos [10]. Será mostrada em seguida a definição de jogos, os gêneros nos quais
podem ser classificados e alguns estudos que demonstram a importância deles como
forma de entretenimento. Em seguida, serão apresentados projetos de jogos educativos
cuja proposta se assemelha à do objeto deste trabalho. Por fim, será apresentado o jogo
da Cabanagem.
2.1 – HISTÓRICO
Os primeiros jogos interativos datam do final da década de 1940 e início da
década de 1950, a partir de interações rudimentares do usuário com alguns objetos que
eram desenhados na tela. O exemplo mais comum é o jogo Tennis for Two, no qual a
tela de um osciloscópio foi utilizada para jogar uma partida de tênis bastante
simplificada. Foi criado em 1958, no Brookhaven National Laboratory, pelo cientista
William Higinbotham, mostrado na figura 2.1.
Figura 2.1: Tennis for Two.
No entanto, o primeiro jogo considerado influente na história dos videogames foi
desenvolvido em 1961, por um estudante do Massachusetts Institute of Technology
(MIT) chamado Steve Russel. Intitulado Spacewar!, o jogo, mostrado na figura 2.2,
possibilitava que dois adversários humanos controlassem duas naves exibidas
simultaneamente em uma tela com o objetivo de abater o jogador oponente, dando
origem também ao popular gênero shoot ’em up.
5
Figura 2.2: Versão original de Spacewar!
Na década de 1970, começavam a surgir os primeiros sistemas de consoles
domésticos e arcades, os últimos tendo o início de seu auge durante essa década. Em
1971, Nolan Bushnell desenvolveu uma versão de Spacewar! chamada Computer
Space, a qual foi vendida para a empresa Nutting Associates, que produziu e lançou no
mesmo ano a primeira máquina de arcade da história.
Em 1972, Bushnell fundou a empresa Atari, lançando no mesmo ano o jogo Pong,
criado por Allan Alcorn, dando origem à indústria de videogames. No mesmo ano foi
lançado o Magnavox Odyssey, o qual incluía um pequeno conjunto de jogos com
jogabilidade muito semelhante. Em 1977, a Atari lançou seu primeiro console baseado
em cartuchos, o Atari 2600 Video Computer System (VCS), que contava com uma
variação maior em sua biblioteca de jogos. Ao final desta década, muitas novas
empresas já haviam ingressado na indústria de jogos, em especial no desenvolvimento
de arcades. Exemplos de companhias que surgiram nesta época e ainda desenvolvem
jogos para sistemas de gerações atuais são SNK, Namco e Taito.
A década de 1980 foi marcada pelo apogeu da indústria de arcades, com o
surgimento de gráficos (estes até mesmo em 3D, utilizando desenho vetorial em
wireframe) e efeitos sonoros mais sofisticados. Em 1985 e 1986, Nintendo e Sega
lançam seus consoles domésticos da era 8-bit: Nintendo Entertainment System (NES) e
Sega Master System, respectivamente. O desenvolvimento de jogos para computadores
se popularizou com o lançamento de Zork, um jogo de aventura baseado em texto
desenvolvido pela Infocom, que posteriormente perdeu sua popularidade devido ao
lançamento de jogos de aventura gráficos, introduzidos pela empresa Sierra On-Line
(atualmente Sierra Entertainment) através do jogo Mystery House.
Nos anos 90, o amadurecimento da indústria de videogames propiciou o
desenvolvimento de jogos mais complexos e desafiadores. Esse período foi marcado
pela disputa entre Nintendo, Sega e Sony pela maior fatia do mercado global de jogos
para consoles. Os primeiros jogos 3D a utilizarem formas poligonais sólidas foram
desenvolvidos para os consoles de 16-bit, Super Nintendo Entertainment System
(SNES) e Sega Genesis, como Star Fox e Out of This World, mostrados nas figuras 2.3a
e 2.3b. Wolfenstein 3D, desenvolvido pela id Software em 1992, também proporcionou
6
a exploração de um ambiente tridimensional e é considerado o primeiro jogo do popular
gênero de tiro em primeira pessoa (FPS), sendo mostrado na figura 2.3c.
(a) Star Fox
(b) Out of This World
(c)Wolfenstein 3D
Figura 2.3: Jogos 3D na geração 16-bit.
Os sistemas de 32-bit, Sega Saturn, Sony Playstation e o malsucedido 3DO, e o de
64-bit, Nintendo 64, aprimoraram as experiências com gráficos e efeitos sonoros 3D.
Em 1998, enquanto Nintendo e Sony ainda desenvolviam jogos para seus consoles mais
recentes, a Sega lançou o Dreamcast, de 128-bit, que representou um grande avanço nas
tecnologias de jogos, adicionando também recursos de jogabilidade em rede.
Ainda nessa década, jogos de luta se popularizaram bastante em arcades devido ao
grande avanço no hardware desses sistemas, proporcionando melhoras gráficas que
tornaram os títulos mais atraentes, como Street Fighter e Killer Instinct, sendo neste
último utilizada a técnica Motion Capture nas animações dos personagens, que captura
movimentos executados por atores para reprodução através computação gráfica. Além
disso, ocorreu o “amadurecimento” do gênero shoot ’em up, originando os chamados
maniac shooters, como Radiant Silvergun e DoDonPachi, jogos que apresentam uma
quantidade altíssima de projéteis na tela e um nível de desafio bastante alto,
demandando elevado grau de concentração e precisão do jogador. Os jogos Killer
Instinct e Radiant Silvergun são mostrados na figura 2.4.
(a) Killer Instinct 2
(b) Radiant Silvergun
Figura 2.4: Jogos de arcade na década de 1990.
Em 2001, o Dreamcast teve sua produção prematuramente interrompida pela
Sega, devido à grande popularização do concorrente Playstation 2, lançado em 2000 e
7
seguido pelo lançamento do Nintendo Gamecube e do primeiro console da Microsoft,
Xbox, de 32-bit. Com isso, a produção de consoles domésticos da Sega chegou ao fim e
a empresa se dedicou ao desenvolvimento de placas de arcades e softwares para
diferentes plataformas.
A mais recente geração de consoles domésticos é dominada pelos sistemas
Nintendo Wii, Playstation 3 e Xbox 360. O primeiro recebeu grande destaque devido ao
uso de tecnologia de sensores de movimento em seus jogos, tornando possível capturar
e reproduzir as ações do jogador no ambiente virtual. Desenvolveu-se também nesta
geração grande interesse em recursos online, com grande popularização de modos de
jogo em rede e disponibilidade de conteúdo para download, como Web browsers e jogos
de pequeno porte.
2.2 – DEFINIÇÃO DE JOGOS ELETRÔNICOS
Jogos eletrônicos podem ser definidos como sistemas compostos por três partes:
enredo, interface interativa e motor. A associação harmoniosa destes elementos é
necessária para uma aplicação bem sucedida.
O enredo define o tema, a trama, objetivo(s) e o conjunto de ações que devem ser
tomadas pelo jogador para que este chegue ao final do jogo, surgindo a partir de
pesquisas sobre o assunto a ser abordado pelo jogo, da criatividade para adaptar o tema
a um ou mais gêneros e da interação entre profissionais de áreas relacionadas ao tema.
A interface interativa controla a comunicação entre o motor de jogo e o usuário, a
qual se estabelece a partir da atualização das informações disponíveis para o jogador.
Interfaces bem elaboradas proporcionam ao jogador facilidade de compreensão e
usabilidade das informações e funções que lhe são disponibilizadas, tornando a
utilização do software um processo eficiente e satisfatório.
O motor do jogo, ou game engine, é o seu sistema de controle, o componente
responsável pela execução de diversas funcionalidades dentro da aplicação,
especificamente as tarefas de baixo nível, como comunicação com o hardware gráfico,
transformação de modelos, simulações físicas, sonoras e captura e tratamento das
entradas do jogador, informações que um desenvolvedor de jogos não precisa ou tem
desejo de conhecer profundamente para programar um jogo [29].
2.3 – GÊNEROS DE JOGOS
Jogos podem ser classificados em gêneros de acordo com seu estilo de gameplay,
que define a forma pela qual o jogador será capaz de realizar suas ações. No entanto,
muitos jogos incorporam características bastante variadas nas interações do jogador com
o mundo virtual, sendo mais adequado pensar em cada jogo como elemento de um
conjunto de gêneros associados. Nesta seção são apresentados os principais gêneros de
8
jogos e suas definições, tomando como base algumas características convergentes
observadas em diferentes trabalhos [18, 22].
a)
Ação: Um gênero utilizado em uma ampla variedade de jogos, cuja
principal característica é o teste de reflexos e da habilidade manual do jogador
para sobrepor os obstáculos que lhe são impostos. Existe uma variedade de
subgêneros nesta categoria, que podem ser divididos em shooters, plataforma e
luta.
 Shooters são jogos caracterizados pelo controle de veículos ou
personagens portando armas de fogo com ênfase ao combate, em que
o jogador deve avançar por um estágio eliminando seus inimigos,
culminando, na maioria dos casos, em um confronto contra um chefe
que representa o epítome do desafio. Enquadram-se nesta categoria
FPSs, jogos de tiro em terceira pessoa e shoot ’em ups. Exemplos de
tais jogos são Time Shift (mostrado na figura 2.5), Gears of War e
Ikaruga, respectivamente.
Figura 2.5: TimeShift.
 Em jogos de plataforma, o jogador deve explorar um ambiente ou
mundo realizando ações como correr, pular ou escalar estruturas,
completando objetivos e coletando itens que permitam o seu
progresso. Jogos como Mario, mostrado na figura 2.6, Sonic e Mega
Man se encaixam neste subgênero.
9
Figura 2.6: New Super Mario Bros.
 Em jogos de luta, o jogador controla um personagem que entra em
combate contra outro personagem em uma luta equilibrada, como
Street Fighter, mostrado na figura 2.7, ou simultaneamente contra um
conjunto de personagens controlados por computador, chamados NonPlayer Characters (NPC), os quais possuem atributos reduzidos para
dar equilíbrio ao jogo, como Devil May Cry.
Figura 2.7: Street Fighter IV.
b) Aventura: Jogos de aventura, como Myst, colocam o jogador no controle
de um personagem que deve interagir com diversos NPCs e elementos do
cenário, obtendo itens e solucionando desafios e enigmas para dar continuidade
à história, que recebe grande ênfase neste gênero. Alguns jogos abrangem
características do gênero ação, como ênfase ao combate, associadas às do
gênero aventura, sendo chamados Action-Adventure, como a série The Legend
of Zelda, mostrada na figura 2.8.
10
Figura 2.8: The Legend of Zelda
c)
Estratégia: Gênero que envolve o controle de múltiplas unidades para
cumprir determinado objetivo, que, na maioria dos casos, é derrotar um
exército ou conquistar o território inimigo. Jogos de estratégia são divididos em
estratégia em tempo real, como Age of Empires, mostrado na figura 2.9, e
Warcraft III, nos quais o jogador dispõe de um mapa que pode explorar
livremente, ou baseada em turnos, como as séries Advance Wars e Fire
Emblem, em que cada unidade é movida individualmente sobre o mapa, como
ocorre em jogos de tabuleiro.
Figura 2.9: Age of Empires III.
d) RPG: Jogos de RPG evolvem um conjunto de personagens que
interagem entre si e com um mundo bastante complexo, ganhando novas
habilidades e itens à medida que o jogador avança. Uma característica
marcante deste gênero é o desenvolvimento de um enredo rico e detalhado, que
é apresentado ao longo do jogo e, em alguns casos, pode levar a múltiplos
finais, que dependem das ações realizadas pelo jogador. Exemplos de tais jogos
11
são as já mencionadas séries Shin Megami Tensei, ilustrada na figura 2.10, e
Final Fantasy.
Figura 2.10: Shin Megami Tensei IMAGINE.
e)
Simulação: Propõe a experimentação de situações que se aproximem até
certo ponto da realidade. Jogos desse gênero envolvem toda ou parte da
complexidade existente no artefato simulado, como o conjunto de comandos
para partida e operação de uma aeronave e a física do ambiente que a cerca,
que é a proposta do jogo Flight Simulator. Um exemplo menos próximo da
realidade é a série Harvest Moon, ilustrado na figura 2.11, na qual o jogador
controla um personagem que tem como objetivo gerenciar, de forma
simplificada, as tarefas diárias de uma fazenda, como cultivo de vegetais e
criação de animais, além de acumular recursos, através da venda dos produtos
adquiridos na propriedade, para expandir sua casa, comprar novas ferramentas
e desenvolver uma vida social entre os NPCs da cidade.
Figura 2.11: Rune Factory Frontier: A Fantasy Harvest Moon.
f)
Esporte: Envolve um amplo conjunto de jogos de diversas modalidades
esportivas, como futebol, tênis ou automobilismo, não havendo
necessariamente o compromisso com a realidade (como ocorre em jogos de
12
simulação), mas possibilitando que o jogador experimente de maneira lúdica o
esporte abordado pelo jogo e suas características. Pro Evolution Soccer e
OutRun, mostrado na figura 2.12, são exemplos de jogos de futebol e
automobilismo, respectivamente.
Figura 2.12: OutRun 2006: Coast 2 Coast.
g)
Puzzle: Jogos desse gênero desafiam o raciocínio lógico-matemático do
jogador com quebra-cabeças de diversos tipos. Exemplos de jogos deste gênero
são Tetris e Professor Layton, o qual é mostrado na figura 2.13.
Figura 2.13: Professor Layton and the Curious Village.
h)
Educativos: Pode envolver características de qualquer gênero. Contudo,
existe a proposta didático-pedagógica por trás do desenvolvimento, que visa
desenvolver alguma habilidade ou conhecimento específico no jogador. Age of
Empires é um jogo que, apesar da clara ênfase à jogabilidade estratégica,
possui enredo baseado em fatos da história, possuindo certo caráter educativo.
13
Big Brain Academy, mostrado na figura 2.14, também pode ser considerado um
jogo educativo ao utilizar mini-jogos que visam estimular as capacidades do
jogador em diversos aspectos, como raciocínio, memória e identificação,
exibindo ao final de cada sessão de jogo um gráfico que demonstra o
desempenho do jogador em cada característica analisada.
Figura 2.14: Big Brain Academy.
2.4 – JOGOS COMO FERRAMENTAS DE AUXÍLIO NA EDUCAÇÃO
Jogos emergiram como a mais proeminente forma de entretenimento nos últimos
anos. Além do caráter lúdico, estimulam o aprendizado prazeroso do jogador a partir de
experiências “vividas” no ambiente do jogo, sendo mais notável o desenvolvimento de
habilidades como raciocínio estratégico, planejamento, comunicação, aplicação de
números, negociação, tomada de decisões e manipulação de dados [11]. Além dessas
características individuais, jogos em que personagens assumem comportamento prósocial1 podem ter efeito significativo no comportamento pró-social de jogadores de
diferentes faixas etárias na vida real [7].
Essas características tornam jogos importantes ferramentas para o meio
educacional, principalmente por estarem bastante próximos ao público jovem. No
entanto, é importante ressaltar que um jogo educativo não deve se prender somente a
valores pedagógicos e ignorar os aspectos lúdicos que são atraentes aos jogadores: jogos
que carecem de desafios grandes e motivadores ou de enredos ricos e bem elaborados
não despertam o interesse do aluno. Isto acontece na maioria dos casos pelo fato da
equipe de elaboração do jogo ser composta em sua maioria por pedagogos, que veem
como principal finalidade da aplicação os aspectos educativos. Outros fatores
relacionados ao desinteresse em jogos educativos são a inadequação do conteúdo à
1
Em tais jogos, o usuário deve ajudar diversos NPCs que possuem algum tipo problema. Ao realizar esta
tarefa, o jogador recebe uma recompensa que pode ajudá-lo a progredir no jogo.
14
proposta do jogo, baixa qualidade gráfica, pouca usabilidade, funções de jogo limitadas,
mal projetadas e que tendem a se tornar repetitivas. Estas deficiências estão em parte
relacionadas às condições de desenvolvimento, em que a equipe responsável não recebe
investimentos adequados para a produção de um software de grande porte como um
jogo.
Enredos bem elaborados são elementos fundamentais em jogos educativos, pois
alimentam o interesse do jogador pelo conteúdo oferecido e o estimulam a continuar
jogando e, consequentemente, construindo o conhecimento abordado pelo jogo [1]. Este
enredo deve ser apresentado através de desafios e narrativas coerentes, ligados ao
assunto central do jogo, mas não de forma integralmente didática (como em simples
jogos de perguntas e respostas, que tendem a ser desinteressantes).
Para Mukherjee [14], videogames são firmemente baseados em mídias mais
antigas, como filmes e livros, sendo importantes para o desenvolvimento de noções de
textualidade, tecnicidade e identidade no jogador. O autor destaca o valor literário da
narrativa dos jogos em comparação a livros da literatura, em especial nos jogos de RPG,
que é um gênero dotado de um enredo rico e, em alguns casos, fortemente voltado a
narrativas, como o jogo The Dark Spire, mostrado na figura 2.15, que apresenta uma
perspectiva em primeira pessoa e introduz ao jogador os eventos do jogo se baseando
principalmente em narrações e diálogos textuais bastante ricos.
(a) Narrativa
(b) Diálogo
Figura 2.15: The Dark Spire.
Segundo Jenson & Castel [9], a meta principal do educador é engajar os
aprendizes como agentes e arquitetos de sua própria educação. O maior desafio dos
jogos educacionais é oferecer um ambiente imersivo ao usuário, que desperte neste o
interesse de estar, explorar e aprender da mesma forma que em jogos comerciais, por
15
serem softwares extremamente atraentes para crianças e jovens, apesar de considerados
sem valor educacional pela sociedade. Jogos educativos devem, portanto, buscar a trilha
de sucesso de jogos comerciais, que se deve principalmente pelo fato destes
apresentarem controles e interface avançados, imersão e exploração aprimorados em um
mundo virtual vasto e complexo.
2.5 – JOGOS EDUCATIVOS
Nesta seção serão apresentados alguns projetos relacionados ao objeto deste
trabalho, com suas características descritas sucintamente. Trata-se de jogos educativos
desenvolvidos com o intuito de auxiliar o ensino de história nos níveis fundamental e
médio. Na seção seguinte, o projeto do jogo da Cabanagem será apresentado,
delineando algumas características do contexto histórico e das fases que o compõem.
2.5.1 – Tríade
A proposta do jogo Tríade [25], mostrado na figura 2.16, é o ensino dos eventos
da Revolução Francesa, ocorrida no século XVIII. O jogador deve assumir o controle da
jovem Jeanne de Vallois e tem a opção de percorrer a história de duas formas diferentes:
vingando a morte do pai de Jeanne ou aderindo aos ideais revolucionários que ele
seguia. Esta característica confere ao jogo um caráter de RPG, o qual é desenvolvido
utilizando o motor de jogo Torque Game Engine, projetado principalmente para o
desenvolvimento de jogos de ação.
Figura 2.16: Tríade.
2.5.2 – Revolution
Parte do projeto Games-to-Teach, que propunha o desenvolvimento de uma série
de jogos com caráter educativo, Revolution [21] visava o desenvolvimento de um jogo
3D do tipo Massive Multiplayer Online (MMO), que agrega diversos jogadores no
mesmo ambiente virtual e permite que estes possam cumprir tarefas em grupo ou
16
interagir uns com os outros, tendo como tema central a Revolução Americana de 1776.
O jogo, mostrado na figura 2.17, foi desenvolvido utilizando o motor comercial
Neverwinter Nights Engine, projetado para o desenvolvimento de jogos do gênero RPG.
Figura 2.17: Revolution – projeto Games-to-Teach.
2.5.3 – Laguna
Laguna [15] tem como objetivo narrar os acontecimentos da Guerra do Paraguai,
sendo sua primeira etapa referente ao episódio conhecido como retirada de Laguna. O
jogo possui características do gênero aventura e é desenvolvido utilizando o Blender
Engine, motor incluso no software livre de modelagem Blender, que se baseia na
linguagem Python. Cenários do jogo são mostrados na figura 2.18, ilustrando a vila
onde o jogador inicia e uma das tribos que deve ser visitada.
Figura 2.18: Ambientes do jogo Laguna.
2.6 – Jogo educativo “A Revolta da Cabanagem”
Jogo educativo que narra os principais acontecimentos do movimento da
Cabanagem, ocorrido no século XIX, especificamente entre 1835 e 1840, em diferentes
fases e níveis de dificuldade, englobando os gêneros aventura, ação e estratégia, tendo
como principais ambientes a cidade de Belém e a região do Acará, no interior do estado,
os quais são totalmente tridimensionais e permitem livre navegação do usuário. O
projeto se originou através da chamada pública MCT/FINEP/MEC – Jogos Eletrônicos
17
Educacionais 02/2006, aprovado sob o título “Jogo Lúdico Educacional de Estratégia: A
Revolta da Cabanagem”.
O movimento cabano se originou a partir das pregações do Frei Luiz Zagalo sobre
liberdade. Zagalo foi expulso do Pará em 1817. Felipe Alberto Patroni (1748-1866) e
João Batista Gonçalves Campos (1782-1834) acolheram as idéias do frei e se tornaram
os personagens-chave do movimento [20].
Felipe Patroni, nascido na cidade do Acará, estudava direito em Portugal, mas
retornou ao Pará para lutar pelo reconhecimento da independência do estado. Realizou
pronunciamentos, discursos e fundou o primeiro jornal do Pará, criticando duramente o
governo português, que o perseguiu e prendeu. Depois de solto, Patroni abandona a
causa paraense e retorna à Portugal para continuar seus estudos, morrendo em 1866.
Batista Campos deu continuidade às publicações do jornal fundado por Felipe
Patroni. Também perseguido pelos portugueses, foi obrigado a fugir para o interior do
estado. A partir de então, intensificaram-se as ações violentas dos cabanos. Em 1834,
Batista Campos morre devido a um ferimento infeccionado. Uma semana após a sua
morte, os cabanos invadem e tomam o controle da capital paraense.
O jogo inicia com a exibição da tela título, mostrada na figura 2.19, de onde o
jogador pode escolher se deseja começar a campanha, visualizar os créditos ou o
conteúdo extra adicionado ao jogo, como a primeira edição do jornal O Paraense ou as
referências utilizadas durante o desenvolvimento.
Figura 2.19: Tela título.
Selecionando o modo campanha, é exibida a tela de seleção de missões, mostrada
na figura 2.20, a qual exibe no lado esquerdo um menu com as missões disponíveis e
outro para seleção de dificuldade (não disponível para a primeira missão) e no lado
direito um mapa que representa o contexto da missão atual e uma janela de texto com a
descrição da situação.
18
Figura 2.20: Tela de seleção de missões.
Há um total de três fases, divididas em cinco missões que abrangem estilos de
jogos diferentes. Antes de cada missão, é apresentado ao jogador um inventário, como
na figura 2.21, que indica os objetivos a serem cumpridos durante a missão, além das
teclas de controle do personagem. A localização de cada objetivo é mostrada em um
mini-mapa no canto superior direito da tela, que também ilustra a direção em que o
jogador se move. A seguir, é feita uma breve descrição de cada fase.
Figura 2.21: Inventário apresentando os controles e objetivos.
2.6.1 – Fase Pré-Revolucionária
A primeira fase tem como palco a capital paraense e é dividida em três estágios ou
subfases, intituladas “Conhecer Belém”, “Fundar o jornal ‘O Paraense’” e “Batista
Campos”, as quais abordam as ações dos primeiros líderes da Cabanagem nos
momentos que antecedem o conflito armado.
A primeira subfase é iniciada com um vídeo que expõe algumas informações
sobre Felipe Patroni, personagem controlado nesta missão, enquanto realiza um passeio
19
pela cidade de Belém. Ao iniciar o jogo, o usuário deve navegar pela capital e, enquanto
se adapta aos controles básicos do jogo, conhecer prédios históricos importantes
(landmarks), como o antigo Palácio do Governo (atualmente chamado Palácio Lauro
Sodré), o Hospital Real Militar (atual Casa das Onze Janelas) e o Arsenal de Guerra, os
quais são apresentados através de descrições textuais, conforme mostra a figura 2.22, e
narrações faladas.
Figura 2.22: Descrição de landmarks na missão “Conhecer Belém”.
No segundo estágio, o jogador assume novamente o controle de Felipe Patroni,
mas desta vez, há vários soldados em patrulha, que devem ser evitados para que se
obtenha sucesso na missão, caso contrário, o jogador será perseguido pelo soldado que o
detectar, conforme ilustrado na figura 2.23. Os objetivos deste estágio estão
relacionados ao surgimento da imprensa no Pará: Patroni deve obter uma máquina
tipográfica, tinta e papel para, enfim, poder fundar o jornal O Paraense. O objetivo final
da missão é entregar o primeiro exemplar do periódico a Batista Campos.
Figura 2.23: Felipe Patroni sendo perseguido por um soldado.
O estágio final da fase pré-revolucionária representa a fuga de Batista Campos
para o interior do estado devido à perseguição do governo português. O objetivo do
20
jogador é seguir para um determinado local da cidade para tomar um bote que
possibilite sua fuga. Novamente, soldados estarão em patrulha para evitar o progresso
do jogador e atacarão Batista Campos quando este estiver próximo: a missão falha se
Batista Campos receber muitos ataques dos soldados. Alcançando o sucesso nesta
missão, a fase pré-revolucionária chega ao fim. O ato da fuga de Batista Campos é
mostrado na figura 2.24.
Figura 2.24: Batista Campos fugindo da capital em um bote.
2.6.2 – Explosão do Conflito Armado: Batalha do Acará
Terminada a fase pré-revolucionária, é abordado o início ao conflito armado entre
cabanos e portugueses, iniciado em outubro de 1834, com o ataque por um grupo
cabano, liderado por Eduardo Angelim e Antônio Vinagre, a uma tropa de 30 soldados
portugueses, acampados na fazenda Vila Nova, sob o comando de José Maria Nabuco
de Araújo, que havia sido enviado pelo governador Lobo de Souza para prender o
jornalista Lavor Papagaio na fazenda Acará-açu.
Na segunda fase, a batalha do Acará, o usuário controla inicialmente dois
personagens em duas localidades distintas: Félix Clemente Malcher, na fazenda Acaráaçu, e Antônio Vinagre, no sítio Santa Cruz. Deve ser alternado o controle dos
personagens para gerenciar a aquisição de recursos em suas respectivas fazendas,
preenchendo um contador que determina a possibilidade de “chamar” Eduardo
Angelim, para que possa ser iniciado o primeiro ataque. O desafio consiste em acumular
recursos suficientes para o ataque dentro de um limite de tempo, caso contrário, o
jogador é atacado pelas tropas portuguesas e falha a missão. Uma cena deste estágio é
mostrada a figura 2.25.
21
Figura 2.25: Jogo de estratégia que antecede a fase de batalha.
Em uma segunda parte, o jogador controla Eduardo Angelim e deve comandar o
ataque cabano ao acampamento português. Inicialmente é apresentada a tela de seleção
de unidades de ataque, mostrada na figura 2.26a, em que o jogador seleciona os grupos
de cabanos e suas posições iniciais no mapa da batalha. Após a queda de alguns
soldados portugueses, o comandante José Maria Nabuco de Araújo se junta à batalha e
deve ser eliminado pelo jogador para que a missão possa ser cumprida, como mostra a
figura 2.26b.
(a) Tela de seleção de unidades
(b) Ataque ao comandante
Figura 2.26: Missão da batalha no Acará.
3.6.3 – Explosão do conflito armado: Batalha em Belém
A fase final representa a batalha pela tomada do poder na cidade de Belém. O
jogador, no controle de Angelim, deve liderar um grupo de cabanos no ataque aos
Quartéis, Arsenal de Guerra, Forte do Castelo e o Palácio do Governo, culminando com
a morte do governador Lobo de Souza, o Malhado (assim chamado devido a uma mecha
de cabelo que possuía uma coloração diferente), nas escadarias dos fundos do palácio. O
jogador inicia a missão em uma região afastada da cidade, próximo ao mosteiro São
José Liberto, e deve percorrer a cidade, agora com ambientação noturna, e eliminar
22
tropas portuguesas guarnecidas nas localidades do ataque que são indicadas no minimapa. Uma cena da batalha é mostrada na figura 2.27. Caso o jogador obtenha sucesso
na missão, um vídeo de encerramento mostra os cabanos comemorando a vitória em
frente ao palácio, sendo então anunciado o fim do jogo.
Figura 2.27: Batalha pela tomada do poder na cidade de Belém.
23
CAPÍTULO 3 – FERRAMENTAS
Este capítulo propõe uma descrição detalhada das ferramentas utilizadas no
processo de desenvolvimento do ambiente virtual, dos personagens, das animações e
dos vídeos utilizados no jogo A Revolta da Cabanagem, sendo automaticamente
expostas as razões que levaram a equipe de desenvolvimento a realizar tais escolhas.
A seleção das ferramentas utilizadas em um projeto de software, seja de pequeno
ou grande porte, é uma etapa que deve ser executada com cautela, pois é fundamental
para o sucesso do produto final. É importante ter conhecimento a priori de todos os
requisitos e metodologias que serão aplicados durante o desenvolvimento, pois a
alteração de algum destes fatores pode demandar, por exemplo, recursos indisponíveis
em alguma ferramenta que já esteja em uso, sendo necessária a sua substituição,
causando indesejáveis atrasos ao processo, já que será necessária uma adaptação da
equipe de desenvolvimento à ferramenta e desta ao contexto do projeto.
Entre os critérios mais importantes, destacam-se custo, usabilidade, portabilidade,
compatibilidade e tendências (como a continuidade de atualizações) da ferramenta.
Caso o projeto não disponha de capital vultoso, é interessante considerar a utilização de
ferramentas livres, gratuitas ou distribuídas sob licença GPL (General Public License)
[8], que permite livre distribuição de cópias sem infringir direitos autorais. Em termos
de usabilidade, avalia-se o esforço necessário para tornar a equipe apta a utilizar
efetivamente a ferramenta, observando a disponibilidade de documentação, como
manual e tutoriais, e suporte dos desenvolvedores ou de comunidades de usuários, além
do tempo previsto para a conclusão do projeto. Questões de portabilidade devem
considerar as plataformas para as quais o software se destina, avaliando a complexidade
das alterações necessárias para adequá-lo a uma nova plataforma. Caso uma ferramenta
esteja em desuso ou não conte com suporte e atualizações frequentes, sua escolha
também poderá ser prejudicial ao projeto.
As ferramentas que serão apresentadas nesta seção foram utilizadas na
composição gráfica do jogo. São os softwares livres Blender (utilizado na criação e
animação dos modelos), GIMP (GNU Image Manipulation Program – utilizado para a
edição de imagens e texturas) e o módulo gráfico do CabanEngine, o qual é baseado no
Object-Oriented Graphics Rendering Engine (OGRE 3D), motor de renderização
gráfica 3D.
3.1 – Ogre3D
Ogre3D [16], ou simplesmente Ogre, constitui o módulo gráfico do motor
CabanEngine, oferecendo uma API (Application Programming Interface) para
24
renderização em tempo real de ambientes, objetos e efeitos de partículas (como fogo,
fumaça e chuva). Foi desenvolvido na linguagem de programação C++, é orientado a
objetos e possui código fonte aberto. A caixa de diálogo de configuração de uma
aplicação desenvolvida em Ogre é mostrada na figura 3.1. Nesta janela, é permitido ao
usuário escolher o subsistema de renderização gráfica, a resolução da tela, opções de
suavização (anti-aliasing), dentre outras configurações. Para o CabanEngine, foi
realizada a integração de Ogre com bibliotecas de simulação sonora e física, detecção de
colisão e inteligência computacional, além de scripting utilizando a linguagem Lua,
tornando possível o desenvolvimento de jogos educacionais 3D bastante complexos.
Figura 3.1: Inicialização de uma aplicação em Ogre.
A utilização de Ogre em projetos comerciais tem sido crescente devido à sua
flexibilidade e documentação consistente. Podem ser citados o Action RPG Torchlight
[24] e o simulador de corrida MOTORM4X [12] como exemplos de jogos que utilizam
Ogre como motor gráfico, ambos mostrados na figura 3.2.
(a) MOTORM4X
(b) Torchlight
Figura 3.2: Exemplos de jogos que utilizam Ogre.
25
O motor oferece suporte a diversos recursos amplamente utilizados em jogos 3D.
Entre os quais, pode ser mencionado o suporte a Level of Detail (LoD), animação de
esqueletos (Skeletal Animations), efeitos avançados de sombreamento e suporte à
projeção de textura. Além disso, suporta múltiplas camadas de textura (multitexturing,
que consiste na aplicação de mais de uma textura sobre um polígono), as quais podem
ser de vários formatos, como PNG, JPEG, TGA, BMP e DDS.
Ogre utiliza scripts em diversos elementos, sendo uma abordagem interessante
para um desenvolvimento mais ágil e eficiente da aplicação. A vantagem de utilizar
scripts é que estes não estão integrados ao código, portanto, um elemento controlado por
script pode ser alterado sem que seja necessária nova compilação do software, que em
um projeto de grande porte pode ter custos de tempo altos. Neste trabalho, será
mostrada a forma básica de configuração de scripts para gerenciamento de materiais.
Ogre realiza renderização baseada nas APIs OpenGL (Open Graphics Library) e
Direct3D, que são as bibliotecas mais utilizadas em aplicações profissionais de
realidade virtual desktop e os elementos responsáveis pelo acesso ao hardware gráfico
para processamento e manipulação de objetos, sendo ambas implementadas nos drivers
do dispositivo de vídeo, o que torna o desenvolvimento de uma aplicação utilizando
diretamente essas duas bibliotecas bastante dificultoso devido à programação em baixo
nível. Portanto, a interface oferecida por Ogre com estas duas APIs o torna uma
ferramenta bastante eficiente para o desenvolvimento de jogos e de quaisquer aplicações
que possuam gráficos tridimensionais.
OpenGL é uma biblioteca que oferece funções de renderização 2D e 3D e pode
ser utilizada em vários sistemas operacionais, como Windows, UNIX, Mac OS, além de
ser utilizada no console Playstation 3 e possuir uma variante no Nintendo Wii. Oferece
somente funções de renderização, não havendo suporte a funções de criação de janelas,
áudio, entradas de teclado ou captura de tela, o que a torna independente de sistemas
operacionais. Direct3D é o componente responsável pelo processamento gráfico
tridimensional do DirectX (o processamento bidimensional é realizado pelo
DirectDraw), conjunto de bibliotecas multimídia proprietárias da Microsoft, presente
somente em ambiente Windows e nos consoles da empresa (Xbox e Xbox 360). Esta
versatilidade, que torna possível o desenvolvimento de uma aplicação para ambientes
Windows e UNIX, foi um critério importante na escolha do Ogre como motor gráfico
do jogo.
3.2 – Blender
O Blender [3] é um software de modelagem 3D livre e multiplataforma
desenvolvido atualmente pela Blender Foundation e distribuído sob a licença GPL.
Possui um amplo conjunto de funcionalidades para modelagem, animação, texturização,
renderização, composição e edição de vídeos e até mesmo para criação de jogos 3D,
utilizando um motor de jogo interno, conhecido como Blender Engine. Outra
26
característica interessante do Blender é sua extensibilidade: é possível desenvolver
plugins (extensões) na linguagem Python que executem diversas funções para o
programa, como scripts para animações de esqueleto, exportação da cena para formatos
diferentes (VRML, 3DS, entre outros) ou elaboração de scripts no game engine. Todas
essas características tornam o Blender uma ferramenta tão eficiente quanto softwares de
modelagem comerciais bastante utilizados, como 3D Studio MAX e Maya. A escolha do
Blender como ferramenta de modelagem foi realizada com base nessas características,
juntamente com a vasta documentação disponível sobre o software, que possibilitou o
estudo dos recursos mais importantes para o desenvolvimento dos modelos para o jogo.
A tela inicial do Blender é mostrada na figura 3.3.
Figura 3.3: Tela de inicialização do Blender 2.49.
O processo de modelagem é baseado nos vértices, arestas e faces do objeto, os
quais são manipulados através de operações como translação, escala, rotação, extrusão,
junção, entre outras. Para ativação de cada operação existe uma ou mais teclas de
atalho, que são de grande importância para agilizar o processo de desenvolvimento. A
utilização dos atalhos pelos usuários do software é mais comum principalmente porque
a interface do Blender é bastante “carregada”, sendo muitas vezes considerado o maior
entrave para o aprendizado das funções da ferramenta.
Para adicionar cores e detalhes aos modelos, é importante realizar o mapeamento
de texturas sobre as faces do objeto. No Blender, a imagem pode ser projetada sobre o
modelo utilizando diferentes técnicas de mapeamento, nas quais podem ser aplicados
recursos como normal mapping (proporciona à textura um efeito de relevo) e stencil
maps (texturas usadas como máscaras para combinar duas ou mais texturas), para
multitexturing.
Tendo finalizado o modelo, é necessário exportá-lo para o formato utilizado pelo
Ogre (arquivos mesh), sendo este processo realizado em duas etapas. A primeira etapa
27
utiliza um plugin do Blender para exportação: um script escrito em Python chamado
OgreMeshes [17], cuja interface é mostrada na figura 3.4, o qual é desenvolvido e
atualizado por um membro da comunidade do Ogre. Com este plugin, é possível
exportar o modelo e suas animações, em arquivos no formato XML, e o arquivo
.material, que contém as informações sobre os materiais do objeto, como texturas,
transparência e especularidade. Na segunda etapa, os arquivos XML precisam ser
convertidos para o formato compatível com Ogre utilizando o pacote de ferramentas
CommandLineTools, que converte o arquivo do objeto para o formato mesh e o arquivo
que contém as animações para o formato skeleton. No entanto, o OgreMeshes permite
somente a exportação de modelos cujas texturas foram mapeadas utilizando o chamado
método de mapeamento UV (UV Mapping).
Figura 3.4: Interface do exportador OgreMeshes.
Esta técnica de mapeamento se baseia na distribuição, ou projeção, dos vértices
das faces do modelo 3D sobre um plano pertencente a um espaço de coordenadas 2D,
em que o eixo das abscissas e ordenadas são chamados U e V, respectivamente. Neste
espaço, o usuário tem a liberdade de controlar a posição dos vértices sobre os pixels
distribuídos no plano UV, podendo também utilizar comandos que automatizam o
processo a partir de cálculos feitos pelo software, dos quais se destacam Unwrap,
recomendado para texturas não intercaláveis, e Cubic Projection, no caso de texturas
replicáveis. Além disso, o resultado do mapeamento pode ser visualizado no momento
em que os vértices são posicionados, sem que haja a necessidade de nova renderização
do objeto ou da cena. Um exemplo de mapeamento utilizando o comando Unwrap para
posicionamento da textura é mostrado na figura 3.5.
28
Figura 3.5: Técnica de mapeamento UV.
É importante ressaltar neste momento a importância das retas normais para o
processo de modelagem. Cada face possui uma reta que emerge perpendicularmente a
uma de suas superfícies, a qual determina o lado, ou a direção, da face em que a textura
será renderizada no modelo. O lado oposto da normal é ignorado pelo processo de
renderização, ou seja, a face inversa à da normal permanece transparente. O Blender
permite controle integral da direção das normais pelo usuário, podendo este inverter a
direção das retas a qualquer momento ou, no caso de modelos fechados, utilizar um
comando para recalcular automaticamente as normais para as faces externas, facilitando
bastante o processo em modelos complexos.
3.3 – GIMP
O GIMP, GNU Image Manipulation Program, é uma ferramenta livre utilizada
para edição de imagens, disponível para diversos sistemas operacionais, que se tornou
bastante robusta e eficiente, tendo sido amplamente utilizada em diversas aplicações
profissionais, principalmente devido ao seu rico conjunto de funções, comparável ao do
software comercial Adobe Photoshop. O GIMP tem a capacidade de manipular imagens
em diversos formatos, sendo os mais comuns BMP, JPG, PNG, GIF, TGA e TIFF, seu
formato nativo XCF e até mesmo o formato do Photoshop, PSD. A interface principal
do aplicativo é mostrada na figura 3.6.
29
Figura 3.6: Janela principal do GIMP 2.6.
O software conta com uma interface bastante simples, que recebe melhorias
constantemente, além de um conjunto de teclas de atalho que podem ser configuradas
pelo usuário, tornando o trabalho com a ferramenta mais fácil e flexível. Também é
oferecida uma grande quantidade de filtros para produção automática de diversos efeitos
artísticos em imagens, abrangendo renderização, animação, luz e sombras, entre outros.
É importante lembrar, no entanto, que a principal função do GIMP é edição de imagens,
sendo seus recursos de criação (desenho) limitados em comparação aos softwares
comerciais.
O processo de criação de texturas para o jogo foi desenvolvido com base em
edição de imagens, obtidas em sua maioria a partir de fotografias dos objetos reais.
Apesar do cuidado de tentar manter as inclinações no menor nível possível, essas
imagens apresentavam diversas irregularidades que precisavam ser tratadas para que se
obtivessem texturas apropriadas para os objetos, principalmente modelos de
construções, que possuem estruturas repetidas que podem utilizar um mesmo segmento
de textura. Entre os principais recursos utilizados para o ajuste dessas imagens,
destacam-se os recursos Ajuste de perspectiva, Deslocamento e o filtro de mapeamento
Tornar encaixável.
A ferramenta Ajuste de perspectiva constitui um recurso bastante útil e eficiente
para criação de texturas baseadas em fotografias, o qual permite que o usuário, a partir
de alongamentos nas bordas da imagem, corrija ou atenue inclinações de determinados
elementos, como mostra a figura 3.7.
30
(a) Imagem inclinada
(b) Perspectiva ajustada
Figura 3.7: Correção da imagem utilizando ajuste de perspectiva.
O filtro Tornar encaixável possibilita a criação de texturas que possam ser
replicadas ao lado uma das outras sem a percepção descontinuidades na imagem. Devese ressaltar, no entanto, que a técnica utilizada por este filtro não pode ser aplicada em
todos os casos, sendo recomendada a texturas que não possuam direção predominante,
ou seja, em que o encaixe horizontal (no eixo x) e vertical (no eixo y) não exige
tratamento específico. Podem ser assim classificadas texturas de água, terra ou grama,
que possuem uma estrutura naturalmente desordenada e podem ser mapeadas lado a
lado sem a necessidade de ajustes em seus eixos. Um exemplo da disposição de tal tipo
de textura é mostrado na figura 3.8, mostrando uma imagem replicada duas vezes em
cada eixo.
Figura 3.8: Encaixe contínuo de texturas desordenadas.
Por outro lado, texturas que possuem direções predominantes, ou estruturas
ordenadas, e precisem ser intercaladas devem receber outro tipo de tratamento, a partir
do recurso Deslocamento, com o qual o usuário pode tratar diretamente as bordas a
31
partir da translação do centro da imagem em direção às suas extremidades. Com isso, as
bordas são posicionadas em áreas nas quais é possível visualizar claramente as
irregularidades de encaixe, que podem ser ajustadas pelo usuário utilizando recursos
comuns de edição para mascarar essas falhas. Uma imagem de um muro de tijolos como
a mostrada na figura 3.8 pode ser utilizada como exemplo de textura com estrutura
ordenada, na qual o encaixe dos tijolos deve obedecer a um padrão definido de
alinhamento, que se mostra irregular após o deslocamento da imagem. Também é
mostrada a baixa eficiência do filtro Tornar encaixável em atender a esses requisitos de
alinhamento. É notável a simplicidade do problema para essa textura, que foi utilizada
somente para ilustrar um cenário de utilização do recurso Deslocamento.
(a) Original
(b) Deslocada
(c) Após filtro
Figura 3.9: Encaixe irregular observado ao deslocar a imagem.
32
CAPÍTULO 4 – AMBIENTE VIRTUAL DA CIDADE DE BELÉM
Jogos eletrônicos 3D propõem a navegação pelo usuário em um ambiente virtual,
o qual deve ser constantemente atualizado para cada ação do jogador, constituindo uma
interação em tempo real. Esse tipo de interação requer custo computacional alto, sendo
imprescindível o controle da quantidade de informações que é processada e exibida
durante a execução do jogo. Os gráficos de um jogo estão entre os principais elementos
responsáveis pelo comprometimento do seu desempenho em uma determinada
plataforma: constantemente, modelos 3D são transformados e novas texturas,
carregadas, além do processamento de recursos como partículas, céu e neblina.
Questões de desempenho foram prioritárias durante a construção do ambiente
virtual para o jogo da Cabanagem, manifestadas, entre outros aspectos, através do
controle da quantidade de vértices dos objetos e da resolução de texturas, dependendo
do que o modelo representava (um prédio ou personagem, por exemplo). Serão
apresentadas neste capítulo as técnicas utilizadas na modelagem, animação e
texturização dos personagens e objetos utilizados no ambiente de Belém e nas
sequências de vídeo de abertura e encerramento de algumas missões, além do processo
de configuração deste ambiente nas fases que ocorrem na cidade.
4.1 – Objetos estáticos
Objetos estáticos constituem elementos do cenário que não possuem interação
com o jogador, isto é, objetos inanimados que, neste caso, representam construções que
darão forma ao ambiente como um todo. Os objetos estáticos apresentados nesta seção
são a igreja das Mercês, o arsenal de guerra e o brigue Palhaço.
4.1.1 – Igreja das Mercês e Arsenal de Guerra
A igreja das Mercês e o arsenal de guerra constituem dois landmarks da cidade de
Belém no período da revolução, os quais ainda existem atualmente, sendo o antigo
prédio do arsenal a atual alfândega da cidade. Para essas construções, foram obtidas
imagens que ilustravam suas estruturas no século XIX, que possibilitaram o início do
processo de modelagem. No entanto, após pesquisas sobre o passado desses prédios,
constatou-se que possuíam seus contornos inalterados desde o período da Cabanagem,
tornando possível realizar a modelagem com base em fotografias obtidas durante visitas
ao local em que se encontram, algumas das quais mostradas nas figuras 4.1a e 4.1b.
33
(a) Igreja das Mercês
(b) Arsenal de Guerra
Figura 4.1: Igreja das Mercês e Arsenal de Guerra.
O processo de modelagem baseado em fotografias é interessante porque, além de
oferecerem uma grande quantidade de detalhes sobre o que se deseja modelar, também é
possível utilizá-las, após o tratamento adequado, como texturas para os objetos,
proporcionando um aspecto mais realista e possibilitando uma otimização do modelo,
em que estruturas geométricas podem ser substituídas por imagens, isto é, estruturas
pouco relevantes que, ao invés de modeladas, são simplesmente substituídas por
texturas bem elaboradas que ilustrem suas características, como janelas ou portas
fechadas.
No entanto, fotografias não fornecem noção das proporções do prédio, que são
comumente representadas em desenhos esquemáticos, como plantas da construção, os
quais não foram fornecidos para a modelagem desses landmarks. Na tentativa de
substituir esses elementos utilizou-se o programa Google Earth [13], a fim de se obter,
por exemplo, uma estimativa da proporção da largura em relação ao comprimento dos
prédios, como mostra a figura 4.2, que compara a imagem obtida pelo programa (4.2a)
com o objeto modelado (4.2b).
(a) Imagem obtida pelo Google Earth
(b) Modelo no Blender
Figura 4.2: Proporções dos prédios reais e modelados.
34
A partir da observação das fotografias, foi possível delinear a forma desses
landmarks e iniciar efetivamente o processo de modelagem no Blender, em que se
buscou a maior simplicidade possível, já que o jogador não teria muitas interações com
esses modelos durante o jogo. Sendo assim, a fachada de ambos os prédios foi
modelada de forma que os detalhes da arquitetura fossem representados por texturas.
Após o desenvolvimento do modelo, iniciou-se a etapa de mapeamento de
texturas. Este processo foi inteiramente baseado nas imagens disponíveis sobre os
prédios reais, que foram devidamente tratadas utilizando, entre outros recursos,
deslocamentos e correções de perspectiva com o GIMP. Fragmentos de imagens como
as figuras 4.1a e 4.1b foram utilizados para criação das texturas, sendo algumas das
quais mostradas na figura 4.3.
(a) Porta principal da igreja das Mercês
(b) Lateral do Arsenal de Guerra
Figura 4.3: Texturas da igreja das Mercês e do Arsenal de Guerra.
O mapeamento das texturas foi executado utilizando o método UV Mapping, a
partir dos comandos de projeção internos do Blender chamados Unwrap e Project from
View, que realizam a distribuição das faces do modelo sobre o plano de mapeamento de
tal forma que a disposição dessas faces sobre a textura possa ser encaixada sobre a
textura adequadamente. O modelo final dos landmarks é mostrado na figura 4.4.
35
Figura 4.4: Modelo final da igreja das Mercês e do arsenal de guerra.
4.1.2 – Brigue Palhaço
A tragédia do brigue Palhaço foi um evento importante para o desencadeamento
do movimento cabano. Em 1823, a mando do comandante John Pascoe Grenfell, foram
trancadas no porão da embarcação 256 pessoas, das quais 252 morreram asfixiadas. A
cena em que soldados portugueses abrem a escotilha do navio e se deparam com esta
grande quantidade de cadáveres, cujo processo de desenvolvimento será descrito
adiante, é mostrada no jogo, implicando na necessidade de um modelo para a
embarcação.
A modelagem do brigue Palhaço foi realizada com base em imagens de
embarcações do período do movimento cabano, as quais não continham informações
detalhadas o bastante sobre o navio, exceto por uma noção da forma do casco e número
de mastros, como mostra a figura 4.5. Devido à complexidade dos detalhes do modelo,
sua modelagem foi realizada em partes separadas, em que casco, contornos, mastros e
velas foram modelados e texturizados individualmente, para que ao final do processo
fosse realizada a junção do conjunto de objetos que compunham o brigue.
Figura 4.5: Imagem utilizada para a modelagem do brigue Palhaço.
36
O mapeamento de texturas seguiu o método utilizado no desenvolvimento do
modelo da igreja e do arsenal, com a adição do recurso de renderização Two Sided
Face, que foi aplicado nas faces das velas, permitindo que a textura seja exibida
independente da direção apontada pela normal. O modelo do brigue finalizado é
mostrado na figura 4.6.
Figura 4.6: Modelo final do brigue Palhaço.
4.2 – Personagens
Personagens são elementos fundamentais para o desenvolvimento da trama de um
jogo, que ocorre a partir de antagonismos entre os protagonistas e seus oponentes. Em A
Revolta da Cabanagem, um extenso conjunto de humanos virtuais foi modelado, sendo
descritos neste trabalho os personagens principais das fases de Belém – Felipe Patroni,
Batista Campos, Eduardo Angelim (que também toma parte na batalha do Acará) e
Lobo de Souza – e outros personagens de caráter genérico, isto é, personagens
replicados pelo cenário para povoar o ambiente ou unidades de batalha, especificamente
escravos, cabanos e soldados portugueses de alta patente, aos quais se torna
desnecessária a elaboração de modelos distintos para cada uma de suas ocorrências.
A criação de personagens para qualquer jogo exige grande esforço quanto ao
detalhamento de suas características. Neste caso, por se tratar de um jogo com tema
histórico, é necessária a correta representação de suas vestimentas, ferramentas e armas.
Informações sobre esses elementos foram obtidas a partir de relatos de documentos da
época ou imagens que representassem esses personagens.
O desenvolvimento dos humanos virtuais foi iniciado a partir da construção de um
modelo-base do corpo humano, do qual seriam gerados os diversos personagens
utilizados no jogo, de forma que características próprias de cada um, como vestimenta e
acessórios, exigissem menor esforço no processo de adaptação do modelo. Sobre este
modelo-pai, foram mapeadas as texturas comuns a todos os outros personagens, como
37
face, mãos e pernas, de forma que não fosse necessário repetir o mapeamento em cada
um dos filhos. Este procedimento foi realizado utilizando integralmente o comando
Unwrap, com o auxílio do recurso de marcação de borda, chamado Seam Mark, no qual
arestas de polígonos podem ser marcadas a fim de que as bordas selecionadas neste
processo sejam cortadas e distribuídas de forma mais eficiente sobre o plano UV ao ser
executada essa distribuição. O mapeamento de um rosto utilizando os comandos
mencionados é mostrado na figura 4.7a, enquanto o mapeamento sem a utilização destes
comandos é mostrado na figura 4.7b. Observa-se que no primeiro caso a projeção se
encaixa naturalmente sobre a textura.
(a) Mapeamento utilizando Unwrap e Seam Mark.
(b) Mapeamento sem utilização de Unwrap e Seam Mark.
Figura 4.7: Mapeamento de textura sobre uma face.
Com isso, a texturização de cada personagem individualmente se resumiria ao
detalhamento das vestimentas individuais de cada um, o que não deixou de ser um
processo trabalhoso, já que as texturas ainda precisaram ser elaboradas.
38
4.2.1 – Felipe Patroni e Batista Campos
Felipe Patroni foi o responsável pela fundação do primeiro periódico da
Amazônia e, juntamente com Batista Campos, foi líder ideológico do movimento
cabano, em que ambos criticavam duramente o governo português. Estes personagens
são controlados pelo jogador durante a primeira fase do jogo, na qual não ocorrem
combates, sendo obrigados somente a evitar os soldados em patrulha para obter sucesso
na missão. Dado este caráter intelectual desses personagens, optou-se por vestimentas
formais para melhor representá-los.
As diferenças estruturais e nas texturas dos modelos são bastante diminutas, sendo
observada pouco mais claramente a diferenciação da estatura de cada um. O
mapeamento das texturas também foi realizado utilizando o comando Unwrap, já que os
detalhes das imagens não permitiam simples replicação das texturas sobre o modelo,
cujas versões finais são mostradas na figura 4.8.
Figura 4.8: Modelos de Felipe Patroni e Batista Campos.
4.2.2 – Lobo de Souza
Bernardo Lobo de Souza, também conhecido como Malhado devido a uma
mancha em seu cabelo, foi o presidente da província do Pará durante o movimento
cabano, oprimindo severamente os revolucionários. Seu modelo apresenta a mesma
estatura de Felipe Patroni, sendo seu traje também apresentado de uma maneira formal,
dado o seu cargo de presidente, tendo o mapeamento de suas texturas também sido
realizado da mesma maneira que no caso anterior. O modelo final do Malhado é
mostrado na figura 4.9.
39
Figura 4.9: Lobo de Souza.
4.2.3 – Eduardo Angelim
Eduardo Angelim foi o líder do primeiro ataque cabano às tropas portuguesas
acampadas na fazenda Vila Nova, em outubro de 1834. O jogador assume o controle de
Angelim durante as batalhas do Acará e de Belém, justificando sua vestimenta mais
casual. Por participar das batalhas, foi necessário que o modelo de Angelim fosse
equipado com uma arma, um mosquete desprovido de baioneta, caracterizando o
personagem como uma unidade de combate à longa distância. O modelo final é
mostrado na figura 4.10.
Figura 4.10: Eduardo Angelim.
4.2.4 – Comandante português
Este modelo foi utilizado para representar o comandante José Maria Nabuco de
Araújo, líder da tropa acampada às margens do rio Acará, na fazenda Vila Nova. O
personagem deve ser derrotado pelo jogador na missão da batalha do Acará para que a
história avance. Sua vestimenta obedece aos padrões portugueses da época, os quais
foram obtidos a partir de uma imagem de referência. Foi modelado um sabre, arma leve
40
de combate à curta distância, para que Nabuco pudesse participar da batalha. O modelo
final do comandante é mostrado na figura 4.11.
Figura 4.11: Comandante do exército português.
4.2.5 – Cabanos e escravos
Alguns cabanos e escravos foram incluídos para povoar a cidade na primeira fase.
Dessa forma, são modelos básicos, mostrados na figura 4.12, sem características
especiais, que foram desenvolvidos de maneira semelhante aos anteriores.
Figura 4.12: Cabano e escravo.
4.3 – Animações de personagens
Animações são de grande importância em qualquer aplicação interativa de
Realidade Virtual, não sendo diferente no caso de um jogo, em que a existência de
animações envolvendo personagens, objetos ou efeitos especiais torna a aplicação mais
atrativa ao jogador. As animações para os personagens do jogo foram desenvolvidas
utilizando uma técnica conhecida como skeletal animation (animação de esqueleto).
Esta técnica, como o nome implica, consiste no desenvolvimento de um conjunto de
41
ossos utilizados para alterar a posição, escala e rotação de um modelo 3D. Um osso
pode ser definido como pai de um ou mais ossos do esqueleto, criando uma relação
hierárquica em que os filhos herdam todas as transformações aplicadas sobre os pais.
O Blender possibilita um processo de criação de esqueletos bastante rápido e
simples. A partir da criação de um osso, podem ser criados diversos outros a partir do
comando de extrusão, sendo os ossos subsequentes automaticamente considerados
filhos do primeiro osso criado. Utilizando este procedimento, foi criado um esqueleto
simplificado do corpo humano, como mostra a figura 4.13a, com o qual foram
construídas todas as animações dos personagens, havendo algumas pequenas
modificações em alguns casos. Contudo, para que um modelo possa ser de fato
animado, é necessário que ele esteja associado ao esqueleto. Esta tarefa é realizada
tornando o esqueleto pai do modelo a partir do comando interno do Blender chamado
Make Parent, cujo menu de habilitação é mostrado na figura 4.13b, que cria uma
relação hierárquica entre dois objetos quaisquer.
(a) Esqueleto de animação
(b) Associação entre modelo e esqueleto
Figura 4.13: Preparação do esqueleto para o processo de animação.
Apesar do modelo já estar associado ao esqueleto, ainda é necessário definir a
“influência” de cada osso sobre os vértices do modelo, de forma que a movimentação
do esqueleto seja coerente com a do modelo. Este processo é realizado em duas etapas:
criação de grupos de vértices e pintura de peso.
Vertex Groups (grupos de vértices) podem ser utilizados para facilitar a
manipulação de vértices em um modelo, sendo um recurso bastante útil para a
modelagem de objetos complexos. No contexto de animações de esqueleto, no entanto,
definem os vértices que serão transformados quando da transformação de um
determinado osso, sendo necessário que os nomes do grupo e do seu respectivo osso
sejam iguais para que o software “entenda” a associação entre eles.
42
Blender possibilita criação manual ou automática de grupos de vértices para
animações a partir de quatro opções: Don’t Create Groups, Name Groups, Create from
Envelopes e Create from Bone Heat. A primeira entrega o processo de criação de
grupos inteiramente ao usuário; a segunda somente cria os grupos, baseando-se nos
nomes dos ossos, mas não realiza inclusão de vértices; por fim, a terceira e quarta
opções criam e preenchem os grupos de vértices automaticamente de acordo com os
nomes dos ossos, mas utilizando algoritmos diferentes. Dada a complexidade dos
modelos e a atual imaturidade dos algoritmos de inserção, o processo automático
apresentou resultados imprecisos, incluindo vértices em grupos indesejados, sendo, por
esta razão, utilizada a opção Name Groups para criação automática de grupos e inclusão
manual de vértices.
Criados os grupos de vértices, um recurso chamado Weight Paint determina o
percentual de influência do osso na deformação dos vértices do modelo. O valor do peso
é definido em uma escala de zero a um, que utiliza o código de cores mostrado na figura
4.14a. O usuário seleciona o valor desejado e “pinta” os vértices de acordo com a
influência desejada para cada osso, como mostra a figura 4.14b. Após a execução desses
procedimentos, é possível iniciar o processo de animação do personagem.
(a) Relação entre cores e pesos
(b) Modelo com aplicação de pintura
Figura 4.14: Pintura de peso (Weight Paint).
As técnicas utilizadas na animação dos personagens requerem muito empenho do
animador em movimentar os ossos do esqueleto adequadamente e, principalmente,
temporizar esses movimentos de maneira eficiente, de modo que a animação se torne
coerente (referente aos membros que realmente devem ser movimentados) e suave
(referente à sua fluidez).
43
No Blender, através do editor de ações (Action Editor), o usuário necessita
somente da posição dos ossos em determinados quadros, chamados quadros-chave, ou
keyframes, definindo-os na linha de tempo com seu devido espaçamento. O software é
capaz de interpolar esses quadros e gerar seus intermediários dentro do intervalo
estabelecido, ou seja, quanto maior o espaçamento entre keyframes, mais suave a
animação se torna. O processo de síntese da animação é mostrado na figura 4.15, sendo
possível identificar na janela à direita a interface do Action Editor, onde são mostrados
os marcadores de quadros-chave utilizados ao longo do desenvolvimento da animação.
Figura 4.15: Animação utilizando o Action Editor.
4.3.1 – Animações básicas
Utilizando a técnica descrita nos parágrafos anteriores, foram geradas inicialmente
as animações de ações básicas, que seriam utilizadas por todos os personagens, sendo
nomeadas da seguinte maneira: Parado, Andar, Correr e Morrer. Os nomes de cada
uma explicitam sua função, dispensando explicações mais detalhadas. Foram criadas
também animações de ataque para o modelo de Eduardo Angelim, na qual ele dispara
seu mosquete, e do comandante do exército português, que desfere golpes com seu
sabre, as quais foram intituladas Atacar. É interessante manter padronizados os nomes
das animações para todos os personagens, já que estes nomes são referenciados no
código do jogo quando as animações precisam ser reproduzidas. Quadros das animações
de ataque dos personagens armados são mostrados na figura 4.16.
44
(a) Angelim
(b) Soldado
Figura 4.16: Animações de ataque.
4.3.2 – Animações de eventos do jogo
Foram desenvolvidas também animações de caráter mais específico, isto é,
animações utilizadas para representar algum evento do jogo. Essas animações envolvem
uma interação simples entre personagens ou objetos dispostos na cena. Optou-se por
construí-las em modelos específicos, exportados separadamente para o Ogre, devido à
maior simplicidade no momento da execução. Especificamente, as animações mostram
a conversa entre Batista Campos e Felipe Patroni durante a cena de entrega de um
exemplar da primeira edição do O Paraense, uma discussão entre Lobo de Souza e
Batista Campos nas proximidades do Palácio do Governo, a fuga de Batista Campos da
capital e a aliança entre ele e Félix Clemente Malcher. Estas animações utilizam dois
esqueletos, um para cada personagem envolvido, que foram cuidadosamente
sincronizados utilizando a interface do Action Editor. Imagens de algumas dessas
animações são mostradas na figura 4.17.
(a) Patroni entregando o jornal
(b)Malhado e Batista Campos discutindo
Figura 4.17: Animações de eventos do jogo.
45
4.4 – Animações pré-renderizadas
Animações pré-renderizadas são animações em vídeo geradas por aplicações de
computação gráfica 3D. O Blender, por ser um software de renderização, permite a
criação de tais sequências animadas, que foram desenvolvidas para representação de
cenas grandes e complexas do jogo da Cabanagem, as quais envolvem uma grande
quantidade de personagens e ações. A vantagem de utilizar essa técnica de animação
reside na possibilidade de utilizar todos os recursos disponíveis pelo software de
modelagem, como efeitos avançados de iluminação, sombreamento, transparência,
reflexão e refração sobre superfícies, entre outros. Além disso, utilizar o método
descrito anteriormente, em que modelos eram exportados individualmente com as
animações a serem reproduzidas, apesar de possível, é menos eficiente, por ser
necessária a sincronização da câmera e de vários objetos na linha de tempo, com
animações que começam ou terminam em momentos distintos, tornando demasiado
complexo o controle dessas sequências por meio do código.
Assim, visto que o Blender proporciona recursos para geração de animações em
vídeo, optou-se por utilizar este método para as cenas mostradas ao jogador no intervalo
entre as missões (em que são mostrados eventos referentes ao estágio vencido ou
introduzida a situação da missão seguinte). Essas cenas foram geradas a partir da técnica
de animações de esqueleto vista anteriormente com a adição de novas técnicas para
translação da câmera, pois esta não pode ser transformada a partir da utilização de
ossos, sendo para isto utilizado um recurso chamado editor de curva de Ipo
(Interpolation).
O Ipo Curve Editor permite que sejam editadas as curvas 2D que definem a
animação no Blender através de um gráfico que mostra o valor editado (posição,
tamanho, rotação, entre outros) no eixo vertical, enquanto mostra a linha de tempo no
horizontal. A interface deste editor pode ser vista na figura 4.18. Pode-se observar mais
claramente a interpolação realizada pelo Blender entre os keyframes, sendo possível
também que o animador ajuste as variações desta interpolação de acordo com a sua
necessidade, acentuando, atenuando ou tornando constantes essas variações.
46
Figura 4.18: Interface do Ipo Curve Editor.
De forma diferente da realizada com o Action Editor, o usuário pode inserir um
keyframe no editor de Ipo para qualquer objeto, sem a necessidade de anexá-lo a um
esqueleto. No menu de inserção de quadros-chave, o usuário pode selecionar quais
informações deseja que o Blender armazene sobre o modelo no frame atual, sendo elas
localização (Loc), rotação (Rot) e tamanho (Scale). Ao fazer uma seleção, a informação
é mostrada no gráfico através de um ponto (como os mostrados no gráfico da figura
4.18), que pode ter sua posição alterada tanto em magnitude (no eixo vertical), quanto
na linha de tempo (no eixo horizontal).
4.4.1 – Abertura da escotilha do Brigue Palhaço
A primeira animação desenvolvida representa a cena em que a escotilha do Brigue
Palhaço é aberta por soldados portugueses, que encontram um vasto número de
cadáveres no porão do navio. Nesta animação, três soldados representados pelo modelo
do comandante português são utilizados, sendo eles transformados utilizando somente
animações de esqueleto, que também foi utilizada para a animação da escotilha do
navio, a qual necessitou de somente um osso para controlá-la.
Para a orientação da câmera, utilizou-se um procedimento bastante simples,
baseado no rastreamento de um osso pela câmera, a partir do comando Track To. Com
isso, a câmera fica constantemente “olhando” para o osso, sendo desnecessária a
modificação de sua orientação a cada keyframe.
A técnica utilizada para translação da câmera utilizou um elemento denominado
Path (caminho), que consiste em um conjunto de pontos definidos pelo animador, os
quais são interpolados pelo software para gerar uma curva sobre a qual um objeto pode
ser transladado. Caminhos são recomendados para animações em que a câmera se
47
movimente de maneira sinuosa e contínua (sem mudanças bruscas de posição), podendo
ser criados a partir do mesmo procedimento utilizado para criação de um objeto comum.
Para tornar a câmera móvel sobre um path, é necessário primeiramente torná-la
pai do caminho, utilizando o comando Make Parent e selecionando a opção Follow
Path no menu subsequente. A partir disso, a reprodução da animação já movimentará a
câmera ao longo do caminho, mas utilizando as configurações padrão do recurso, as
quais precisam ser ajustadas adequadamente para produzir o efeito desejado. A caixa de
configuração de um caminho é mostrada na figura 4.19a. Entre as opções disponíveis,
foram utilizadas as referentes ao tamanho do caminho em quadros (campo PathLen) e
controle da interpolação dos pontos (campo Width). A variação de velocidade do objeto
sobre o caminho pode ser controlada no editor de Ipo, conforme mostra a figura 4.19b.
(a) Configuração do Path
(b) Controle de velocidade do objeto
Figura 4.19: Configuração geral de um Path.
A partir da utilização destas técnicas, foi necessário somente inserir os keyframes
referentes ao osso rastreado pela câmera para definir a orientação desta durante a
animação, já que sua translação é realizada pelo Path. Para os soldados, utilizou-se a
animação previamente desenvolvida Andar e foram criadas animações para as ações de
cada personagem enquanto abrem a escotilha e olham para o porão do navio. Um
quadro da renderização final da animação é mostrado na figura 4.20.
48
Figura 4.20: Animação do Brigue Palhaço.
4.4.2 – Saída da fazenda Vila Nova
Esta animação reproduz os eventos ocorridos após a vitória cabana na batalha do
Acará, mostrando alguns personagens mortos durante o confronto e os sobreviventes
sendo levados pelos cabanos para a fazenda Acará-açu. Foram utilizados diversos
modelos de cabanos, escravos e soldados portugueses para representar as unidades
envolvidas, além de Eduardo Angelim e o comandante Nabuco de Araújo, o qual foi
morto durante a batalha e é mostrado sendo levado por cabanos, juntamente com os
prisioneiros, até o navio utilizado no transporte dos sobreviventes e cadáveres.
A câmera desta animação possui movimentação mais simples que a desenvolvida
para a anterior, sendo desenvolvida sem grandes dificuldades. Nesse caso, a atividade
mais trabalhosa foi a configuração da cena e sincronização da grande quantidade de
personagens, que se baseou em operações realizadas no Action Editor, já que se tratava
somente de animações de esqueleto.
Foram utilizados efeitos de renderização avançados para geração da água do rio
Acará, utilizando recursos de transparência, reflexão, refração e normal mapping, sendo
este último um método para gerar rugosidade em uma superfície a partir das variações
de tonalidade em uma imagem, que resultou no surgimento do aspecto ondulado da
superfície do rio. Para o terreno, foi utilizada a técnica conhecida como stencil mapping
para misturar duas ou mais texturas sobre uma superfície. Esse método utiliza imagens
em escala de cinza como máscaras para definir regiões de transparência entre camadas
de textura. Com isso, foi possível gerar um terreno com mais detalhes em sua superfície.
A animação final tem dois de seus quadros mostrados na figura 4.21.
49
(a) Visão da cena em que ocorreu a batalha
(b) Cabanos levando o comandante e prisioneiros ao navio
Figura 4.21: Animação na fazenda Vila Nova.
4.4.3 – Vitória dos cabanos na tomada do poder em Belém
Após a batalha pela tomada do poder na capital paraense, Félix Clemente Malcher
e Antônio Vinagre se tornam o novo presidente da província e o comandante das armas,
respectivamente. Esta animação constitui a cena final do jogo da Cabanagem,
mostrando os personagens citados entrando no Palácio do Governo e sinalizando para
os revolucionários que se encontram na frente do prédio, os quais, por sua vez,
comemoram a vitória alcançada na batalha. A animação dos personagens foi
desenvolvida da mesma maneira que nos casos anteriores. Para a câmera, optou-se por
movimentos mais suaves utilizando somente o editor de Ipo, sem o auxílio de Paths.
Apesar do ambiente aberto, os movimentos da câmera não capturam grande parte do
cenário, por isso, não foram utilizadas técnicas avançadas na criação do terreno além de
stencil mapping, para criar um aspecto mais detalhado. Um quadro da animação é
exibido na figura 4.22.
50
Figura 4.22: Cena final do jogo da Cabanagem.
4.5 – Terreno
A modelagem do terreno da cidade de Belém não será abordada aqui, mas a
configuração do modelo já pronto utilizando o script de materiais do módulo gráfico do
CabanEngine, Ogre3D. O terreno da cidade apresenta muitas variações de detalhes,
como terra, grama, areia e cascalho, sendo necessário inserir múltiplas camadas de
texturas utilizando máscaras como as utilizadas na técnica de stencil mapping, as quais
são definidas a partir da edição do arquivo de materiais referente ao modelo do terreno,
com o qual também é possível ajustar outras características, algumas das quais vistas
adiante.
Os scripts de material do Ogre proporcionam uma forma bastante eficiente de
definir as características dos materiais de um objeto (que pode ser um modelo 3D, céu,
fontes de partículas, entre outros), como LoD, sombreamento, transparência e texturas,
utilizando uma linguagem com sintaxe semelhante a C++. Essa definição de materiais
pode ser executada por meio do código fonte do jogo, utilizando funções das classes
Material e TextureLayer, mas se torna um processo bastante trabalhoso na prática.
Um material é definido a partir de sua declaração no script e deve conter técnicas
(techniques), passes (passes) e unidades de textura (texture units), em uma estrutura
hierárquica. Técnicas representam o nível mais básico de configuração de um material,
como controle do índice de LoD (quando existem múltiplos níveis de detalhe em um
objeto), bem como diferentes configurações para projeção de sombra pelo objeto ou
sobre ele. Passes devem ser declarados dentro do escopo de uma técnica para gerar
diferentes efeitos de renderização a partir da aplicação de atributos para controle de
características como efeitos de luz difusa ou especular e iluminação dinâmica. Por fim,
unidades de textura, que devem ser incluídas em passes, identificam as texturas
utilizadas pelo material, sendo possível controlar também combinação de texturas.
51
A utilização efetiva de materiais requer um extenso estudo para entender todas as
suas funcionalidades. Isto se aplica quando da necessidade de definir efeitos bastante
avançados e complexos ao objeto. Para o terreno da cidade de Belém, a configuração do
material foi realizada de forma simplificada, a partir da criação de um conjunto de
passes em uma mesma técnica, que receberiam unidades de textura para realizar o
mapeamento e a combinação das texturas no objeto.
Para cada camada de textura foi criado um pass, configurado para permitir a
combinação de múltiplas camadas através do atributo scene_blend, que determina a
forma como o conteúdo de um pass é combinado à cena, o qual habilita combinação de
texturas com o parâmetro alpha_blend. Cada pass recebeu duas unidades de textura,
uma contendo a imagem difusa a ser repetida sobre o terreno (grama, cascalho, etc.) e
outra utilizada como máscara, utilizando o atributo colour_op_ex, que permite controle
detalhado da combinação aplicada à camada atual e às anteriores, sendo a camada final
formada pela combinação entre as duas imagens do pass e das camadas previamente
processadas. O terreno mostrado na figura 4.23 ilustra o efeito produzido pela
configuração do material no ambiente do jogo.
Figura 4.23: Configuração do terreno por meio do script de material.
4.6 – Configuração do ambiente virtual
Nesta seção será descrito o processo de configuração do ambiente virtual da
cidade de Belém utilizando os recursos oferecidos pelo Ogre para controle de
iluminação e sombreamento de uma cena. A cidade virtual possui duas ambientações,
utilizadas na primeira e terceira fase do jogo, que correspondem a um ambiente diurno e
noturno, respectivamente. Para esses ambientes, foram utilizadas técnicas distintas de
iluminação e renderização de céu e neblina.
52
O controle da iluminação de ambientes no Ogre é realizado de duas formas
diferentes: utilizando a iluminação nativa da cena ou fontes de luz criadas pelo
programador.
A iluminação nativa pode ser controlada através da função
SceneManager::setAmbientLight(), que recebe como parâmetro um objeto do tipo
ColourValue, definido pelo Ogre para representar valores de cor no sistema RGB (Red,
Green e Blue), e realiza iluminação uniforme de todos os objetos da cena, sem aplicação
de técnicas de sombreamento.
A criação de fontes de luz, a partir da função SceneManager::createLight(),
instancia um objeto do tipo Light, o qual possibilita a ativação de diferentes métodos de
projeção de sombras pelo objeto, cada qual com custo computacional variado. Fontes de
luz podem ser do tipo point, spotlight e directional. A primeira é utilizada para fontes
pontuais, que emitem luz em todas as direções; a segunda simula o efeito de uma
lanterna, criando uma luz concentrada em uma região circular ou elíptica; a última, por
sua vez, simula uma luz distante que banha toda a cena em uma direção, como a
iluminação da lua em uma cena noturna, a qual pode ser configurada pelo programador.
Técnicas de projeção de textura são divididas em dois grandes grupos: stencil
(estêncil) ou texture-based (baseado em textura), as quais possuem algumas subdivisões
que utilizam algoritmos de projeção diferentes. Sombras do tipo estêncil proporcionam
um efeito mais realista à cena, com sombras dinâmicas e precisas, mas requerem custo
computacional bastante alto. O uso de sombras baseadas em textura, por outro lado,
resulta em efeitos mais básicos, pois utilizam texturas de resolução fixa para projeção de
sombras, demandando, por esta razão, processamento muito inferior quando
comparadas às sombras do tipo estêncil. As diferentes técnicas de sombreamento são
habilitadas através da função SceneManager::setShadowTechnique(), cujo parâmetro é
o tipo de sombra que se deseja utilizar. Para os dois ambientes da cidade foi utilizado o
método baseado em texturas, dada a grande complexidade do mapa. Sombras do tipo
estêncil foram utilizadas nas fazendas do ambiente virtual do Acará, por possuírem
quantidade de modelos muito inferior à da cidade.
Ogre oferece três tipos diferentes de céu para adicionar a uma cena: SkyBoxes,
SkyDomes e SkyPlanes, habilitados, respectivamente, através das funções setSkyBox(),
setSkyDome() e setSkyPlane() da classe SceneManager. SkyBox gera uma caixa que
engloba toda a cena, cujas faces internas possuem texturas que representam o fundo do
cenário, como o céu propriamente dito, espaço ou montanhas, utilizado em cenários
extensos e abertos. SkyDome determina um cubo, o qual não possui fundo, em que a
projeção de texturas é realizada de maneira esférica, recomendado para ambientes em
que um terreno impede a visualização da parte inferior do cenário. SkyPlane utiliza
somente um grande plano sobre a cena, sendo o tipo que requer menor custo
computacional, recomendado para cenários em que não é possível visualizar o
horizonte.
53
Para neblina, ou fog, existem dois tipos básicos utilizados por Ogre: linear e
exponencial. A neblina pode ser habilitada a partir da função SceneManager::setFog(),
que recebe, entre outros parâmetros, o tipo de fog, sua coloração e distâncias de
renderização mínima e máxima. Os dois modos se diferenciam pela forma com que
tornam a neblina mais densa, linear ou exponencialmente, afetando também o custo
computacional requerido. É interessante ressaltar que ao habilitar uma neblina
demasiado espessa, esta pode inibir a visibilidade do céu, o qual deve ter no pass de seu
material o atributo fog_override – que torna o objeto visível através da neblina, não
importando a densidade desta – ativado para que possa ser exibido corretamente.
Para o ambiente diurno, foi utilizada somente a iluminação nativa da cena,
dispensando outras fontes de luz, já que se trata de um ambiente externo, com grande
visibilidade. Por esta razão, optou-se por fog em modo linear, com valores para a
distância mínima e máxima altos. O tipo de céu utilizado neste cenário foi SkyBox, pois
o material utilizado possibilitava a exibição de um céu bastante nublado, que foi julgado
adequado para o ambiente da cidade. Este ambiente é mostrado na figura 4.24, na qual
se percebe que os recursos utilizados se adequam de fato ao cenário da cidade.
Figura 4.24: Ambiente diurno da cidade de Belém.
Para o ambiente noturno da batalha em Belém, foram utilizadas técnicas mais
elaboradas para a configuração do ambiente. Buscou-se restringir a visibilidade do
jogador através de uma iluminação nativa fraca, com a adição de uma luz direcional que
simulasse a iluminação da lua. Avaliou-se a inclusão de outras fontes de luz no cenário,
mas por questões de simplicidade e redução de custo computacional, esta proposta foi
descartada, juntamente com a inclusão de efeitos de sombreamento avançados,
principalmente porque a neblina utilizada nesta fase foi habilitada no modo exponencial,
para dar uma maior noção de escuridão, claramente tornando mais complexo o
54
processamento da cena em relação ao ambiente anterior. Para o céu, utilizou-se o tipo
SkyDome, pelo fato do material aplicado se adaptar melhor à cena, dada a grande
restrição de visibilidade. O ambiente da fase final do jogo pode ser visualizado na figura
4.25.
Figura 4.25: Ambiente noturno da cidade de Belém.
55
CAPÍTULO 5 – CONSIDERAÇÕES FINAIS
Este trabalho expôs as principais características de jogos eletrônicos e como eles
podem ser importantes no processo de ensino-aprendizagem, por constituírem
ferramentas em que é possível criar enredos ricos e narrativas bem elaboradas, além de
possibilitarem ao jogador o aprendizado de conteúdos de diversas naturezas. A equipe
de desenvolvimento do jogo A Revolta da Cabanagem buscou elaborar um enredo fiel
ao movimento popular mais importante da história do estado do Pará, representando
seus principais personagens e eventos através de diversos recursos comumente
utilizados em jogos comerciais, exatamente por serem considerados atrativos para o
público jovem.
É importante ressaltar, no entanto, que um jogo educativo não é projetado para
substituir o professor ou livros que abordem o conteúdo oferecido, mas para ser
utilizado como ferramenta de motivação ao aluno, estimulando-o a buscar o
conhecimento enquanto é guiado pelo professor. Este jogo também auxilia o aluno nos
primeiros passos dessa busca ao oferecer as referências bibliográficas utilizadas na
elaboração do enredo.
As técnicas empregadas no desenvolvimento do jogo da Cabanagem demandaram
grande esforço da equipe integrada ao projeto. No caso dos métodos apresentados neste
trabalho, diferentes técnicas foram estudadas para tornar possível a geração do ambiente
virtual do jogo em sua totalidade, dada a grande complexidade dos objetos que
precisaram ser criados e, quando aplicável, animados. Buscou-se constantemente
utilizar recursos para simplificação dos modelos de forma que fosse obtido o melhor
desempenho possível sem a perda da noção de realismo que aplicações de realidade
virtual devem proporcionar.
É interessante notar que os métodos apresentados podem ser aplicados não
somente em jogos eletrônicos, mas em qualquer aplicação que utilize elementos virtuais
para um determinado fim, como cavernas digitais ou CAVEs (Cave Automatic Virtual
Environment), ambientes virtuais colaborativos e simuladores para treinamento de
funcionários da indústria.
Ressalta-se também a utilização de ferramentas livres no desenvolvimento de um
jogo eletrônico, podendo representar um caminho viável, apesar de trabalhoso, para
projetos de jogos eletrônicos cujo orçamento não permita a aquisição de ferramentas
comerciais com recursos de última geração, que é o caso, conforme foi visto, da maioria
dos projetos desenvolvidos em âmbito acadêmico.
Atualmente o jogo se encontra em sua fase final de desenvolvimento, na qual
ainda estão sendo realizados testes para correção de falhas e, em menor escala, adição
56
de recursos que se façam necessários. Futuramente, pretende-se avaliar a eficiência
pedagógica do jogo em escolas de ensino médio, a partir de sua implantação em
laboratórios que possibilitem o acesso dos alunos, enquanto supervisionados por um
professor, os quais fornecerão um feedback que possibilitará melhorias posteriores no
sistema.
57
REFERÊNCIAS BIBLIOGRÁFICAS
[1] AMORY, Alan. Building an Adventure Educational Game: Theory, Design and
Lessons In: Journal of Interactive Learning Research, 2001, v. 12 num. 23. pp. 249-263.
[2] BITTENCOURT, J. R. & FIGUEIREDO, C. Z. Jogos Computadorizados para
Aprendizagem Matemática no Ensino Fundamental. Novas Tecnologias na
Educação, Porto Alegre, v. 3, n. 1, p. 4-5, Maio 2005.
[3] Blender 2.49. Blender Foundation, 2009. Disponível
http://www.blender.org. Acessado em 01 de junho de 2009.
no
endereço
[4] CIPRIANI, O. N.; MONSERRAT, J.; SOUZA, Ila M. S. Construindo um Jogo
Para Uso na Educação Matemática. SBGAMES, 2007.
[5] CLUA, Esteban W. G.; BITTENCOURT, João R. Mini-curso: Uma Nova
Concepção para a Criação de Jogos Educativos. SBIE 2006.
[6] DAMASCENO, R. Rodrigues, REIS, F. Vaz, RIBEIRO, Filho M., SILVA, F.
Cardoso, SOUZA, M. Soares, Jogo Educativo com Tema Histórico: A Revolução da
Cabanagem, SBGAMES, 2008.
[7] GENTILE, Douglas A. et al. The Effects of Prosocial Video Games on Prosocial
Behaviors: International Evidence From Correlational, Longitudinal, and
Experimental Studies. Personality and Social Psychology Bulletin, 2009.
[8] GNU GPL. Free Software Foundation , 2007.
Disponível no endereço
http://www.gnu.org/licenses/gpl.html. Consultado em: 01 de junho de 2009.
[9] JENSON, Jennifer & CASTEL, Suzanne. Serious Play: Challenges of Educational
Game Design In: American Research Association Annual Meeting in New Orleans.
Louisiana:
AERA,
2002.
Disponível
no
endereço
http://edtech.connect.msu.edu/Searchaera2002/viewproposaltext.asp?propID
=5573. Consultado em 01 de junho de 2009.
[10] KENT, Steven L. The Ultimate History of Video Games: From Pong to
Pokémon and Beyond – The Story Behind the Craze that Touched our Lives and
Changed the World. New York: Three River Press, 2001.
[11] KIRRIEMUIR, John & MacFarlane, Angela. Literature Review in Games and
Learning.
FutureLab
Series,
2004.
Disponível
no
endereço
http://www.futurelab.org.uk/resources/documents/lit_reviews/Games_Review.pdf.
Consultado em 01 de junho de 2009.
58
[12] MOTORM4X. The Easy Company, 2009. Disponível no endereço
http://www.easyco-games.com/games.html. Acessado em 01 de junho de 2009.
[13] Google Earth.
Google
Inc.,
2009.
Disponível
http://earth.google.com/intl/pt/. Acessado em 01 de junho de 2009.
no
endereço
[14] MUKHERJEE, Souvik. From Reading Games to Playing Books: Game, Text
and Technicity in Computer Game Narratives. Nottingham Trent University, 2009.
[15] MÜLLER, Raquel M.; CAVALCANTE, Gabriel D.; SANTOS, Leandro A.
Laguna – Aprendendo sobre a Guerra do Paraguai com jogo educativo. XIII
Workshop de Informática na Escola, 2006.
[16] Ogre3D. Disponível no endereço http://www.ogre3d.org. Consultado em 01 de
junho de 2009.
[17]
OgreMeshes.
Disponível
no
endereço
http://www.ogre3d.org/forums/viewtopic.php?t=45922. Consultado em 01 de junho de
2009.
[18] PEDERSEN, Roger E.. Game Design Foundations. Wordware Game and
Graphics Library. 2003.
[19] REIS, Felipe Vaz. Implementação de um jogo educativo sobre a revolução da
Cabanagem. Dissertação de mestrado. PPGEE/UFPa. Maio, 2009.
[20] RAIOL, Domingos Antônio. Motins Políticos, ou História dos Principais
Acontecimentos Políticos da Província do Pará desde o Ano de 1821 até 1835.
Editora da UFPA, 1970.
[21] Revolution (Games-to-Teach Project), 2003. Disponível no endereço
http://www.educationarcade.org/gtt/revolution/index.html. Consultado em 01 de junho
de 2009.
[22] ROLLINS, A. & MORRIS, D. "Game Architecture and Design", Coriolis Ed,
2000.
[23] ROSA, N. dos Santos & RAPKIEWICZ, C. E. Ensinando princípios básicos de
programação utilizando jogos educativos em um programa de inclusão digital,
SBGAMES, 2007.
[24]
Torchlight.
Runic
Games,
2009.
Disponível
no
endereço:
http://en.runicgamesfansite.com/rgwiki/index.php?title=Torchlight. Consultado em 01
de junho de 2009.
59
[25] SANTANA, Camila; SENA, Gildeon; MOURA, Juliana; ALVES, Lynn. Tríade:
delineando o processo de construção de um roteiro de um jogo eletrônico.
SBGames 2007. 2007.
[26] SAVI, Rafael. Jogos digitais educacionais: benefícios e desafios. Novas
Tecnologias na Educação, Porto Alegre, v. 3, n. 1, Maio 2005.
[27] TIMM, Maria I.; RIBEIRO, Luis O. M.; LANDO, Vanusa R.; AZEVEDO, Ana M.
P.; VIEIRA, Everton. Game educacional: desafios da integração de elementos
ficcionais, tecnológicos, cognitivos e de conteúdo. SBGAMES, 2008.
[28] TOBALDINI, Michele A.; MARTINELLI, Michelli; BRANCHER, Jacques D.
Arquiteturas Históricas no Ambiente de um Jogo de RPG Educacional
Computadorizado, SBGAMES, 2006.
[29] ZERBST, Stefan & DÜVEL, Oliver. 3D Game Engine Programming. Thomson
Course Technology PTR. 2004.