Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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.
DOI: 10.5753/RBIE.2016.24.03.109
Rocha et al. RBIE V.24 N.3 – 2016
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-
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
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)
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
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
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)
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
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
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
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
124