Você está na página 1de 16

Revista Brasileira de Informática na Educação, Volume 24, Número 3, 2016

Metodologia de Desenvolvimento de Jogos Sérios: especificação de


ferramentas de apoio open source
Title: Methodology for Development of Serious Games:: specification of open source tools

Rafaela Vilela da Rocha Aparecida Maria Zem-Lopes


Universidade de São Paulo (ICMC - USP) Universidade de São Paulo (ICMC - USP)
rafaela.vilela@gmail.com Faculdade de Tecnologia de Jahu (FATEC Jahu)
cida.zem@gmail.com

Laís Zagatti Pedro Ig Ibert Bittencourt Seiji Isotani


Universidade de São Paulo (ICMC - Universidade Federal de Ala- Universidade de São Paulo (ICMC -
USP) goas (IC - UFAL) USP)
laiszagatti@gmail.com ig.ibert@ic.ufal.br sisotani@icmc.usp.br

Resumo O uso de jogos sérios vem crescendo para fins de aprendizado, treinamento e avaliação do de-
sempenho dos seus usuários. Entretanto, para obter sucesso como produto final, seu desenvol-
vimento tem que ser sistemático e multidisciplinar. Sendo assim, a escolha das ferramentas de
suporte impacta muito além do custo financeiro. Este artigo apresenta uma visão geral da meto-
dologia iterativa e integradora para desenvolvimento de jogos sérios com foco na descrição de
ferramentas de código livre. Foram revisadas e selecionadas as ferramentas adequadas, de
modo a fornecer um conjunto que poderá ser usado de acordo com as necessidades do projeto
do jogo sério. Elas são agrupadas em ferramentas de uso geral, sistemas de gerenciamento de
banco de dados, motores de jogos, ferramentas para uso no projeto, e uso na implementação.
Além disso, os usos da metodologia e dessas ferramentas são exemplificados com dois cenários
distintos.

Palavras-Chave: Jogos sérios, Metodologia de desenvolvimento, Ferramentas de código livre.

Abstract Serious games are being used ever more for purposes of learning, training and human perfor-
mance evaluation. However, to be successful as a final product, its development has to be sys-
tematic and multi-disciplinary. Thus, the choice of support tools impact beyond the financial
cost. This paper describes an overview of the iterative and integrative methodology for develop-
ing serious games, expanding the specification with open source tools. Appropriate tools are
reviewed and selected in order to provide a set of applications that could be used according to
serious games design needs. They are grouped into support tools to general use, database man-
agement systems, game engines, design and implementation. In addition, the uses of this meth-
odology and these tools are exemplified with two different scenarios.

Keywords: Serious games, Development methodology, Open source tools.

DOI: 10.5753/RBIE.2016.24.03.109
Rocha et al. RBIE V.24 N.3 – 2016

1 Introdução discutidos, seguidos das considerações finais (Seção 8).

Jogos Sérios (JSs) são jogos utilizados com propósito


2 Fundamentos e Trabalhos Relacio-
de ensino-aprendizagem ou treinamento de pessoas, e não nados
apenas para diversão [1]. Apesar do seu sucesso de uso
em áreas tais como, saúde, defesa, gerenciamento de Um jogos sério pode ser um instrumento efetivo de
emergências, negócios, entre outras, seu desenvolvimento aprendizagem e treinamento ou motivação ao aprendiza-
é um processo complexo, com alto custo (de recursos do [89, 90, 91], além de fornecer apoio para a avaliação
humanos, financeiros, tempo e materiais), que requer realizada pelos instrutores [33]. Entretanto, para que o
profissionais qualificados (atores do desenvolvimento) aprendizado seja efetivo, ele tem que ser ativo, experien-
[1-3]. Esses atores devem ter conhecimentos desde sobre cial, contextualizado, baseado em problemas e fornecer
aprendizagem, avaliação, simulação e de jogos em si, até feedback imediato (princípios de aprendizagem efetiva)
do conteúdo no domínio de aplicação e das ferramentas [20; 92, 93]. Dessa forma, para projetar JSs efetivos, os
que serão utilizadas no processo de produção do JS [2, 3]. conhecimentos de diferentes atores precisam ser integra-
dos, tais como, o conhecimento do domínio de especialis-
Para oferecer apoio ao desenvolvimento de JSs, dife- tas (professores, instrutores ou profissionais na área), as
rentes metodologias foram propostas [3-8], além das competências de desenvolvedores (analistas, programa-
metodologias específicas existentes nas áreas de simula- dores, etc.) e o conhecimento de designers de jogos.
ção [2, 10-13], jogo [14-16], e aprendizagem e treina-
mento [17-20]. Entretanto, de forma geral, elas não des- Além disso, as pesquisas em áreas afins, tradicionais e
crevem todo o ciclo de vida, compreendendo os múltiplos mais desenvolvidas, tais como, Engenharia de Software,
requisitos dos jogos sérios: definição dos objetivos de Design Instrucional, Interface Homem-Computador,
aprendizagem/ treinamento e conteúdo, avaliação do Modelagem e Simulação, Educação e Psicologia, podem
desempenho do aprendiz, fidelidade lógica e física da beneficiar e produzir melhores soluções para o desenvol-
simulação, não linearidade, com foco no desenvolvimen- vimento e jogos sérios mais efetivos. Para isto, é necessá-
to de conteúdos para engajar o aprendiz, tais como a ria a integração dessas áreas, tanto quanto em relação ao
inclusão de desafios, recompensas, níveis e feedback produto final, pois cada área produz diferentes produtos
contínuo [8, 21]. As metodologias de design de jogos, finais; quanto em relação a metodologia de desenvolvi-
modelagem da simulação ou design instrucional enfati- mento (atores, processos, produtos, projetos), pois há
zam apenas os elementos de jogo, ou da simulação, ou da diferentes metodologias de desenvolvimento em cada
instrução. Já as metodologias para fins de produção de área.
jogos sérios, jogos e simulações educacionais unificam
As metodologias existentes na literatura podem ser
alguns elementos, mas sem abranger todos os requisitos
classificadas em três grupos (conforme Figura 1): (1)
necessários, criando uma falta de balanceamento no pro-
Metodologias específicas para jogo, ou simulação, ou
duto final criado (por exemplos, um jogo educacional
aprendizagem/treinamento; (2) Metodologias para desen-
com conteúdo adequado, mas que não gera motivação e
volvimento de simulação e jogo educacional; e (3) Meto-
engajamento para ser jogado; ou um jogo bastante lúdico,
dologias para desenvolvimento de jogos sérios. Elas são
mas que não possibilita a aprendizagem pretendida).
apresentadas a seguir.
Além disto, nem sempre são especificados os artefatos a
serem produzidos em cada processo, bem como as ferra-
mentas que podem apoiar o trabalho dos atores envolvi-
dos (há apenas algumas ferramentas de autoria).
Este artigo apresenta ferramentas de código livre que
podem ser usadas para produzir os diferentes artefatos
durante o desenvolvimento de jogos sérios usando a me-
todologia iterativa e integradora especificada em [22], ou
seja, estende a especificação da metodologia abordando
ferramentas de apoio ao desenvolvimento de jogos sérios.
Na seção 2, o estado da arte é apresentado. O método de
pesquisa é descrito na seção 3. Na seção 4, é apresentada Figura 1: Visão geral dos grupos de metodologias para desenvolvimen-
a metodologia de Rocha [22], para fundamentar sua ex- to de diferentes produtos finais
tensão. Na seção 5, são descritas as ferramentas que são
agrupadas por tipo de artefatos gerados. Na seção 6, são 2.1. Metodologias Específicas
apresentados os resultados de dois produtos desenvolvi-
As metodologias específicas são para desenvolvimen-
dos usando a metodologia. Na Seção 7, os resultados são

110
Rocha et al. Metodologia de Desenvolvimento de Jogos Sérios:
especificação de ferramentas de apoio open source

to de jogos de entretenimento [14-16], simulações [2, 10- tal são os graus em que o modelo de simulação: se parece
13], materiais/objetos educacionais [17-19] e materiais de fisicamente (interface, áudios e controles); ou age (in-
treinamento [20]. Apesar de serem metodologias utiliza- formações, estímulos e respostas) e reage (comportamen-
das em cada área, e muitas vezes estendidas para o de- to e interatividade) às tarefas sendo executadas, compara-
senvolvimento de jogos sérios, elas não auxiliam em das ao equipamento, ambiente ou fenômeno do mundo
requisitos particulares dos JSs, pois há diferenças signifi- real [23]. Entretanto, estudos indicaram que a percepção
cativas entre eles e jogos de entretenimento, simulações e de verossimilhança é mais importante do que a alta fide-
materiais educacionais. No Quadro 1 são apresentadas as lidade [23]. Além de que, alguns componentes de simula-
diferenças entre as características de cada produto com- ção que reduzem o realismo podem aumentar o aprendi-
paradas às características de jogos sérios. zado, tais como, parar e reiniciar, ou um mecanismo de
feedback avançado [24].
Jogos de propósitos gerais podem ter uma narrativa
abstrata ou irreal, pois eles focam na diversão, exceto os Os materiais educacionais têm conteúdos estrutura-
jogos de simulação que geralmente simulam de modo dos, lógicos e sequenciais (ou seja, linear), com foco no
simplificado equipamentos, fenômenos ou ambientes da processo para auxiliar o instrutor [26]. Ao contrário,
realidade [25]. jogos sérios são não lineares, possibilitando que as inte-
rações do jogadores afetem o resultado final do jogo.
Nas simulações, as fidelidades física e comportamen-

Linearidade do Foco de auxí-


Produtos Objetivos Representação da realidade
conteúdo lio
Jogos Entretenimento Abstrata ou irreal Não linear Jogador
Fidelidade física, comportamental, ou
Simulações` Treinamento Não linear Operador
verossimilhança
Materiais educacionais e/ou de Aprendizagem e/ou treinamento
Abstrata ou verossimilhança Linear Instrutor
treinamentos e/ou avaliação

Aprendizagem, treinamento e Fidelidade física, comportamental, ou


Jogos sérios Não linear Aprendiz
avaliação verossimilhança

Quadro 1: Comparação entre as características de jogos sérios com jogos de entretenimento, simulações, materiais educacionais e de treinamentos

2.2. Metodologias para desenvolvimento de de Referência de Greenblat [30]. Elas têm foco no design
simulação e jogo educacional instrucional e do jogo, porém sem integração detalhada,
não apoiam a avaliação do JS, e apenas descrevem o que
Jogos educacionais não simulam comportamentos de deve ser avaliado sobre o desempenho do aprendiz, sem
sistemas e processos, seu foco está em fornecer e avaliar oferecer suporte. Além disto, algumas abordam apenas
conhecimentos [8]. Já as simulações educacionais simu- algumas fases do desenvolvimento [7, 29].
lam em algum grau a realidade (tais como, simuladores
de Física), mas sem incluir elementos de jogos que po- De forma geral, essas metodologias nem sempre deta-
dem engajar e desafiar os aprendizes. lham os artefatos e os papéis dos atores que estão envol-
vidos em cada processo. Da mesma forma, as ferramentas
As metodologias de desenvolvimento de simulação e de suporte se limitam a aplicativos de autoria, sem ofere-
jogo educacional são: GAMED [3], Design da Simulação cer opções para os usuários.
Educacional [4], Modelo FIDGE [5], Processo Sistemáti-
co [8] e Modelo DGBL-ID [27]. Elas não abordam os Neste contexto, é necessária uma nova metodologia
requisitos de fidelidade lógica e física da simulação, não de desenvolvimento de jogos sérios que integre, de fato,
oferecem apoio para avaliação e feedback do desempenho as áreas de jogo, simulação, aprendizagem, avaliação e
do aprendiz, e não integram jogo-instrução de forma domínio de aplicação. Somado a isso, não há metodologia
efetiva. na literatura que especifica o uso de ferramentas open
source em cada fase de desenvolvimento de jogos sérios.
2.3. Metodologias para desenvolvimento de Essas ferramentas podem viabilizar a produção dos arte-
fatos, inclusive gerá-los automaticamente de forma pa-
jogos sérios dronizada, o que pode contribuir para aumentar a quali-
As metodologias de desenvolvimento de jogos sérios dade do produto final. Além disso, essas ferramentas
são: Processo Synergy [6], Processo baseado no Design podem mudar de acordo com as características do jogo
Centrado no Usuário [7], Modelo SG-ISD [28], Processo sério (por exemplos, plataforma, forma de acesso, núme-
baseado em Processo Unificado Rational [29] e Modelo ro de jogadores, forma de persistência dos dados coleta-

111
Rocha et al. RBIE V.24 N.3 – 2016

dos durante o jogo) e da equipe que o desenvolve (por atores envolvidos na produção, cada processo e seus
exemplos, conhecimentos e habilidades específicas). artefatos de entrada e saída; bem como, as avaliações e
validações de aprendizagem com o JS e do próprio JS.
3 Método de Pesquisa Dessa forma, a descrição apresentada neste artigo aborda
apenas os conceitos tecnológicos para fundamentação dos
Para superar os desafios apresentados, uma nova me- diferentes tipos de ferramentas open source que serão
todologia iterativa e integradora foi criada por Rocha apresentados na Seção 5.
[22], para apoiar o desenvolvimento de jogos sérios em
específico, com a finalidade de treinar e avaliar o desem- A Figura 3 apresenta os processos da metodologia,
penho humano. Além da metodologia, descrita na Seção proposta por Rocha [22], que são descritos a seguir. Ela é
4, também foram criados artefatos, modelos, componen- dividida em três etapas: Pré-Produção (uma fase de pla-
tes e uma arquitetura de suporte que guiam e apoiam cada nejamento), Produção (quatro fases que compreendem os
processo do ciclo de vida, descritos em [22]. processos de Análise, Projeto, Implementação e Integra-
ção e Testes), e Pós-Produção (duas fases realizadas
A metodologia foi utilizada para criar 20 protótipos depois que o jogo sério foi produzido: Execução e Avali-
de simulações interativas e um jogo sério completo. Du- ação). O processo “(1) Planejamento” (na Pré-produção)
rante seu uso, foram identificados, selecionados e usados visa a elaboração do plano inicial, a partir das necessida-
diferentes tipos de ferramentas, desde as ferramentas des de treinamento, contendo os procedimentos e as
comuns ao desenvolvimento de software em geral, tais competências que serão treinadas (treinamento) e a situa-
como, editores de texto e sistema de controle de versão, ção do mundo real que será simulada (jogo & simulação).
até as mais específicas para a criação do jogo, tais como Esse plano deve ser feito pelo responsável técnico, que
ferramentas de modelagem 3D e motores de jogos. Den- pode ser um profissional ou uma equipe que contém um
tre as opções que podem ser utilizadas, as principais ou mais pedagogo, professor, treinador e/ou especialista
ferramentas de código livre são apresentadas na Seção 5 no domínio.
(foco deste artigo, conforme Figura 2).
Na etapa de Produção, no processo “(2) Análise”, os
requisitos do jogo sério são especificados, incluindo
dados do treinamento e avaliação (definidos pelo respon-
sável técnico); e dados do jogo, simulação, e arquitetura
de suporte (definidos pelo analista de sistema). Em “(3)
Projeto”, os requisitos anteriormente descritos são trans-
formados em projetos de jogo (responsabilidade do de-
signer), simulação, arquitetura e banco de dados (respon-
sabilidades do analista de sistema), e programa de trei-
namento e avaliação (responsável técnico). Em “(4) Im-
plementação”, os projetos do processo anterior são im-
plementados pela equipe desenvolvedora, apoiados pelo
responsável técnico. Essa equipe é formada por um ou
Figura 2: Visão geral do método de pesquisa e foco deste artigo mais programador e designer de arte e áudio, ou os res-
pectivos responsáveis pelo desenvolvimento do código-
Dois exemplos de cenários desenvolvidos usando a fonte (programação), da arte e do áudio (que podem in-
metodologia e diferentes ferramentas são apresentados e cluir desde modeladores, animadores, produtores de som,
discutidos nas Seções 6 e 7. até atores de voz e testadores). Em “(5) Integração e
Teste”, os artefatos são integrados e testados até a con-
4 Metodologia de Desenvolvimento de clusão do jogo sério. Os atores da equipe desenvolvedora
Jogos Sérios realizam suas funções para integrar e testar os recursos
desenvolvidos no processo anterior.
A metodologia é especificada em Rocha [22], bem
Durante a Pós-produção, no processo “(6) Execu-
como os modelos integradores (programa de treinamento,
ção”, os aprendizes realizam o treinamento (simulação e
modelos formais, diagramas) e os critérios para constru-
treinamento, sendo que o jogo sério realiza a medição e
ção de JSs (cenários, fases, descrição dos objetivos, inter-
fornece feedback) e, ao final, os aprendizes fazem uma
face, avaliações e feedback). Em Rocha [22] também são
autoavaliação (usando um questionário descrito em Ro-
descritos os desafios, teorias e abordagens usadas para
cha [22]). O instrutor é responsável por acompanhar e
produzir um jogo sério (que possui requisitos particula-
auxiliar os aprendizes. Já no processo “(7) Avaliação”, o
res), atingindo os objetivos de aprendizagem/competência
instrutor é responsável por gerar os relatórios de desem-
pretendida. Além disso, são especificados os papéis dos
penho, realizar sua avaliação e fornecer o feedback aos

112
Rocha et al. Metodologia de Desenvolvimento de Jogos Sérios:
especificação de ferramentas de apoio open source

aprendizes (avaliação do desempenho humano). Além ção do treinamento).


disso, os dados coletados ficam disponíveis para avalia-
ção do programa de treinamento e do jogo sério (avalia-

Figura 3: Visão geral dos processos da metodologia de desenvolvimento de jogos sérios (adaptada de [22]) (em azul: desenvolvimento do jogo; em
laranja: execução e avaliação do jogo pronto; em preto: verificação e validação que é realizada ao final de cada processo)

Ao final de cada processo, a atividade de “Verifica- 5 Artefatos e Ferramentas de Código


ção e Validação” deve ser conduzida pela equipe desen-
volvedora, em conjunto com o responsável técnico. Essa Livre
atividade serve de pontos de controle para a qualidade
dos produtos gerados, e caso seja necessário, para a me- O objetivo deste trabalho é estender a especificação
lhoria ou correção dos artefatos produzidos, o desenvol- da metodologia, que foi criada em Rocha [22], de modo a
vimento pode voltar em algum processo anterior, de uma contemplar as ferramentas open source que podem
forma iterativa e incremental. apoiar os atores durante seu uso. A escolha das ferramen-
tas foi feita a partir das necessidades dos artefatos que
A metodologia criada foi avaliada por especialistas serão criados em cada processo, incluindo os critérios de
em Engenharia de Software e desenvolvimento de JSs código livre e multiplataforma (Windows, Linux e Ma-
[22]. Já o jogo sério completo, nomeado GLPSobcontrole cOS).
foi utilizado e avaliado pelo Corpo de Bombeiros do
Estado de São Paulo. Esse jogo e uma simulação interati- A escolha das ferramentas abrange três plataformas
va para celular, nomeada FireTruckSim (para controle do computacionais distintas, em relação ao jogo sério: (1) a
painel do caminhão de bombeiros) são descritos na Seção que os aprendizes e instrutores utilizarão para executá-lo
6. Na próxima seção é apresentada a extensão da metodo- (cliente); (2) a que ele ficará disponível e armazenará os
logia de desenvolvimento de JS, a partir da descrição das resultados do treinamento (servidor); e (3) a que os atores
ferramentas que podem ser usadas para criar os diferentes o desenvolverão (produção), conforme a Figura 4.
artefatos. As plataformas do cliente e do servidor, utilizadas na
execução e avaliação do jogo sério (Figura 3, processos 6
e 7), são especificadas na atividade de “Análise” da “ar-
quitetura de suporte” (Figura 3, processo 2) e projetadas
no em “Projeto” de “arquitetura e banco de dados” (Figu-

113
Rocha et al. RBIE V.24 N.3 – 2016

ra 3, processo 3). Essa especificação inclui os requisitos Testes, pela equipe desenvolvedora. Da mesma forma, o
mínimos e necessários para o cliente (hardware e softwa- **SGBD (Sistema de Gerenciamento de Banco de Da-
re) e o servidor (hospedagem, banco de dados e arquitetu- dos) será executado no servidor para armazenar os dados
ra de suporte). O *Motor de jogos, descrito na Figura 4, coletados durante a execução do jogo sério, porém será
executará o jogo sério (JS) nos clientes, porém ele será projetado, criado e testado durante os processos de pro-
usado durante as fases de Implementação, Integração e dução.

Figura 4: Visão geral das distintas plataformas computacionais e dos grupos de ferramentas relacionadas (adaptado de [32])

A plataforma de produção é a plataforma na qual o que foram selecionadas e que são descritas a seguir,
jogo sério será planejado, analisado, projetado, imple- agrupadas de acordo com o seu uso: (1) uso geral: editor
mentado, integrado e testado pelos atores (Figura 3, pro- de texto e controle de versão; (2) sistemas de gerencia-
cessos de 1 a 5). Para isto, devem ser consideradas as mento de banco de dados; (3) motores de jogos; (4) uso
necessidades dos treinamento e dos usuários finais (re- no projeto: para storyboarding, diagramação UML,
quisitos da arquitetura do JS). modelagem formal e criação de ontologias; (2) uso na
implementação: para modelagem 3D, criação e edição
No Quadro 2 é apresenta uma visão geral dos proces-
de recurso multimídia (imagem, áudio e vídeo), conforme
sos da metodologia, suas atividades principais, os papéis
ilustrado na Figura 4. Em cada subgrupo, as ferramentas
dos atores responsáveis por essas atividades e os artefatos
são descritas em ordem alfabética.
criados por eles. Também são relacionadas as ferramentas

Foco das Artefato(s)


Processos Papéis dos atores Uso geral: Uso específico para:
atividades de saída

Especialistas do
Treinamento
domínio Planejamento
Planejamento
Jogo & inicial Editor de texto e
Analista
Simulação outros aplicativos do
Modelo de Especifi- pacote (Apache
Treinador, especialis-
Treinamento & cação de Treina- OpenOffice, LibreOf-
ta em treinamentos fice e Google Docs©)
Avaliação mento e
e/ou pedagogo
Avaliação
Análise Modelo de Especifi- Controle de versão
Jogo Analista - Centralizado (CVS,
cação de Jogo
Analista (requisitos) e Modelo de Especifi- SVN)
Simulação Especialista no domí- cação de - Descentralizado
nio Simulação (Git, Mercurial)

114
Rocha et al. Metodologia de Desenvolvimento de Jogos Sérios:
especificação de ferramentas de apoio open source

Modelo de Especifi-
Arquitetura de Supor-
Analista cação da
te
Arquitetura
Modelo Integrador
Treinamento & Avaliação –
Avaliação Programa de
Treinamento

Storyboarding (GIMP, Inkscape)


Storyboards, Protó-
Jogo tipos,
Diagramação UML (Argo UML,
Diagramas
Dia, UMLet)
Equipe de Modelagem formal:
Projeto
desenvolvimento -DFA (Automata editor, JFLAP,
Modelos formais Visual Automata Simulator)
(DFA e eventos -DEVS (CD++ Toolkit, DEVSJA-
Simulação
discretos - DEVS) VA 2.7, James II)
Ontologias
Criação de ontologias (OBO-
Edit2, pOWL, Protégé
Modelos de
Arquitetura e Banco
Arquitetura e Banco
de Dados
de Dados
Modelagem 3D
-Paramétrica (BRL-CAD, Free-
Cenários 2D/3D,
Arte CAD)
animações
-Gráfica (Art of Illusion, Blender,
Wings 3D)
Criação e edição de recurso
Editor de texto e multimídia
outros aplicativos do -Imagem (GIMP, Inkscape)
Multimídia Áudios, vídeos pacote (Apache -Áudio (Audacity, LMMS, Sound
OpenOffice, LibreOf- eXchange, Traverso DAW)
Equipe de
Implementação fice e Google Docs©) -Vídeo (Avidemux, CamStudio,
desenvolvimento
Jahshaka, Shotcut)
Controle de versão Motor de jogos (BGE, CS, Del-
- Centralizado (CVS, ta3D, jME, jPCT-AE, OGRE, OSG,
SVN) Panda3D
- Descentralizado
Classes, objetos,
Programação (Git, Mercurial) SGBD
banco de dados
-Relacional (Firebird, MySQL,
PostgreSQL)
-Não relacional (Cassandra, HBa-
se, MongoDB)
Integração Jogo final, banco de
Integração e Equipe de As mesmas ferramentas usadas na
dados e formulários
Testes desenvolvimento implementação
Testes web

Simulação &
Treinamento Dados no BD e em
Execução Instrutor e aprendizes
Medição & formulários web
Feedback
SGBD, Motor de jogos e Jogo sério
Avaliação do desem- Relatórios individu- (produto final desenvolvido)
Instrutor
penho humano ais
Avaliação Relatórios de avali-
Especialistas no Avaliação do treina-
ação do programa de
domínio mento
treinamento
Equipe de desenvol-
Verificação
vimento Artefatos verifica-
Verificação e
Especialistas no dos e validados e
Validação
domínio, instrutores e Validação relatórios
aprendizes
Quadro 2: Visão geral das ferramenta que podem ser usadas para gerar os artefatos de cada processo da metodologia

5.1. Ferramentas de Uso em Geral importante documentar todo o projeto sendo desenvolvi-
do, bem como ter o controle de versão de um conjunto de
Durante o desenvolvimento de qualquer software é

115
Rocha et al. RBIE V.24 N.3 – 2016

arquivos, como suporte à colaboração, segurança e a Java, Python e PHP; e PostgreSQL [68]: de rápido de-
rastreabilidade do que está sendo produzido. Para isso, sempenho, ideal para grandes volumes de dados, possui
podem ser usados editores de texto (bem como, outras recursos de dados estatísticos e interface de programação
ferramentas de escritório, que geralmente vêm no pacote, para C/C++, Java, .Net, Python, Perl, Tcl, entre outras.
tais como, planilhas e apresentação de slides) e sistemas
Para aplicações que demandam escalabilidade, dispo-
de controle de versão.
nibilidade e melhor desempenho do SGBD, soluções
Entre os editores de texto de código livre, há o Apa- NoSQL (não somente SQL) devem ser utilizadas. Nesse
che OpenOffice [80] desenvolvido em C++ e Java; e o caso, algumas opções são: Cassandra [69]: possui arma-
LibreOffice [81] desenvolvido em C++, Java e Python; zenamento chave/valor, escrito em Java, ideal para arma-
ambos têm versões disponíveis para Linux, MacOS e zenar dados muito grandes mas com uma interface agra-
Windows. O Google Docs © [82], para edição de docu- dável; HBase [70]: orientado a colunas, escrito em Java,
mentos, e outros aplicativos do pacote (por exemplos, possui fácil integração com Hadoop, que é uma platafor-
Google Presentation ©: apresentações, Google Spre- ma distribuída de processamento de grandes massas de
adsheets ©: planilhas, Google Forms ©: formulários) dados não estruturados e semiestruturados; e MongoDB
podem ser usados em suas versões gratuitas online. [71]: orientado a documentos, escrito em C++, ideal para
aplicação que requer consultas dinâmicas.
Os sistemas de controle de versão são classificados
em dois tipos, conforme o gerenciamento do repositório:
(1) Centralizado: servidor central único, por exemplo, 5.3. Motores de jogos
CVS [83] e SVN [84]; e (2) Descentralizado: repositório Motores de jogos, em inglês game engines, são apli-
por usuário, tais como, Git [85] e Mercurial [86]. O cativos e conjuntos de bibliotecas que abstraem funciona-
CVS (Concurrent Version System), sistema mais antigo, lidades importantes na criação de jogos e simulações
possui um funcionamento simples que é ainda muito [56]. Essas funcionalidades podem ir desde a comunica-
utilizado. Ele pode ser acessado por interface Web ção com dispositivos de entrada (teclado, mouse, joystick)
(ViewCVS) ou desktop (WinCVS ou MacCVS). Já o e saída (hardware gráfico/vídeo e áudio), até cálculos
SVN (SubVersion) também possui grande aceitação dos físicos e inteligência artificial, conforme estrutura básica
desenvolvedores, principalmente em projetos de código apresentada na Figura 5. Devido a quantidade e diversi-
livre. Diferentes aplicativos clientes podem ser utilizados dade de funcionalidades, a criação de um motor de jogo é
para acessar o servidor, dependendo do sistema operacio- uma tarefa complexa de programação e custosa em ter-
nal, tais como, TortoiseSVN (Windows) e Xcode (Ma- mos de tempo e dinheiro. Por isso, empresas se especiali-
cOS). O Git é um sistema de versão distribuído que é zaram em construir motores para jogos, ou componentes
rápido e eficiente. Entre os clientes com interface gráfica de motores. Dessa forma, o desafio é escolher o motor
estão o GitHub (Windows e MacOS), e o GitEye e Git- que melhor atende os requisitos do projeto de jogo sério
Cola (ambos Windows, MacOS e Linux). Já o Mercurial que será desenvolvido. Abaixo são listados motores de
é o sistema distribuído mais indicado para projetos de código livre e multiplataforma (Windows, Linux e Ma-
grande porte, devido sua rapidez, escalabilidade e facili- cOS). Todos estes motores possuem suporte à renderiza-
dade de uso em relação ao Git. EasyMercurial é um ção, texturização, animação, simulação de física e ma-
exemplo de interface open-source multiplataforma. lhas. Apenas o jME e o jPCT-AE foram desenvolvidos
em Java, todos os outros usaram C/C++. Uma compara-
5.2. Sistemas de Gerenciamento de Banco de ção entre os principais motores de jogos open source é
Dados apresentada em [57].
Um requisito importante dos jogos sérios é a avalia- Blender Game Engine (BGE) [58] é um sistema de
ção do desempenho do aprendiz após o treinamento, por modelagem 3D, animação, composição, renderização e
meio de relatórios. Para que isto aconteça, é necessário desenvolvimento de simulações e jogos 3D em tempo
armazenar todos os dados do treinamento em banco de real. Crystal Space (CS) [59] é um framework para de-
dados. Dessa forma, é importante definir o Sistema de senvolvimento de aplicações gráficas 3D, composto por
Gerenciamento de Banco de Dados (SGBD), relacional um motor de renderização e um sistema de entidade, que
ou não relacional, e projetá-lo. suporta declarações específicas de funções em alto nível.
Delta3D [60] é um motor de simulação e jogo, que con-
Os principais SGBDs objeto relacional e multiplata- tém uma camada de APIs que integra diversas bibliotecas
forma são: Firebird [66]: ideal para pequenos volumes existentes para diferentes fins. Ele possui também um
de dados, possui componentes de acesso em C++, Java, gerenciador de jogo que administra a comunicação entre
.Net, Python, PHP, Perl, entre outros; MySQL [67]: mais as entidades estáticas e dinâmicas, e os dispositivos de
comum, ideal para grandes volumes de dados, possui entradas. jMonkey Engine 3.0 (jME) [61] é um motor
interface para diversas linguagens, tais como, C/C++, desenvolvido em Java, baseado na API gráfica OpenGL.

116
Rocha et al. Metodologia de Desenvolvimento de Jogos Sérios:
especificação de ferramentas de apoio open source

jPCT-AE [62] é um motor de renderização 3D orientado tanto para os desenvolvedores quanto para o responsável
ao desenvolvimento de jogos para Java e Android. técnico e as outras pessoas envolvidas. As ferramentas de
OGRE [63] é um motor gráfico orientado a objetos. código livre que podem ser usadas são os editores de
OpenSceneGraph (OSG) [64] é um toolkit gráfico de imagens: GIMP [34]: para imagens bitmap (mapa de
alto nível para o desenvolvimento de aplicações gráficas bits), desenvolvido em C e GTK+; e Inkscape [35] para
de alta performance, que possui um framework orientado imagens vetoriais, desenvolvido em C e C++. Ambos têm
a objetos, em cima da OpenGL, para o rápido desenvol- versões para Windows, Linux e Mac OS. A diferença é o
vimento de aplicações gráficas. Panda3D [65] é motor de tipo de imagem a ser criada, sendo que cada ferramenta
jogo e um framework para renderização 3D, que utiliza tem funcionalidades específicas para isto.
um grafo de cena para gerenciar os objetos no ambiente
Diagramas baseados na Linguagem de Modelagem
virtual.
Unificada (Unified Modeling Language™ - UML) devem
ser utilizados para representar modelos estruturados e/ou
comportamentais. Além disto, um diagrama baseado no
diagrama estruturado de classe UML foi especificado em
Rocha [22] para integrar diferentes características de um
objeto simulado: arte, áudio, programação e interface.
Para modelar estes diagramas, podem ser usadas as fer-
ramentas: Dia [36] desenvolvida em C, ArgoUML [37] e
UMLet [38], ambas desenvolvidas em Java.
Modelos formais devem ser utilizados para modelar o
comportamento do procedimento de treinamento e os
pontos de avaliação do desempenho humano. Em Rocha
[22], foram especificados os processos para a modelagem
do treinamento usando Especificação de Sistemas de
Eventos Discretos (DEVS) (quando o fator tempo implica
em mudanças de estado) e/ou Autômato Determinístico
Finito (DFA) (quando o tempo não influencia a simula-
ção). Para a visualização e modelagem DEVS, podem ser
usados: CD++ Toolkit [39] desenvolvida em C++; DE-
VSJAVA [40] e JAMES II [41], ambas desenvolvidas
em Java. Para a modelagem DFA, podem ser usados:
Figura 5: Visão geral da estrutura básica de um motor de jogo Automata Editor [42]: editor para desenhar DFA, de-
senvolvido em C/C++; JFLAP [43]: ferramenta gráfica
5.4. Ferramentas de Apoio ao Projeto do Jo- de edição de autômatos formais determinísticos e não
determinísticos (DFA e NFA), desenvolvida em Java;
go Sério Visual Automata Simulator [44]: ferramenta para simu-
Um dos diferenciais da metodologia criada, descrita lar, visualizar e editar DFA ou NFA, também desenvolvi-
em Rocha [22], é a especificação e o uso de modelos da em Java.
integradores como base para o projeto dos JSs, de modo a
possibilitar que equipes multidisciplinares projetem a Ontologia pode ser definida como um corpo de co-
simulação, o jogo e cada uma de suas fases, com as avali- nhecimento para descrever um domínio [45]. Ela pode ser
ações e feedback necessários. Isso inclui storyboards, que utilizada para diferentes propósitos, tais como, represen-
integram a descrição do cenário com as interações; dia- tar o conhecimento de um domínio ou definir as caracte-
grama estruturado, que integra objeto do jogo e simula- rísticas do ambiente de simulação [22, 46, 47]. As onto-
ção; modelos formais, que integram simulações e avalia- logias podem ser criadas a partir de editores visuais, tais
ções; e ontologias que descrevem o conhecimento do como as ferramentas independentes de plataforma (Win-
domínio e cenários simulados. A seguir são descritas dows, Mac, Linux): OBO-Edit2 [48]: editor de ontologi-
ferramentas que podem ser usadas para criar esses artefa- as baseadas em grafo direcionado acíclico; pOWL [49]:
tos. plataforma de desenvolvimento de aplicação Web Se-
mântica, com ontologias baseadas em frames; e Protégé
Storyboards são usados para entender e projetar o ce- [50]: framework e editor de ontologias baseadas em fra-
nário de treinamento, seus objetos e personagens, e des- mes, com diferentes tipos de arquivos. Os editores Proté-
crever a interface de interação e o fluxo de ações que gé e OBO-Edit2 foram desenvolvidos em Java e podem
pode acontecer durante o treinamento [33]. Eles apoiam o ser executados no computador local ou via web. Já o
trabalho colaborativo por serem de fácil entendimento, pOWL foi desenvolvido em PHP e banco de dados SQL,

117
Rocha et al. RBIE V.24 N.3 – 2016

sendo executado apenas pelo servidor web, tendo que Storyboards, descritas na subseção 5.4.
instalá-lo para utilizar. O Protégé é o editor mais utilizado
Para edição de áudio digital, há quatro principais fer-
pela comunidade, e, além de ter um framework, possui
ramentas de gravação e edição que são multiplataforma:
inúmeros plug-ins com diferentes funcionalidades. O
Audacity [72]: gravação e tratamento de áudios (elimi-
pOWL também contém plug-ins e uma API orientada a
nação de ruídos e voz), desenvolvido em C e C++;
objeto. Já o OBO-Edit2 tem uma API.
LMMS [73]: estação de áudio com instrumentos musi-
cais e edição de arquivos MIDI, desenvolvido em C++;
5.5. Ferramentas de Apoio à Implementação Sound eXchange [74]: edição de áudio, desenvolvido em
do Jogo Sério C; Traverso DAW [75]: gravação de áudio a partir de
O jogo contém recursos (também chamados de assets) linha de entrada, desenvolvido em C++. De forma geral,
de texto, arte (imagens 2D e modelos 3D), áudio, vídeo, esses editores possuem diferentes recursos e efeitos de
código, etc. Após o projeto, este conteúdo deve ser criado edição, e suporte de formato de entrada e saída.
ou reusado de repositórios (gratuitos ou pagos). Para Para edição de vídeo, as ferramentas multiplataforma
criar, modelar e editar esses assets, diversas ferramentas são: Avidemux [76]: edição e processamento de vídeos,
podem ser usadas. A seguir são apresentadas as ferramen- desenvolvida em C++; CamStudio: para gravação de
tas de modelagem 3D, motores de jogos e banco de da- vídeo a partir da tela [77]; Jahshaka [78]: inclui edição e
dos). Elas devem ser instaladas e usadas em um compu- animação de conteúdo 3D, desenvolvida em Phyton; e
tador local. Shotcut [79]: inclui a gravação de vídeo a partir da tela e
Para criação de modelo 3D, há software de modela- da webcam, desenvolvida em C++.
gem paramétrica (sólidos 3D), tais como, o BRL-CAD
[51] desenvolvido em C, C++ e Tcl, e FreeCAD [52] 6 Uso das Ferramentas e Resultados
desenvolvido em C++ e Python; e software de modela-
gem gráfica que possui diferentes funções, que vão desde Como resultado deste trabalho, foi feita uma revisão e
texturização até animação, tais como, Blender [53] que seleção das principais ferramentas open source que po-
também possui um motor de jogos, desenvolvido em C, dem ser utilizadas em conjunto com a metodologia de
C++ e Python; Art of Illusion [54] modelagem e anima- desenvolvimento de jogos sérios, para criar os artefatos
ção, desenvolvido em Java; e Wings3D [55] que inclui em cada processo. Cada ferramenta pode ser melhor
texturização, desenvolvido em Erlang. utilizada em um tipo de cenário de aplicação, de acordo
com as necessidades. Dois exemplos de cenários desen-
Recursos multimídia incluem imagens, áudios e ví- volvidos usando a metodologia (FireTruckSim e GLP-
deos digitais. As ferramentas de edição de imagens são: SobControle) e diferentes ferramentas são descritos a
GIMP [34] e Inkscape [35], as mesmas para a criação de seguir (resumidos no Quadro 3).
Foco da
Processos FireTruckSim GLPSobControle
atividades
Treinamento
Planejamento Google Docs © Google Docs ©
Jogo & Simulação
Treinamento & Avaliação
Jogo
Análise Google Docs © Google Docs ©
Simulação
Arquitetura de Suporte
Treinamento & Avaliação Não há Google Apresentações©
Papel e lápis e Google Apresentações© (interface) e ArgoUML
Jogo
Projeto Dia (UML) (UML)
Simulação JFLAP(DFA) Automata Editor (DFA)
Arquitetura e Banco de Dados Papel e lápis Google Apresentações©
Microsoft Power Point (imagens 2D), Unity3D
Blender,
Arte (cenários 2D/3D, animações e sistemas de partícu-
reúso (modelo 3D)
Implementação las), reúso (modelos 3D)

Multimídia Não há CamStudio (vídeo), reúso (áudio)


Programação jPCT-AE e Java Unity3D, C#, PHP, MySQL
Integração
Integração e Testes jPCT-AE e Java Unity3D, C#, PHP e MySQL
Testes

Quadro 3: Resumo das diferentes ferramentas usadas no desenvolvimento da simulação FireTruckSim e do jogo sério GLPSobControle

118
Rocha et al. Metodologia de Desenvolvimento de Jogos Sérios:
especificação de ferramentas de apoio open source

6.1 Simulação interativa FireTruckSim Java.


FireTruckSim é uma simulação simples 2D/3D, para Os principais desafios do projeto FireTruckSim fo-
celulares com o sistema operacional Android, para con- ram: (1) a necessidade de motor gráfico/ de renderização
trole do painel da viatura do Corpo de Bombeiros (opera- 3D adequado para celular, para não consumir muitos
ção da bomba de água), conforme Figura 6 [87]. Os re- recursos do sistema (processamento, memória, bateria,
quisitos iniciais dessa simulação eram: (1) o uso de dife- etc.); (2) a falta de documentação, suporte e exemplos de
rentes dispositivos de interação (celular e desktop); (2) uso dos motores de jogos/gráficos para celulares; e (3) a
uso de modelos 3D, além do 2D; (2) simulação distribuí- necessidade de acesso a uma versão estável do código-
da, ou seja, simulação executada no servidor e visualiza- fonte do motor de jogo/gráfico para implementar a comu-
da nos dispositivos de interação. nicação com o servidor. Vários motores de jogos para a
plataforma Google Android foram comparados e alguns
testados (por exemplo, Ardor3D, Forget3D, Delta 3D,
O3D, X3DOM, jMonkey Engine), sendo que o jPCT-AE
foi o selecionado a partir dos requisitos do projeto. Por
exemplos, Delta3D implementava HLA mas não tinha
uma versão para Android e Ardor3D não tinha uma ver-
são estável e suporte ao desenvolvedor.
A simulação FireTruckSim foi testada e avaliada pela
equipe de desenvolvimento e especialista no domínio,
Figura 6: FireTruckSim: simulação criada para celulares Android [87] sendo que os requisitos iniciais de desenvolvimento fo-
ram atingidos.
O plano inicial (processo de Planejamento) e a especi-
ficação (Análise) foram criados colaborativamente com o
6.2 Jogo sério GLPSobControle
Google Docs ©, usando os modelos de artefatos descritos
na metodologia. No processo de Projeto, a arquitetura e O segundo exemplo é um jogo sério, com três fases
storyboards foram criados usando papel e lápis. A arqui- 2D e três fases 3D, multiplataforma, com acesso on-line
tetura foi especificada usando o modelo em camadas: via navegador Web, para controle de vazamento de gás de
apresentação (interface 2D/3D para diferentes dispositi- cozinha, conforme Figura 8 [22]. Os requisitos iniciais
vos), comportamento (simulação usando DFA), e comu- desse jogo sério eram: (1) a criação de diferentes fases,
nicação (baseada no protocolo e arquitetura de alto-nível com diferentes recursos de interação (jogo 2D, ambiente
HLA). Foram usadas as ferramentas Dia (para modela- virtual 3D, vídeo); (2) acesso via Web (multiplataforma)
gem dos diagramas de UML) e JFLAP (para o DFA - com coleta e armazenamento dos dados no servidor; (3)
apresentado na Figura 7). uso da arquitetura em camadas (descrita em 6.1) e possi-
bilidade de implementação de simulações distribuídas.

Figura 7: FireTruckSim: DFA modelado com JFLAP [87]

No processo de Implementação, Blender foi usado na


modelagem dos elementos gráficos (para reúso de um
Figura 8: GLPSobControle: jogo sério multiplataforma [22]
modelo 3D gratuito disponível na Internet e uso de ima-
gens 2D criadas por um designer externo a equipe do Nos processos de Planejamento e Análise, o plano
projeto) e o motor de jogos jPCT-AE foi usado na im- inicial e a especificação foram criados usando o Google
plementação da interface para celular Android [86]. Além Docs©, a partir dos artefatos descritos na metodologia.
disso, houve a implementação do serviço de simulação do No processo de Projeto, a arquitetura, o programa de
DFA (no servidor) e do serviço de comunicação HLA treinamento e avaliação e os storyboards foram criados
usando java e a API poRTIco que implementa o protoco- usando o Google Apresentações©. Também foram usadas
lo HLA (em ambos, cliente e servidor). A integração dos as ferramentas open source ArgoUML e Automata Editor
recursos criados e usados foi feita usando a linguagem para modelagem dos diagramas de UML (projeto do

119
Rocha et al. RBIE V.24 N.3 – 2016

jogo) e DFA (modelagem da simulação). ção usando scripts. Além disso, há documentação, tutori-
ais e uma comunidade ativa de desenvolvedores.
Na implementação, o banco de dados foi desenvolvi-
do em linguagem MySQL com acesso implementado em O jogo sério GLPSobControle foi testado e avaliado
PHP. A arquitetura cliente e servidor web é apresentada pela equipe de desenvolvimento e por dois especialistas
na Figura 9 [22]. Foi utilizado a versão gratuita do motor no domínio; e foi feito um estudo de caso com oito bom-
de jogo Unity3D© [88], com programação na linguagem beiros que utilizaram o jogo sério. Os resultados indicam
C#. Recursos de arte (texturas e modelos 3D) e áudio que este JS possibilita o treinamento das competências
foram reusados de repositórios gratuitos disponíveis na intencionadas. Além disto, ele permitiu identificar uma
Internet e integrados ao ambiente virtual usando a oportunidade de melhoria no protocolo operacional trei-
Unity3D. As imagens 2D foram criadas usando o Micro- nado [22].
soft Power Point© e salvas no formato .png. O arquivo
de vídeo foi gravado usando a ferramenta CamStudio, 7 Discussões
pois o vídeo apresenta a execução da fase 3 do jogo,
sendo que a sequência de ações é feita incorretamente. A A efetividade de um jogo sério é resultado da sua efe-
integração dos recursos criados foi feita usando o motor tiva concepção e produção somado ao seu correto uso.
de jogos Unity 3D (arte, áudio e programação) e as lin- Sendo assim, um metodologia com qualidade aumentará
guagens C# (cliente) e PHP (servidor). a probabilidade do jogo ser efetivo. Essa qualidade é
influenciada pelos processos (usados para desenvolver os
artefatos); pelos próprios artefatos criados; por seu pro-
jeto (planejamento, gerenciamento de risco, controle e
monitoramento); e pelos atores (ou seja, suas competên-
cias para criar os artefatos) [2]. Um artefato define “o
que” se quer produzir e um processo “como” será produ-
zido. Entretanto, as competências dos atores influenciam
nesse processo e no resultado do artefato criado, princi-
palmente pela multidisciplinariedade requerida no desen-
volvimento de jogos sérios.
Figura 9: GLPSobControle: arquitetura com acesso via Web [22]
Um jogo sério contém requisitos em comum a recur-
Os principais desafios do projeto GLPSobControle fo- sos afins (jogo, simulação, material educacional), para os
ram: (1) o reúso de modelos 3D com diferentes resolu- quais existem metodologias específicas de desenvolvi-
ções; (2) a necessidade de sistemas de partículas para mento. Entretanto, adotar uma dessas metodologias não é
simulação de explosão e vazamento de gás; e (3) a falta suficiente para cobrir todos os requisitos de jogos sérios.
de documentação, suporte e exemplos de uso dos motores Além disso, se cada profissional adotar uma metodologia
de jogos. Vários motores de jogos foram comparados e própria, poderá haver falta de integração e/ou desbalan-
alguns testados (por exemplo, Blender Game Engine, ceamento da jogabilidade e efetividade da aprendizagem
Crystal Space, Delta 3D, Irrlicht, jMonkey Engine, com o JS [31]. Entretanto, por serem metodologias de
Ogre3D, OpenSceneGraph, Panda3D), sendo que a áreas bem mais desenvolvidas, muitas teorias e práticas
Unity3D, apesar de não ser open source, foi selecionada a evoluídas e usadas em cada uma dessas áreas podem
partir dos requisitos do projeto. Dentre os melhores moto- beneficiar o desenvolvimento de jogos sérios, se elas
res de jogos analisados estavam Delta3D e JMonkey forem integradas ao seu desenvolvimento.
Engine 2.0, pois eram as únicas das ferramentas open
Nesse contexto, uma metodologia que integra e pa-
source analisadas que tinham efeitos especiais para ex-
droniza “o que” e “como” deve ser produzido em cada
plosão, sendo que Delta3D não tinha uma versão estável
etapa pode auxiliar na produção de um jogo sério efetivo.
e suporte ao desenvolvedor; e jMonkeyEngine é um mo-
Essa padronização também pode possibilitar o reúso de
tor baseado em grafos (i.e., representa todos os elementos
artefatos, e até a sua geração automática. Entretanto, as
dos jogos, geometrias, áudio, física, etc., em grafos), o
que dificultou a integração de diferentes modelos 3D. Ao metodologias existentes ou focam requisitos específicos
passo que, a Unity3D é um ambiente de desenvolvimento dos jogos sérios, ou, quando mais abrangentes, não abor-
(IDE - Integrated Development Environment) e motor dam todos os requisitos para uma aprendizagem efetiva.
para desenvolvimento de jogos que possui uma interface Essas limitações são, muitas vezes, causadas pelo próprio
gráfica, na qual é possível importar, criar e configurar os contexto de que jogos sérios são inseridos em outras
recursos (tais como, modelos 3D; imagens e texturas; áreas de pesquisa e desenvolvimento, tais como, soluções
áudio e vídeo; sistema de partículas para simulação de em simulação distribuída, engenharia de software, jogo
explosão, água, poeira, entre outras), além da programa- como objeto educacional, realidade virtual e aumentada,
treinamento e desenvolvimento humano, sistemas de

120
Rocha et al. Metodologia de Desenvolvimento de Jogos Sérios:
especificação de ferramentas de apoio open source

medição de desempenho humano; ou em subáreas de 8 Considerações Finais


pesquisa, tais como, desenvolvimento de jogos para dis-
positivos específicos (por exemplo, consoles ou celula- Há uma lacuna entre as áreas que oferecem apoio à
res) ou jogos para domínios particulares (por exemplo, criação de jogos sérios (design de jogos, modelagem de
saúde, educação). simulações, design de instrução e treinamento), de modo
Além da padronização dos processos e dos artefatos que as metodologias propostas para o desenvolvimento
que devem ser produzidos, entender as características das de jogos sérios e educacionais são limitadas ao não
plataformas e ferramentas é o primeiro passo tanto para abrangerem todos os requisitos necessários de cada área.
poder utilizá-las, como para estendê-las, de modo a criar Além disto, ao mesmo tempo que a metodologia tem
um ambiente e framework que possibilite mais recursos que guiar e apoiar o desenvolvimento do jogo sério, de
de apoio à equipe de desenvolvimento, tanto nos aspectos forma sistemática, padronizada e multidisciplinar, ela
de reúso e interoperabilidade de artefatos, quanto em sua também tem que ser flexível para atender às diferentes
geração automática. necessidades dos atores que estão usando-a. Desta forma,
Nesse contexto, uma nova metodologia foi proposta e os produtos gerados e ferramentas usadas mudam depen-
avaliada por Rocha [22], descrevendo processos, papéis dendo das características do jogo sério e da equipe (quan-
dos atores, e artefatos de entrada e saída. Entretanto, tidade e competências dos atores). Assim, a escolha das
abordou parcialmente a descrição de ferramentas. Dessa ferramentas adequadas impacta no sucesso do desenvol-
forma, este artigo propõe uma extensão à metodologia, vimento do jogo sério, tanto em termos de custo financei-
especificando ferramentas de código livre que podem ser ro, quanto de prazo de entrega e qualidade do produto
usadas. final. Como por exemplo, um modelo 3D pode não ser
exportado para um formato aceito por um motor de jogo,
De forma geral, ter um conjunto de opções de ferra- ou quando exportado ficar abaixo da qualidade aceitável.
mentas possibilita a escolha do que mais se adequa a cada Isto implicaria em retrabalho, o que aumentará o custo e
contexto. Ainda mais, essas ferramentas de código livre e prazo de entrega do produto final.
seus artefatos gerados podem ser estendidos para padro-
nizar modelos de saídas conforme artefatos de entradas Neste artigo, foi apresentado um conjunto de ferra-
requeridos nos processos seguintes, diminuindo esforços mentas de código aberto que pode ser utilizado para criar
no desenvolvimento (tempo, dinheiro, recursos huma- os artefatos em cada processo da metodologia. Além
nos). A seguir são discutidas algumas possibilidades de disto, foram apresentados dois estudos de caso, entre os
como essas ferramentas e artefatos podem ser expandi- 20 protótipos desenvolvidos com o uso da metodologia,
dos. para exemplificar os usos dessas ferramentas.

As ferramentas de modelagem DFA e DEVS podem Como trabalhos futuros, estas ferramentas deverão ser
ser estendidas para gerar os modelos padronizados que analisadas e estendidas, de modo a facilitar o trabalho dos
servem de entradas para os componentes que simulam o atores, por meio da geração de artefatos de diferentes
treinamento e avaliação. Da mesma forma, as ferramentas processos do ciclo de vida da metodologia, seu reúso
de diagrama UML podem ser estendidas para contemplar (criação de um repositório de artefatos) e interoperabili-
as alterações realizadas no diagrama estruturado de clas- dade de objetos e ambientes simulados.
se, o qual especifica as características do objeto simulado. Outros aspectos da metodologia também deverão ser
As ontologias, além de especificar o cenários do pro- aprofundados, tais como: (1) identificação de cenários
grama de treinamento, poderiam ser utilizadas para espe- com diferentes necessidades de projeto do jogo sério,
cificar os dados que serão coletados e armazenados no para realização de novas provas de conceitos usando a
banco de dados, bem como serem usadas para gerar as metodologia e as ferramentas descritas; (2) gerenciamen-
tabelas automaticamente. to da qualidade dos projetos e equipe de desenvolvimen-
to, abordando a descrição e avaliação das competências
Além disso, a identificação dos formatos padrões, que necessárias para cada ator envolvido; e (3) definição de
as ferramentas geram para os diferentes assets (tais como, métricas e indicadores para avaliar o uso da metodologia.
modelos 3D, imagens e texturas, áudios e vídeos) possibi-
litará a criação de um repositório compartilhado para o Agradecimentos
desenvolvimento de novos jogos sérios, podendo até,
dada a padronização ou com uso de conversores, serem Agradecemos ao CNPq, FAPESP e CAPES (projeto
reusados em diferentes plataformas. Procad e processos 2010/17005-7, 237216/2012-4 e
150613/2015-6), pelo apoio financeiro; ao Corpo de
Bombeiros do Estado de São Paulo, pelo auxílio; e a
todos que participaram do projeto na Universidade Fede-

121
Rocha et al. RBIE V.24 N.3 – 2016

ral de São Carlos, pelas colaborações. mulation Interoperability Workshops, 04E-SIW-


037, Edinburgh, páginas 1-10, 2004.
Referências [14] H.M. Chandler. Manual de Produção de Jogos
Digitais. 2. ed. Bookman, Porto Alegre, 2012.
[15] J. Novak. Desenvolvimento de Games. Cengage,
[1] C. Aldrich. Learning by doing: a comprehensive
São Paulo, 2010.
guide to simulations, computer games, and ped-
[16] P. Schuytema. Design de Games: uma aborda-
agogy in e-learning and other educational expe-
gem prática. Cengage, São Paulo, 2008.
riences. Pfeiffer, San Francisco, 2005.
[17] R.K. Branson, G.T. Rayner, J.L. Cox, J.P. Fur-
[2] O. Balci. A Life Cycle for Modeling and Simu-
man, F.J.King, W.H.Hannum. In Interservice
lation. Simulation. 88(7):870-883, 2012.
Procedures for Instructional Systems Develop-
[3] S. Aslan, O. Balci. GAMED: Digital Education-
ment. (5 vols.). Ft. Monroe, U.S. Army Training
al Game Development Methodology. Simula-
and Doctrine Command, 1975.
tion. 91(4):307-319, 2015.
[18] W. Dick; L. Carey; J.O Carey. The Systematic
[4] W.K. Adams, et al. A Study of Educational
Design of Instruction. Allyn & Bacon, 2004.
Simulations Part I – Engagement and Learning.
[19] J. Kemp. Instructional Design: a plan for unit
Journal of Interactive Learning Research,
and course development. Fearon-Pitman, Bel-
18(3):397-419, 2008.
mont, 1977.
[5] G.K. Akilli; K. Cagiltay. An Instructional De-
[20] ABNT. NBR ISO 10015:2001 - Gestão da Qua-
sign/Development Model for the Creation of
lidade: diretrizes para treinamento. ABNT, Rio
Game-Like Learning Environments: the FIDGE
de Janeiro, 2001.
model. In: Pivec, M. (Ed.), Affective and Emo-
[21] J. Trybus. Game-Based Learning: What it is,
tional Aspects of Human-Computer Interaction:
Why it Works, and Where it's Going. NMI Whi-
Game-Based and Innovative Learning. IOS
te Paper. New Media Institute, New York, 2010.
Press, páginas 93-112, 2006.
[22] R.V. Rocha. Metodologia iterativa e modelos
[6] K. Becker; J. Parker. Serious Instructional De-
integradores para desenvolvimento de jogos sé-
sign: ID for digital simulations and games. In P.
rios de treinamento e avaliação de desempenho
RESTA (ED.), Proceedings of Society for In-
humano. Tese de Doutorado, Universidade de
formation Technology & Teacher Education In-
São Carlos, 2014.
ternational Conference 2012. Chesapeake: AA-
[23] A.H. Feinstein; H.M. Cannon. Constructs of
CE, páginas 2480-2485, 2012.
Simulation Evaluation. Simulation & Gaming,
[7] S. Freitas; S. Jarvis. A Framework for Develop-
33(4): 425-440, 2002.
ing Serious Games to meet Learner Need. In In-
[24] R.T. Hays; M.J. Singer. Simulation Fidelity in
terservice/Industry Training, Simulation, and
Training System Design: bridging the gap be-
Education Conference, páginas 1-11, 2006.
tween reality and training. Springer, New York,
[8] R.T. Hays. The Effectiveness of Instructional
1989.
Games: a literature review and discussion.
[25] D. Michael; S. Chen. Serious Games: games that
Technical Report, Naval Air Warfare Center
educate, train, and inform. Thomson Course
Training Systems Division, 2005
Technology, Boston, 2006.
[9] H. Engström; E. Ambring; C-J Dahlin; E.
[26] J. Gordon; R. Zemke. The Attack on
Sjöstrand. Making a Game of the Old Testament
ISD. Training Magazine, 37(4):42, 2000.
Balancing Authenticity, Education and Enter-
[27] N.A.M, Zin; A. Jaafar; W.S. Yue. Digital Game-
tainment. IADIS International Journal on
Based Learning (DGBL) Model And Develop-
WWW/Internet, 9(1):1-7, 2011.
ment Methodology For Teaching History.
[10] J. Banks, J.S. Carson II, B.N. Nelson, D.M. Nic-
WSEAS Transactions On Computers, 2(8):322-
ol. Discrete-Event System Simulation. 3rd. ed.
333, 2009.
Prentice-Hall, New Jersey, 2001.
[28] S. Kirkley; S. Tomblin; J. Kirkley. Instructional
[11] IEEE. 1516.3-2003- IEEE Recommended Prac-
Design Authoring Support for the Development
tice for High Level Architecture (HLA): federa-
of Serious Games and Mixed Reality Training.
tion development and execution process
In Interservice/Industry Training, Simulation,
(FEDEP). IEEE, New York, 2003.
and Education Conference (I/ITSEC). Blo-
[12] IEEE. 1730-2010- Distributed Simulation Engi-
omington, páginas 1-11, 2005.
neering and Execution Process (DSEEP). IEEE,
[29] H.F. Rodrigues; L.S. Machado; A.M. Valença.
Washington, 2010.
Definição e Aplicação de um Modelo de Proces-
[13] F. Ford. The Euclid RTP 11.13 SE Development
so para o Desenvolvimento de Serious Games na
& Exploitation Process (SEDEP). European Si-
Área de Saúde. In Proc. Congresso da Socieda-

122
Rocha et al. Metodologia de Desenvolvimento de Jogos Sérios:
especificação de ferramentas de apoio open source

de Brasileira de Computação - Workshop de In- Worlds for the Web. In IADIS International
formática Médica, páginas 1532-1541, 2010. WWW/Internet 2004 Conference, páginas 683-
[30] D.J. Van Der Zee; B. Holkenborgb; S. Robinson. 690, 2004.
Conceptual modeling for simulation-based seri- [47] D.C. Paiva. Modelagem e Simulação de Multi-
ous gaming. In Decision Support Systems, v. dões Humanas em Situações da Vida Cotidiana
54(1):33-45, 2012. usando Ontologias. Dissertação de Mestrado,
[31] B.B. Marklund. Games in Formal Educational Universidade do Vale do Rio Sinos, 2006.
Settings Obstacles for the Development and Use [48] The OBO-Edit Working Group. OBO-Edit2.
of Learning Games. Licentiate Dissertation (In- http://oboedit.org/, 2015.
formatics), University of Skövde, Sweden, [49] Sören Auer. pOWL: Semantic Web develop-
2013.
 ment platform.
[32] R.V. Rocha; Zem-Lopes, A.M.; L.Z. Pedro; I.I. http://sourceforge.net/projects/powl/, 2015.
Bittencourt; S. Isotani. Metodologia de Desen- [50] Stanford Center for Biomedical Informatics Re-
volvimento de Jogos Sérios: especificação de search. Protégé. http://protege.stanford.edu,
ferramentas de apoio open source. In XXVI Sim- 2015.
pósio Brasileiro de Informática na Educação, [51] U.S. Army Research Laboratory. BRL-CAD:
Maceió, páginas 489-498, 2015. 
 Open Source Solid Modeling. www.brlcad.org,
[33] A. Rankin, J.N. Field, R. Kovordanyi, M. Morin, 2015.
J. Jenvald, H. Eriksson. Training Systems De- [52] The Freecad Team. FreeCad: an open-source
sign: bridging the gap between users and devel- parametric 3D CAD modeler.
opers using storyboards. In Proceedings of the http://www.freecadweb.org, 2015.
29th Annual European Conference on Cognitive [53] Blender Foundation. Blender Game Engine.
Ergonomics, New York, páginas 205-212, 2011. http://www.blender.org, 2015.
[34] The GIMP Team. GIMP: GNU Image Manipu- [54] Peter Castman. Art of Illusion.
lation Program. http://www.gimp.org/, 2015. http://www.artofillusion.org, 2015.
[35] The Inkscape Team. Inkscape. [55] D. Gudmundsson, R. Jones. WINGS 3D.
https://inkscape.org/, 2015. http://www.wings3d.com, 2015.
[36] The Gnome Project. DIA. [56] B. Feijó, E.W. Clua, F.S. Silva. Introdução à Ci-
https://wiki.gnome.org/Apps/Dia, 2015. ência da Computação com Jogos: aprendendo a
[37] CollabNet, Inc. ArgoUML. programar com entretenimento. Elsevier, Rio de
http://argouml.tigris.org, 2015. Janeiro, 2010.
[38] UmLet. UMLet: Free UML Tool for Fast UML [57] R.V.Rocha; R.B. Arajo. Metodologia de Design
Diagrams. http://www.umlet.com, 2015. de Jogos Sérios para Treinamento: Ciclo de vida
[39] G. Wainer. C++ toolkit for Discrete-Event mod- de criação, desenvolvimento e produção. In XII
eling and simulation. http://cell- Simpósio Brasileiro de Jogos e Entretenimento
devs.sce.carleton.ca, 2015. Digital, São Paulo, páginas 63-72, 2013.
[40] The Arizona Center for Integrative Modeling [58] Blender Foundation. Blender Game Engine: in-
and Simulation (ACIMS). DEVSJAVA. troduction.
http://acims.asu.edu/software/devsjava, 2015. https://www.blender.org/manual/game_engine/in
[41] Modeling & Simulation Research Group. troduction.html, 2015.
JAMES II: JAva-based Multipurpose Environ- [59] Crystal Space Team. Crystal Space.
ment for Simulation II. www.jamesii.org, 2015. http://www.crystalspace3d.org, 2015.
[42] Automata Editor. [60] Delta3D. Delta3D. http://www.delta3d.org,
http://automataeditor.sourceforge.net, 2015. 2015.
[43] S.H. Rodger. JFLAP. [61] jMonkeyEngine. jMonkeyEngine: a cross-
http://www.jflap.org/jflaptmp, 2015. platform game engine for adventurous Java de-
[44] J. Bovet. VAS: Visual Automata Simulator. velopers. http://jmonkeyengine.org, 2015.
https://www.cs.usfca.edu/~jbovet/vas.html, [62] H. Foerster. jPCT-AE: the free 3D solution for
2015. Java and Android. http://www.jpct.net/jpct-ae,
[45] B. Swartout; R. Patil, K. Knight; T. Russ. To- 2015.
ward Distributed Use of Large-Scale Ontologies. [63] Torus Knot Software Ltd. OGRE: Object-
In Proceedings of AAAI97 Spring Symposium Oriented Graphics Rendering Engine.
Series Workshop on Ontological Engineering: http://www.ogre3d.org, 2015.
AAAI Press, páginas 138-148, 1997. [64] OSG Community. OpenSceneGraph.
[46] W. Bille; O. Troyer; F. Kleinermann; B. Pellens; http://trac.openscenegraph.org/projects/osg/,
R. Romero. Using Ontologies to Build Virtual 2015.

123
Rocha et al. RBIE V.24 N.3 – 2016

[65] Carnegie Mellon University. Panda3D. [82] Google. Google Docs


https://www.panda3d.org, 2015. https://www.google.com/docs/about/, 2015.
[66] Firebird Foundation Incorporated. Firebird: true [83] Free Software Foundation, Inc. CVS: Concur-
universal open source database. rent Version System.
http://www.firebirdsql.org, 2015. http://savannah.nongnu.org/projects/cvs, 2015.
[67] Oracle Corporation. MySQL: the world’s most [84] The Apache Software Foundation. SVN: Apache
popular open source database. Subversion. http://subversion.apache.org, 2015.
https://www.mysql.com, 2015. [85] Software Freedom Conservancy. Git. http://git-
[68] The PostgreSQL Global Development Group. scm.com, 2015.
PostgreSQL: the world’s most advanced open [86] Matt Mackall. Mercurial.
source database. http://www.postgresql.org, https://mercurial.selenic.com/wiki/Mercurial,
2015. 2015.
[69] The Apache Software Foundation. Cassandra. [87] R.H.P. Lima; R.B. Araujo. Interface de Visuali-
http://cassandra.apache.org, 2015. zação 3D em Dispositivos Móveis para Simula-
[70] The Apache Software Foundation. HBase. ções de Treinamento, Relatório Científico, Uni-
http://hbase.apache.org, 2015. versidade Federal de São Carlos, 2011.
[71] Mongo. MongoDB. http://www.mongodb.org, [88] Unity Technologies. Unity3D.
2015. http://unity3d.com, 2015.
[72] The Audacity Team. Audacity: open source and [89] F. Bellotti; B. Kapralos; P. Moreno-Ger; R. Ber-
cross-platform software for recording and edit- ta. Assessment in and of Serious Games: An
ing sounds. http://web.audacityteam.org, 2015. Overview. In Advances in Human-Computer In-
[73] The LMMS Team. Linux MultiMedia Studio teraction, páginas 1-11, 2013.
(LMMS): open source digital audio workstation. [90] T.M. Connolly; E.A. Boyle; E. MacArthur; T.
https://lmms.io, 2015. Hainey. J. Boyle. A systematic literature review
[74] SoX. Sound eXchange. of empirical evidence on computer games and
http://sox.sourceforge.net, 2015. serious games. Computers & Education, 59(2):
[75] The Traverso Team. Traverso DAW. 661–686, 2012.
http://traverso-daw.org, 2015. [91] L. Donovan. The Use of Serious Games in the
[76] Avidemux. http://avidemux.sourceforge.net, Corporate Sector: a state of the art report.
2015 Learnovate Centre, 2012. Disponível em:
[77] CamStudio Open Source: free streaming vídeo http://www.learnovatecentre.org/wp- con-
software. http://camstudio.org/, 2015. tent/uploads/2013/06/Use_of_Serious_Games_in
[78] The Jahshaka Project Ltd. Jahshaka: realtime _the_Corporate_Sector_PRINT_FINAL. pdf.
editing and effects. www.jahshaka.com, 2015. Acesso em: nov. 2013.
[79] Meltytech, LLC. Shotcut. http://shotcut.org, [92] Boyle, E.; Connolly, T.M.; Hainey, T. The role
2015. of psychology in understanding the impact of
[80] The Apache Software Foundation. Apache computer games. Entertainment Computing,
OpenOffice: the free and open productivity 2(2):69-74, 2011.
suite. https://www.openoffice.org/pt-br/. 2015. [93] K.L. Ratwani. Game-Based Training Effective-
[81] The Document Foundation. LibreOffice: uma ness Evaluation in an Operational Setting. Study
suite office livre. https://pt-br.libreoffice.org/, Report 2010-02. 2010. Disponível em:
2015. http://www.dtic.mil/cgi- bin/GetTRDoc?AD
=ADA530660. Acesso em: dez. 2013.

124

Você também pode gostar