UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO DESENVOLVIMENTO DE UM JOGO SÉRIO NO AUXÍLIO DA REABILITAÇÃO FUNCIONAL DO JOELHO USANDO O MICROSOFT KINECT TRABALHO FINAL DE GRADUAÇÃO Alison Santos Machado Santa Maria, RS, Brasil 2015 DESENVOLVIMENTO DE UM JOGO SÉRIO NO AUXÍLIO DA REABILITAÇÃO FUNCIONAL DO JOELHO USANDO O MICROSOFT KINECT Alison Santos Machado Monografia apresentada ao Curso de Sistemas de Informação, da Universidade Federal de Santa Maria (UFSM, RS), como requisito parcial para obtenção do grau de Bacharel em Sistemas de Informação. Orientador: Prof. Dr. Marcos Cordeiro d’Ornellas Santa Maria, RS, Brasil 2015 AGRADECIMENTOS Dedico os meus agradecimentos primeiramente a Deus, a minha família que me deu todo o apoio necessário para alcançar esta conquista. Meu pai Clodoaldo, minha mãe Mary Eliane e meu irmão Andrew; A minha namorada Thaís pelo apoio e compreensão durante os períodos de estudos, como também por suas revisões ortográficas e gramaticais do trabalho final; Aos colegas e amigos pelo companheirismo e auxílio nos estudos e trabalhos, como também pelas risadas e momentos de descontração; Ao professor Jefferson Potiguara pela dedicação e as horas cedidas para que fosse possível concretizar este projeto; Ao professor Marcos d’Ornellas pela orientação e oportunidade de desenvolver este trabalho; A todos aqueles que, de alguma forma, contribuíram para a realização deste trabalho, e não estão nominalmente citados. RESUMO Trabalho de Graduação Curso de Sistemas de Informação Universidade Federal de Santa Maria DESENVOLVIMENTO DE UM JOGO SÉRIO NO AUXÍLIO DA REABILITAÇÃO FUNCIONAL DO JOELHO USANDO O MICROSOFT KINECT AUTOR: ALISON SANTOS MACHADO ORIENTADOR: MARCOS CORDEIRO D’ORNELLAS Data e Local da Defesa: Santa Maria, 14 de dezembro de 2015. O joelho é uma das articulações que possuem maior incidência de lesões decorrentes de atividades esportivas. Entre os mais frequentes traumas estão as lesões no ligamento cruzado anterior. Em decorrência destas lesões, vários indivíduos podem apresentar instabilidade funcional. A fisioterapia é o método terapêutico aplicado na recuperação dos pacientes com este tipo de lesão. Contudo, com o avanço das tecnologias de interação humano-computador é possível o desenvolvimento de softwares para o auxílio no tratamento fisioterapêutico de diversos traumas. Este trabalho apresenta as etapas para o desenvolvimento de um jogo sério que possibilita a interação através de gestos naturais, cujo principal objetivo é contribuir no tratamento fisioterapêutico de indivíduos que sofreram lesão no ligamento cruzado anterior. Fez parte do processo de desenvolvimento do software, etapas como levantamento, especificação e validação de requisitos de software. Por fim, além do processo de desenvolvimento do sistema, foram executados testes com o propósito de avaliar a experiência de jogo dos usuários. O levantamento de requisitos foi realizado junto a profissionais vinculados ao curso de Fisioterapia da UFSM. Seguiu-se o modelo de processo de software, onde o desenvolvimento é realizado de maneira iterativa e incremental, iniciando com um conjunto simples de requisitos e iterativamente desenvolveram-se novas funcionalidades até o sistema todo estar implementado. Através da avaliação, foram obtidos resultados positivos em relação a diversos aspectos de experiência de jogo, comprovando o fator lúdico desta atividade, mesmo sendo seu principal objetivo a recuperação motora de indivíduos que sofreram lesões ligamentares de joelho. Palavras-chave: Jogos Eletrônicos. Unity. Reabilitação Fisioterapêutica. LCA. ABSTRACT Trabalho de Graduação Curso de Sistemas de Informação Universidade Federal de Santa Maria DEVELOPMENT OF A SERIOUS GAME ON THE FUNCTIONAL REHABILITATIONS OF THE KNEE USISNG THE MICROSOFT KINECT AUTHOR: ALISON SANTOS MACHADO ADVISER: MARCOS CORDEIRO D’ORNELLAS Defense Place and Date: Santa Maria, December 14th, 2015. The knee is one of the joints that have a higher incidence of injuries due to sports activities. Among the most frequent traumas are the lesions in the anterior cruciate ligament. Because of these injuries, several individuals may have functional instability. Physical therapy is the therapeutic method applied in the recovery of patients with this type of injury. However, the advancement of Human-Computer Interaction technology enables the development of software for assistance in physical therapy treatment of the diverse traumas. This work presents the steps for developing a serious game that allows the interaction through natural gestures, whose main purpose is to contribute in the physiotherapy treatment of individuals who have suffered injury to the anterior cruciate ligament. It was part of software development process, steps like discovering, specification and validation of software requirements. Finally, in addition to the system development process, tests in order to evaluate the users’ gaming experience were performed. The discovery requirements was conducted in conjunction with professionals related to Physiotherapy course of UFSM. Was used the model software process, which software development is iterative and incremental performed, starting with a simple set of requirements and iteratively developed new features until the whole system to be implemented. Through the assessment, positive results were obtained in relation to various aspects of the game experience, proving the playful factor of this activity, even though its main purpose of motor recovery of individuals who have suffered knee ligament injuries. Keywords: Electronics Games. Unity. Physiotherapy rehabilitation. ACL. LISTA DE FIGURAS Figura 2.1 – Estrutura do joelho ....................................................................................... Figura 2.2 – Estrutura do joelho após lesão no LCA ....................................................... Figura 3.1 – Interface da Unity......................................................................................... Figura 3.2 – Game Object e seus componentes ............................................................... Figura 4.1 – Diagrama de casos de uso do sistema ......................................................... Figura 4.2 – Diagrama de sequência do sistema de colisão dos objetos ......................... Figura 4.3 – Menu de definição de âncoras na Unity ...................................................... Figura 4.4 – Pontos no corpo mapeados pelo Kinect ...................................................... Figura 4.5 – Hierarquia dos objetos do personagem controlável .................................... Figura 4.6 – Componente Kinect Model Controler ......................................................... Figura 5.1 – Menu Principal ............................................................................................ Figura 5.2 – Instruções de jogo ....................................................................................... Figura 5.3 – Menu de Partida .......................................................................................... Figura 5.4 – Configuração da altura do Kinect ................................................................ Figura 5.5 – Partida de jogo sendo executada .................................................................. Figura 5.6 – Fim de uma partida ...................................................................................... 16 17 24 25 31 33 35 36 37 38 49 49 50 51 52 53 LISTA DE GRÁFICOS Gráfico 1 – Porcentagem de respostas em relação a cada afirmativa obtidas através do GEQ ............................................................................................................. 54 LISTA DE TABELAS Tabela 1 – Protocolo de reabilitação adaptado às condições clínicas ............................... Tabela 2 – Afirmativas presentes no Mini-IGEQ ............................................................. Tabela 3 – Moda das respostas do teste de experiência de jogo ....................................... 19 45 55 LISTA DE ABREVIATURAS E SIGLAS LCA AVDs ADM SDK UFSM HUSM UI GEQ Ligamento Cruzado Anterior Atividades de Vida Diárias Amplitude De Movimento Software Development Kit Universidade Federal de Santa Maria Hospital Universitário de Santa Maria User Interface Game Experience Questionnaire EPIGRAFE “Onde não falta vontade existe sempre um caminho. ” (JOHN RONALD REUEL TOLKIEN) SUMÁRIO 1 INTRODUÇÃO .......................................................................................................... 13 1.1 Justificativa .................................................................................................................... 14 1.2 Objetivos ......................................................................................................................... 15 1.2.1 Objetivo geral ............................................................................................................... 15 1.2.2 Objetivos específicos .................................................................................................... 15 2 FUNDAMENTAÇÃO TEÓRICA ......................................................................... 16 2.1 Ligamento cruzado anterior ......................................................................................... 16 2.2 Lesões de ligamento do joelho ...................................................................................... 17 2.3 Propriocepção ................................................................................................................ 18 2.4 Protocolos de tratamentos fisioterápicos ..................................................................... 19 2.5 Jogos sérios ..................................................................................................................... 21 2.6 Kinect .............................................................................................................................. 21 3 O MOTOR DE JOGOS UNITY ........................................................................... 23 3.1 Interface da unity .......................................................................................................... 23 3.2 Criação e manipulação de game objects ...................................................................... 24 3.3 Importação de assets ..................................................................................................... 25 3.4 Sistema de física ............................................................................................................. 26 3.5 Scripting ......................................................................................................................... 26 4 METODOLOGIA ....................................................................................................... 28 4.1 Levantamento de requisitos .......................................................................................... 28 4.2 Especificação dos requisitos.......................................................................................... 29 4.2.1 Requisitos para interação do usuário paciente .............................................................. 30 4.2.2 Requisitos para a interação do usuário fisioterapeuta ................................................... 30 4.3 Modelagem ..................................................................................................................... 31 4.4 Objetos, componentes e métodos utilizados ................................................................ 34 4.4.1 Objetos de interface com o usuário .............................................................................. 34 4.4.2 Objetos da cena principal de jogo ................................................................................ 35 4.4.2.1 Personagem controlável ............................................................................................. 36 4.4.2.2 Bola virtual ................................................................................................................ 38 4.4.2.3 Linha limite ............................................................................................................... 39 4.4.3 Métodos ....................................................................................................................... 39 4.4.3.1 Métodos de controle do menu principal e instruções ............................................... 40 4.4.3.2 Métodos de controle dos colliders ............................................................................ 40 4.4.3.3 Métodos de controle de partida ................................................................................ 41 4.5 Desenvolvimento do sistema ........................................................................................ 43 4.6 Teste de experiência de jogo ........................................................................................ 45 4.6.1 Participantes ................................................................................................................ 46 4.6.2 Modos de jogo utilizados para o teste .......................................................................... 46 4.6.3 Procedimentos para a sessão de teste .......................................................................... 47 5 EXEMPLOS DE UTILIZAÇÃO .......................................................................... 48 5.1 Menu principal.............................................................................................................. 48 5.2 Menu de partida ........................................................................................................... 50 6 RESULTADOS E DISCUSSÃO ........................................................................... 54 7 CONCLUSÃO ............................................................................................................. 57 REFERÊNCIAS ............................................................................................................. 58 13 1 INTRODUÇÃO Há uma grande atenção por parte dos fisioterapeutas em aprimorar o tratamento dos pacientes por meio de métodos de recuperação inovadores. Os jogos sérios têm por objetivo principal transmitir um conteúdo educacional, ou como no caso da fisioterapia transmitir treinamento aos seus usuários. Esses jogos, aparecem então como uma boa opção principalmente pela capacidade motivacional dos jogos, a fim de manter o paciente sempre estimulado pela ideia de diversão aliada ao tratamento (HOCINE et al., 2011). Estas tecnologias são usadas atualmente em diversas áreas, mas têm se tornado cada vez mais recorrente a sua aplicação na área da saúde. O joelho é uma das articulações que possuem maior incidência de lesões decorrentes de atividades esportivas. Entre os mais frequentes traumas na articulação do joelho estão as lesões no ligamento cruzado anterior (LCA) (WOO et al., 2006). A ocorrência de lesão no LCA acarreta em déficits nos mecanismos proprioceptivos dos pacientes acometidos por esse trauma. Porém, a fisioterapia, por meio de técnicas como a cinesioterapia, possibilita aos pacientes suprir a demanda da reação muscular necessária para a reabilitação do controle da articulação que foi lesionada. O tratamento fisioterapêutico é essencial para restaurar a sensibilidade proprioceptiva e melhorar o funcionamento da articulação, diminuindo o risco de ocorrências de novas lesões. Na grande maioria dos trabalhos que fazem uso de jogos sérios aplicados na área da fisioterapia para reabilitação motora de diversos traumas é recorrente a utilização de dispositivos como o Microsoft Kinect, Nintendo Wii, entre outros dispositivos que possibilitam a interação dos usuários através de movimentos naturais. Assim, através dos jogos sérios é possível estimular os movimentos que são executados pelos pacientes nas sessões de terapia de forma lúdica. Para o desenvolvimento do sistema, utilizou-se o motor de jogos Unity. Esta ferramenta foi escolhida por ser uma Game engine completa, além de disponibilizar uma versão gratuita, a Personal Edition, que possibilita o uso das funcionalidades básicas para o desenvolvimento de um jogo eletrônico 3D, tais como, renderização de objetos 3D, sistema de simulação física, arquitetura para a programação de scripts, editor de cenas integrado, como também a possibilidade de se importar modelos 3D, imagens e arquivos de áudio produzidos externamente. 14 Este trabalho inclui as etapas de desenvolvimento, as ferramentas utilizadas e a fundamentação teórica necessária para a confecção de um Jogo Sério, no qual o usuário interage de forma natural, através do Kinect, e executa atividades similares as utilizadas na fisioterapia, para o tratamento de reabilitação funcional dos pacientes acometidos por lesões de ligamento do joelho. 1.1 Justificativa Há na literatura uma grande quantidade de trabalhos relacionados com jogos sérios voltados para a área da fisioterapia, principalmente para reabilitação motora de diversos traumas. A maioria destes trabalhos utilizam dispositivos como o Kinect para a captura de movimentos, assim estimulando através de jogos eletrônicos os movimentos que são executados pelos pacientes nas sessões de terapia (FIKAR; SCHÖNAUER; KAUFMANN, 2013; FLORES et al., 2008; MA; BECHKOUM, 2008; MAIA et al., 2013). Como pode ser observado em Flores et al. (2008), há jogos comerciais com fim de entretenimento, que poderiam ser utilizados para estimulação dos movimentos desejados no trabalho, porém com um potencial terapêutico pequeno por exigirem, em geral, respostas rápidas do jogador, ou até mesmo movimentos mais complexos do que o paciente poderia realizar em determinada etapa do tratamento, inviabilizando sua utilização. É necessário a possibilidade de adaptar o jogo às limitações de cada paciente. Em Maia et al. (2013) foi conduzida uma pesquisa sobre jogos sérios para a reabilitação de pacientes pós-AVC, no qual foi desenvolvido um jogo específico para auxiliar a recuperação dos movimentos ântero-posteriores do tronco do paciente. No trabalho foi utilizado o dispositivo Wii Remote com o auxílio de um colete especial para captura dos movimentos dos pacientes. Além disso, para o desenvolvimento do jogo, houve supervisão de especialistas da área de fisioterapia, o que acarreta em um maior rigor científico sobre a eficácia dos jogos. Porém, como foi citado no trabalho, houve dificuldade no desenvolvimento para encontrar uma maneira eficiente de parametrização da sensibilidade ao movimento, e também necessidade de utilizar outros tipos de sensores mais adequáveis aos outros movimentos sugeridos pela equipe de fisioterapeutas. Outros trabalhos como em Ma; Bechkoum (2008) e Fikar; Schönauer; Kaufmann (2013) investigaram a utilização de jogos sérios no contexto de reabilitação e obtiveram 15 resultados positivos, mostrando que a utilização deste tipo de ferramenta traz benefícios na reabilitação dos pacientes. Isso devido principalmente pelo seu aspecto de aliar diversão e tratamento e consequentemente melhorar a motivação dos pacientes para as atividades realizadas na terapia, que muitas vezes são repetitivas e redundantes. Portanto esse trabalho justifica-se pela já comprovada eficácia da utilização da tecnologia dos jogos sérios, aliada a tecnologia de captura de movimentos, através do dispositivo Microsoft Kinect, como uma ferramenta de auxílio na reabilitação das habilidades sensório-motoras de indivíduos acometidos por lesões ligamentares do joelho, tendo em vista a capacidade desta técnica potencializar as atividades realizadas no tratamento. 1.2 Objetivos 1.2.1 Objetivo geral Desenvolver um jogo eletrônico que contribua como ferramenta auxiliar no tratamento fisioterapêutico de pacientes que apresentam desordem de equilíbrio, consequentes de lesões no ligamento do joelho. 1.2.2 Objetivos específicos Aplicar os conhecimentos de tecnologias de computação com vistas a atender as necessidades do problema abordado; Possibilitar interação humano-computador através de gestos naturais; Identificar quais características e funcionalidades o jogo deve apresentar para ser aplicado nas sessões de fisioterapia; Construção de uma interface adequada e de fácil interatividade; Avaliar a experiência de jogo. 16 2 FUNDAMENTAÇÃO TEÓRICA Neste capítulo são descritos os conceitos teóricos sobre os temas abordados e as tecnologias utilizadas neste trabalho. 2.1 Ligamento Cruzado Anterior O joelho é uma articulação sinovial complexa, essencialmente instável devido a sua biomecânica e anatomia, necessitando assim de estruturas resistentes, como o ligamento cruzado anterior (LCA) para manter a estabilidade do joelho. O LCA é o segundo ligamento mais forte do joelho, é designado para agir como estabilizador, que permite a movimentação normal da articulação ao longo da amplitude funcional do movimento, sendo uma banda de tecido conectando o fêmur e a tíbia. É um ligamento intra-articular envolto por um sinóvio e possui terminações nervosas que podem ter funções proprioceptivas. A principal função do LCA é prevenir o deslocamento anterior da tíbia em relação ao fêmur (ARAUJO, 2003). A figura 2.1 ilustra a estrutura do joelho em estado normal. Figura 2.1 – Estrutura do joelho (Fonte: Disponível em: https://umm.edu/system-hospitalsites/midtown/health/medical/spanishency/presentations/ligamento-cruzado-anterior-reparacion-serie Acessado em Novembro de 2015). 17 2.2 Lesões de ligamento do joelho O joelho é uma das articulações que possui maior incidência de lesões decorrentes de atividades esportivas, devido a sua grande exposição a forças externas e pelas demandas funcionais a que ele está sujeito (GARRICK, 2001). Entre os mais frequentes traumas na articulação do joelho que afetam os praticantes de atividades esportivas de diversas modalidades estão as lesões no ligamento cruzado anterior (LCA) (WOO et al., 2006). Estas lesões são as que apresentam ruptura completa com maior frequência, sendo responsáveis por 50% de todas as lesões ligamentares (BONFIM; PACCOLA, 2000). A figura 2.2 ilustra a estrutura do joelho após lesão no LCA. Figura 2.2 – Estrutura do joelho após lesão no LCA (Fonte: Disponível em: https://umm.edu/system-hospitalsites/midtown/health/medical/spanishency/presentations/ligamento-cruzado-anterior-reparacion-serie Acessado em Novembro de 2015). Em decorrência de lesões no LCA, vários indivíduos podem apresentar instabilidade funcional, dentre elas, destacam-se possíveis déficits em mecanismos proprioceptivos e no controle postural, em função do comprometimento dos mecanorreceptores presentes no LCA (OLIVEIRA, 2003). A perda de informação proprioceptiva no joelho, em decorrência de lesão do LCA, acarreta no agravamento da instabilidade, devido à diminuição da sensação de 18 posição e pela ausência do estímulo para a contração muscular reflexiva (BONFIM et al., 2009). Por outro lado, apesar da lesão do LCA e da perda de informação dos mecanorreceptores localizados no ligamento, existem nas demais estruturas do joelho inúmeras outras fontes de informação proprioceptiva, que através de treinamento específico de coordenação neuromuscular podem suprir a demanda da reação muscular necessária para o controle dinâmico da articulação que foi lesionada (IHARA; NAKAYAMA, 1986). Portanto, consequentemente indivíduos que sofrem lesão no LCA possivelmente apresentaram desordem de equilíbrio, o que acarreta a necessidade de submeter-se a tratamentos fisioterapêuticos de reabilitação das habilidades sensório-motoras, para desenvolver uma capacidade adaptativa dos numerosos mecanorreceptores que existem no joelho. Caso contrário, os indivíduos apresentarão déficit motor, dificultando principalmente suas atividades esportivas, ou estarão propensos a um maior risco de sofrerem novas lesões. A fisioterapia é um método terapêutico aplicado na recuperação dos pacientes com este tipo de lesão de ligamento de joelho, que foram submetidos ou não a cirurgias. Baseia-se na utilização de técnicas como a cinesioterapia, que consiste em exercícios terapêuticos, nos quais se estimula a contração muscular com o objetivo da reabilitação cinético-funcional do paciente, entre outras técnicas apropriadas para este tipo de lesão (ZINNI; PUSSI, 2004). A importância da incorporação de um elemento proprioceptivo em qualquer programa de reabilitação justifica-se pelo fato de restaurar a sensibilidade proprioceptiva e melhorar o funcionamento da articulação, diminuindo o risco de ocorrências de novas lesões. O objetivo da fisioterapia no processo de reabilitação é de enfatizar o retorno às atividades de vida diárias (AVDs), com integral amplitude de movimento (ADM) e força adequada promovendo ao paciente estabilidade e funcionalidade na articulação lesada (ELLENBECKER, 2002). 2.3 Propriocepção Propriocepção, também chamada de cinestesia, é definida como uma modalidade sensorial que envolve sensação de movimento e posição articulares e a força exercida pelos músculos com base em informações de outras fontes que não visual, auditiva ou cutânea superficial. Essas fontes são os receptores presentes em cápsulas, ligamentos, tendões e músculos (MUAIDI; NICHOLSON; REFSHAUGE, 2009). 19 Três tipos de mecanorreceptores nos músculos e articulações sinalizam a posição estacionária dos membros e a velocidade de direção dos membros em movimento: (1) receptores especializados sensíveis ao estiramento muscular, denominados receptores do fuso muscular; (2) órgãos tendinosos de Golgi, receptores do tendão que são sensíveis a forma de contração e ao esforço exercido por um grupo de fibras musculares; e (3) receptores localizados nas cápsulas articulares que são sensíveis à flexão ou extensão da articulação (KANDEL, 2003 apud BONETTI, 2007). Os exercícios proprioceptivos são uma parte integral do processo de reabilitação pós lesão e talvez seja prudente o uso clínico na prevenção de lesões desportivas, pois os estudos realizados comprovaram que a prescrição destes exercícios melhora o senso de posição articular e evita que as lesões ocorram (DOVER et al., 2003). 2.4 Protocolos de tratamentos fisioterápicos Na literatura é possível encontrar diversos protocolos de tratamento que são aplicados após cirurgia para reparação do LCA. Todos eles têm como foco o objetivo de dar ao paciente as mesmas capacidades funcionais comparadas ao membro não operado. Com o avanço do conhecimento sobre patologias do joelho vários novos protocolos ainda vêm sendo desenvolvidos, desta maneira as opções de tratamento são numerosas divergindo-se com relação as condutas fisioterápicas. Para a escolha do protocolo a ser utilizado deve-se levar sempre em consideração características do paciente como: idade, profissão, o estilo de vida, dentre outras (PIMENTA et al., 2012). Em Thiele et al. (2009) é apresentado um dos protocolos de tratamento que são aplicados atualmente, o qual foi representado através da Tabela 1. Tabela 1 – Protocolo de reabilitação adaptado às condições clínicas (continua) Objetivos Tratamento 1ª SEMANA Exercícios de amplitude de movimento (ADM) passiva e ativa para flexão e hiperextensão 20 Tabela 1 – Protocolo de reabilitação adaptado às condições clínicas (conclusão) Objetivos Tratamento Controle do edema e derrame articular Controle da dor Controle do quadríceps Crioterapia Mobilização de patela Flexo/extensão tornozelo ativa Contração isométrica do quadríceps Exercícios de controle do quadríceps Mini agachamento Marcha com 2 muletas 1º MÊS ADM = 0 a 120º Atividades limitadas Prevenir derrame articular Padrão de marcha normal Propriocepção na bola Elevação da perna com peso Bicicleta Treino de marcha Alongamento Iniciar hidroterapia Esteira Propriocepção em apoio bipodal 5 A 8 SEMANAS Mobilidade = Membro oposto Controle de derrame articular Recuperação da força muscular Propriocepção em apoio monopodal Exercícios extensão terminal Exercícios em cadeia cinética fechada 2 MESES Déficit de pico de torque = 35% Avaliação isocinética com velocidade angular 180º/s Intensificar exercícios Iniciar trote em linha reta Trote com mudança de direção Exercícios com bola 3 MESES Recuperar força muscular Melhora da propriocepção Iniciar musculação Recuperar força muscular Intensificar exercícios específicos do esporte praticado 4 MESES Avaliação isocinética com déficit de força muscular máx. de 25 a 35% Retorno progressivo ao esporte Fonte: Adaptação da Tabela 1 conforme o disposto em Thiele et. al. (2009, p. 506). 21 Como pode ser observado na Tabela 1 o tratamento fisioterápico é composto por diversas atividades que possuem objetivos distintos, como fortalecimento muscular e propriocepção sendo os exercícios intensificados gradativamente no decorrer do tratamento. O tempo total de recuperação irá depender do protocolo utilizado, porém na maioria dos protocolos encontrados é possível notar um consenso em relação ao início da intensificação dos exercícios proprioceptivos, os quais são executados a partir do 3º mês do tratamento. No 4º mês, a maioria dos protocolos recomendam atividades que buscam especificar os exercícios de propriocepção para o esporte praticado pelo paciente, caso este for praticante de algum desporto. As atividades realizadas nessa etapa, tem como objetivo readaptar os pacientes aos gestos desportivos, porém sem contato físico. 2.5 Jogos Sérios Existem várias definições para Jogos Sérios (ou “Serious Games” em inglês), porém, todas possuem um ponto em comum: o fato de que tais jogos possuem um propósito educacional explícito como prioridade, em vez de servir apenas para o divertimento. Isto, porém, não significa que tais jogos não são ou não possam ser uma forma de entretenimento (MA; OIKONOMOU; JAIN, 2011). Jogos sérios, eletrônicos ou não, já são atualmente utilizados em várias áreas, como a educação, a medicina, o meio empresarial e a área militar (SUSI; JOHANNESSON; BACKLUND, 2007). 2.6 Kinect Kinect é um sensor de movimentos desenvolvido pela Microsoft. Sua primeira versão foi desenvolvida para o Xbox 360, um console de jogos produzido pela mesma empresa. Com o Kinect a Microsoft apresentou uma nova tecnologia capaz de permitir, aos usuários do console, interagir com os jogos eletrônicos sem a necessidade de ter em mãos um joystick. O dispositivo permite aos seres humanos interagir de forma natural com os computadores, através de movimentos, gestos e comandos de voz. A Microsoft disponibiliza para 22 desenvolvedores um kit de desenvolvimento (SDK), para a criação e implementação de novas aplicações (KINECT, 2015). 23 3 O MOTOR DE JOGOS UNITY Neste capítulo são apresentadas as principais características do motor de jogos (game engine) Unity, que foram utilizadas para o desenvolvimento do jogo proposto neste trabalho. Estas informações foram retiradas dos manuais e documentos encontrados no site oficial da ferramenta (UNITY, 2015). 3.1 Interface da Unity O motor de jogos Unity possui uma interface bastante simples e amigável, que objetiva facilitar o desenvolvimento de jogos de diversos gêneros. Sua área de trabalho é composta de várias janelas chamadas views, cada uma com um propósito específico. A figura 3.1 apresenta a interface da Unity, identificando cada umas das views. A janela Project é a interface para a manipulação e organização dos vários arquivos (Assets) que compõem um projeto tais como scripts, modelos, texturas, efeitos de áudio e etc. A estrutura exibida é semelhante ao sistema de arquivos de um sistema operacional, correspondendo as subpastas dentro da pasta principal do projeto. A janela Hierarchy exibe todos os elementos que se encontram na cena. Além disso, nessa janela pode-se organizar e visualizar a hierarquia de composição entre os objetos que compõem a cena que se está editando. A janela Scene é a view principal de manipulação dos objetos no editor de cenas da Unity, possibilitando a orientação, rotação e posicionamento de todos os objetos como, câmeras, cenários, personagens e todos os que compõem a cena, mostrando de forma clara o efeito de cada alteração no cenário ativo. Pode-se manipular os objetos através das opções de arrastar e soltar com o mouse, semelhante as das ferramentas de modelagem 3D. Na janela Inspector é onde se tem acesso a vários parâmetros de um objeto selecionado, apresentando os atributos de seus componentes que podem ser ajustados. 24 Figura 3.1 – Interface da Unity (Fonte: Disponível em: http://docs.unity3d.com/Manual/LearningtheInterface.html Acessado em Outubro de 2015). 3.2 Criação e manipulação de Game Objects Arquitetura da Unity é modelada através de orientação a objetos, onde os elementos de um jogo são herdados de uma classe básica, normalmente da classe Game Object, e novas funcionalidades são acrescentadas. Assim como em outras categorias de desenvolvimento de software orientado a objetos, o uso demasiado de herança tornou-se obsoleto, principalmente por causa da pouca flexibilidade quando os objetos de jogo possuem múltiplos comportamentos. A Unity é baseada em um modelo mais moderno voltado para a arquitetura de objetos de jogo, que é baseado em composição. Deste modo, é possível agregar vários componentes a um objeto de jogo. Estes componentes apresentam várias funcionalidades. Os componentes são então responsáveis por implementar os diversos comportamentos que o Game Object pode ter. Um componente pode ser desde um script, uma geometria de colisão, ou uma textura. Ou seja, os Game Objects podem representar qualquer coisa no cenário, sendo diferenciado pelos componentes que estão agregados a ele. Outra ressalva é que todos os 25 Game Objects instanciados já possuem pelo menos o componente Transform, responsável pela funcionalidade de posicionamento, orientação e escala do objeto em relação a cena do jogo. A figura 3.2 apresenta alguns componentes agregados um Game Object na Unity. Figura 3.2 – Game Object e seus componentes 3.3 Importação de Assets É possível a importação de diferentes arquivos desenvolvidos em outras ferramentas externas a Unity, o que geralmente se torna necessário para o desenvolvimento de um jogo, pois são utilizadas texturas, modelos 3D, arquivos de som e scripts, que necessariamente são desenvolvidos em outras ferramentas, ou são reutilizados de outras aplicações. A Unity possui 26 uma forma muito simples de importação desses Assets para dentro de um projeto, basta que os mesmos sejam “arrastados” para dentro da Project views, ficando disponível para a utilização no projeto. A Unity aceita os formatos populares de modelos 3D, como o FBX, os formatos wav, mp3 para áudio e texturas no formato jpg, png, bmp, dentre outras. E além disso é possível manipular esses novos Assets, sem a necessidade de importá-los devidamente prontos, pois algumas configurações são possíveis através da ferramenta. 3.4 Sistema de física A Unity utiliza internamente o popular motor de física PhysX da Nvidia para efetuar a simulação física de corpos rígidos e o tratamento de colisões de objetos. A PhysX é um motor de física utilizado em vários jogos comerciais populares, sendo considerado um dos mais completos que existe. Várias das funcionalidades oferecidas pela PhysX são manipuladas através da interface da Unity, permitindo simulação de físicas complexas. Para utilizar a simulação de física nos elementos é necessário agregar ao objeto componentes específicos, como o RigidBody, que agrega funcionalidades de um “corpo rígido”, como o próprio nome em inglês indica. Neste componente é possível, por exemplo, definir a “massa corporal”, se este objeto sofre efeito com a força da gravidade, dentre muitas outras funcionalidades. Outro componente, que se torna essencial para a física de jogo é o componente Collider, que são geometrias básicas de colisão, podem ter o formato de esfera, cubo, cápsula, ou precisas como um Mesh Collider, que é baseada na geometria do objeto a que está agregado. Dessa forma, pode-se tratar a simulação de colisões entre os objetos, e manipular em como essas colisões afetam o jogo, podendo ser executadas funções através dos scripts, os quais são detalhados na próxima subseção. 3.5 Scripting O sistema de scripting torna-se essencial para responder a alguma interação do jogador, como também para organizar eventos no jogo e executá-los no momento certo. Além disso, os scripts podem ser usados para criar efeitos gráficos, controlar o comportamento 27 físico de objetos, ou até mesmo implementar um sistema de inteligência artificial de um personagem do jogo. O sistema de scripts na Unity permite que os mesmos sejam implementados nas linguagens javascript, C Sharp (C#) ou Boo (um dialeto de Python). Não há perda de desempenho ao utilizar uma ou outra linguagem, sendo possível utilizar scripts de linguagens diferentes em um mesmo projeto. Os scripts são tratados como componentes de Game Objects, desta forma, é importante projetar os scripts de maneira modular, para um melhor ganho em flexibilidade de reuso de código, pois é possível utilizar o mesmo script para diferentes Game Objects. A execução de um mesmo script agregado a diferentes Game Objects funcionam de forma independente. Através dos scripts é possível acessar qualquer componente que pertence ao Game Object a que o script foi vinculado. Além disso, é possível acessar qualquer objeto que faz parte da cena em tempo de execução, desde que esteja ativo, e manipula-lo através dos métodos disponíveis na arquitetura da Unity. Também é possível, acessar atributos e métodos contidos em outros scripts, instanciados em qualquer objeto da cena, desde que os mesmos estejam definidos como public ou public static, como em qualquer outra ferramenta orientada a objetos. 28 4 METODOLOGIA 4.1 Levantamento de requisitos Para o levantamento de requisitos do jogo desenvolvido foi utilizada a técnica de entrevistas, que faz parte da maioria dos processos de engenharia de requisitos no desenvolvimento de software, e que produz bons resultados principalmente na fase inicial de obtenção de dados (SOMMERVILLE, 2011). As entrevistas foram realizadas tanto com professores, quanto alunos vinculados ao curso de Fisioterapia da Universidade Federal de Santa Maria (UFSM) e também vinculados ao Hospital Universitário de Santa Maria (HUSM) para a definição das características e funcionalidades que garantissem a relevância da aplicação do sistema no tratamento fisioterapêutico. Desta maneira os professores e alunos de fisioterapia exerceram o papel de stakeholders para o levantamento dos requisitos. Sommerville (2011) propõe um processo genérico de levantamento e análise de requisitos, no qual este trabalho utilizou as seguintes atividades: Descoberta de requisitos: essa é a atividade de interação com os stakeholders do sistema para descobrir seus requisitos. Os requisitos de domínio dos stakeholders também são descobertos durante essa atividade. Existem várias técnicas complementares que podem ser usadas para a descoberta de requisitos (dentre elas está a técnica de entrevistas); Classificação e organização de requisitos: essa atividade considera o conjunto não estruturado dos requisitos e os organiza em grupos coerentes; Priorização e negociação de requisitos: quando múltiplos stakeholders estão envolvidos, os requisitos poderão apresentar conflitos. Essa atividade está relacionada com a priorização de requisitos e em encontrar e resolver os conflitos por meio da negociação de requisitos; Especificação de requisitos: os requisitos são documentados, escritos em linguagem natural ou estruturados. Primeiramente através das entrevistas realizadas foi possível obter informações acerca de diversos aspectos essenciais para o desenvolvimento, como a respeito do tratamento de reabilitação utilizado atualmente no HUSM, quais os movimentos que poderiam ser 29 estimulados através do jogo, como também informações que possibilitaram traçar um perfil de usuário. As informações obtidas nessa etapa se tornaram úteis tanto para a elaboração das interfaces, quanto para a mecânica do jogo. Posteriormente, novas entrevistas foram utilizadas para a concepção de uma ideia básica do jogo, na qual foi proposto buscar estimular a propriocepção da estabilidade dinâmica dos indivíduos. Desta maneira, o jogo desenvolvido somente poderá ser aplicado em uma fase avançada do tratamento, onde são intensificados os exercícios proprioceptivos, o que geralmente ocorre a partir do 3º mês de tratamento dependendo do protocolo utilizado, conforme citado na seção 2.4. A ideia inicial do jogo, definida nas entrevistas, consiste em estimular o usuário a realizar deslocamentos laterais de maneira dinâmica, como também movimentos de chute, tentando atingir bolas que surgem na tela, simulando a prática de movimentos realizados no futebol. Após a etapa da definição básica do que consistiria o jogo, foram discutidas e definidas quais seriam as variáveis que poderiam ser manipuladas pelo fisioterapeuta dentro da interface do jogo. E finalmente foram especificados os requisitos do jogo desenvolvido, através das atividades propostas por Sommerville (2011), os quais são apresentados com mais detalhes na seção seguinte. 4.2 Especificação dos requisitos A partir da ideia básica inicial do jogo, foi discutido quais seriam as variáveis que poderiam ser manipuladas na interface pelo profissional de fisioterapia, a fim de modificar a experiência de jogo dos pacientes. Ao final foram definidas as seguintes variáveis: Dinâmica: controlar a que intervalo de tempo o indivíduo será estimulado a realizar um novo movimento; Tempo: possibilidade de regular por quanto tempo o indivíduo executará as atividades; Área de deslocamento: definir o tamanho da área em que o usuário será estimulado a se deslocar; Membros habilitados: definir quais membros serão válidos para a interação dentro do jogo; 30 Dificuldade de jogo: criação de níveis de jogo, onde será possível de alguma maneira exigir maior ou menor esforço do usuário. Para a aplicação do jogo no tratamento de reabilitação será necessário a atuação de dois usuários distintos, os médicos/profissionais da fisioterapia que irão aplicar o jogo, e os pacientes que estarão realizando o tratamento, que irão devidamente jogar e realizar as atividades propostas no jogo. Desde modo, foram divididos em duas categorias de requisitos para os dois tipos de atores. 4.2.1 Requisitos para interação do usuário paciente Para a interação dos usuários pacientes foram especificados os seguintes requisitos: O usuário deve interagir de forma natural com o jogo; O jogo deve apresentar um modelo 3D, de fácil visualização, que será o personagem que representará os movimentos reais executados pelo usuário, para interação com os demais objetos do jogo; O personagem deve simular da melhor maneira possível os movimentos realizados pelo usuário, levando-se em consideração as limitações de captura de movimentos obtidas através do dispositivo utilizado; Bolas, representadas também em modelo 3D, devem surgir na tela em pontos aleatórios e se deslocar na direção do personagem. Estas devem também ser de fácil visualização; Deve ser possível que o personagem atinja com os membros inferiores as bolas dispostas na tela, e que seja identificada a colisão entre esses dois objetos, e além disso, que seja claramente perceptivo que ocorreu esta colisão; Deve ser apresentado ao final de uma rodada/partida um resultado, com o número de bolas que o usuário conseguiu atingir com sucesso e número das quais não obteve sucesso. 4.2.2 Requisitos para a interação do usuário fisioterapeuta 31 Para a interação dos usuários profissionais de fisioterapia foram especificados os seguintes requisitos: Deve ser possível selecionar três níveis diferentes de jogo, diferindo-se a respeito da área onde será necessário se deslocar; Deve ser possível definir a velocidade com que os objetos que representam uma bola se deslocam no jogo; Definir o intervalo de tempo entre o surgimento de uma bola e a seguinte; Definir o número de bolas que serão geradas em uma rodada/partida de jogo; Deve haver a possibilidade de desabilitar um dos membros inferiores do personagem, o qual não será válido para as colisões; Deve ser possível definir o tamanho das bolas a serem atingidas. 4.3 Modelagem A interface do sistema foi modelada como ilustra a figura 4.1, através de um diagrama de casos de uso. Este diagrama tem como objetivo dar uma visão simples da interação dos usuários com o sistema. Figura 4.1 - Diagrama de casos de uso do sistema 32 A interface do sistema está dividida em dois menus, nos quais o usuário deve navegar para se iniciar uma partida de jogo. No menu principal, o fisioterapeuta tem acesso as seguintes funções: Iniciar jogo; Visualizar instruções; Sair (encerrar o jogo). É possível se obter informações acerca das funcionalidades do jogo, na opção “Visualizar instruções” onde contém dicas que venham a ser necessárias para a utilização do mesmo. A opção “Sair” serve para encerrar e fechar a janela do jogo. Ao selecionar a opção “Iniciar o jogo”, é apresentado ao usuário uma nova tela onde é possível regular a inclinação do ângulo de visão do dispositivo Kinect, utilizando o motor de inclinação do sensor. Isso se dá pela informação por parte do fisioterapeuta, da altura, em metros, em que está posicionado o dispositivo em relação ao chão. Desta maneira o dispositivo irá regular automaticamente seu campo de visão e se ajustar conforme a altura informada. Ao final deste processo, o usuário confirma a informação e é direcionado para próxima tela onde se encontra o menu de partida. No menu de partida do jogo são apresentadas diversas configurações que podem ser manipuladas pelo fisioterapeuta, que foi representado no diagrama como o caso de uso “Configurar partida”. Nesta tela também fica disponível a opção “Iniciar partida”, que a qualquer momento pode ser ativada pelo fisioterapeuta. Após selecionar a opção “Iniciar partida”, o menu partida é ocultado e iniciam-se as atividades realizadas pelo paciente. A única opção selecionável pelo fisioterapeuta é a função “Cancelar partida”, onde é possível cancelar e encerrar a partida ativa, e deste modo, cancelando os contadores de tempo, pontos obtidos pelo usuário, entre outros objetos que são destruídos ou retornados ao seu estado inicial, e além disso, volta a ser visível o menu de configurações para uma nova partida. Quando se inicia uma nova partida, o paciente então se torna o usuário ativo, os colliders são ativados, e desta maneira é possível que o personagem interaja com os objetos do jogo. Nesta etapa, são geradas as bolas que devem ser atingidas pelo personagem controlado pelo usuário. O usuário então deve se deslocar e executar os movimentos necessários para atingir o maior número de bolas possível. Um placar é apresentado à direita da tela, representando o número de bolas para aquela partida, definidas pelo fisioterapeuta. Esse placar é atualizado durante a execução da partida a cada chute convertido pelo usuário, ou seja, que devidamente colidiu com uma bola, sendo apresentado um ícone no placar indicando que a bola foi convertida. O placar também é atualizado quando uma bola gerada 33 não é atingida pelo personagem e acaba colidindo com um outro objeto, que foi chamado de “Linha limite”, a qual está localizada na posição extrema do cenário captado pela câmera virtual dentro do jogo. Quando a bola colide com esta linha, é representada no placar através de um ícone diferente que busca representar que a bola não foi convertida. Foi utilizado para representar o sistema de colisões da partida um diagrama de sequência, o qual tem como objetivo principal modelar as interações entre os atores e os objetos e as interações entre os próprios objetos. O diagrama é apresentado na figura 4.2. Figura 4.2 - Diagrama de sequência do sistema de colisão dos objetos 34 4.4 Objetos, componentes e métodos utilizados Esta seção busca discutir sobre os objetos e componentes inseridos e desenvolvidos presentes no projeto, além de apresentar de maneira mais detalhada como foram implementadas as funcionalidades do jogo. 4.4.1 Objetos de interface com o usuário Para a interação do usuário com os menus e configurações do jogo foram utilizados elementos presentes no sistema de interface de usuário (UI system) da Unity. É possível através deste sistema fazer uso de elementos visuais, como texto e imagem, bem como controles de interação, como Buttons, Toggles e Sliders. Todos os elementos de interface do usuário devem ser inseridos em uma área chamada Canvas. Na prática todos os elementos de UI devem ser inseridos como “filhos” de um objeto Canvas, o qual é um Game Object que possui o Canvas component. Desta maneira é possível usufruir de facilidades em relação a posicionamento dos elementos, que possuem três modos de renderização: Screen space – Overlay em que posicionamento é feito em relação ao espaço de tela; Screen space – Camera que é feito em relação a visão de uma câmera virtual específica; e World space onde o posicionamento é feito em relação ao espaço de mundo de jogo. Através do Canvas também é possível definir a hierarquia entre os elementos, ancoragem, pivôs, entre diversas outras funcionalidades. No jogo foram utilizados botões (buttons), principalmente no menu principal, assim como Sliders para a alteração de valores no menu de partida, como por exemplo, velocidade, tamanho da bola e número de bolas. Porém para estes mesmos componentes do menu partida foi oferecida a alternativa de digitar os valores através do teclado, com uso dos elementos input text que estão também presentes no sistema UI. No menu partida foi utilizado também o elemento toggle para a seleção dos membros inferiores ativos no personagem. Elementos visuais como imagens de fundo e textos para títulos e avisos foram apresentados também através dos elementos do sistema de interface do usuário. Algumas das funcionalidades que se mostraram bastante úteis para a confecção do jogo foram as oferecidas através do componente rect trasnform, presente em todos os 35 elementos do Canvas. Através das definições de âncoras (anchors), presentes no componente rect transform, foi possível posicionar e alinhar os elementos de interface de uma maneira bastante simples, de modo que independente da dimensão de tela utilizada os elementos serão representados com a mesma orientação e alinhamento pré-definido. A figura 4.3 apresenta o menu suspenso para as definições de âncoras na Unity. Através da figura é possível visualizar as opções básicas de ancoragem mais comuns, que podem ser, por exemplo, fixar o elemento de UI para os lados ou no meio da matriz que representa a tela, ou esticar juntamente com o tamanho do “pai” do elemento, sendo que a ancoragem horizontal e a vertical são tratadas de forma independente. Figura 4.3 – Menu de definição de âncoras na Unity (Fonte: Disponível em: http://docs.unity3d.com/Manual/UIBasicLayout.html Acessado em Novembro de 2015). 4.4.2 Objetos da cena principal de jogo O jogo foi dividido em três cenas diferentes, uma para o menu principal, outra para a apresentação das instruções de jogo e a última para a partida, na qual está presente o menu de partida e onde ocorre a execução do jogo em si. As duas primeiras cenas citadas apresentam apenas objetos de interface com o usuário, como descrito na subseção anterior. Nesta subseção será detalhado mais especificamente os objetos que fazem parte da cena principal do 36 jogo, buscando descrever seus componentes e o comportamento esperado de cada um dentro do jogo. 4.4.2.1 Personagem controlável O Game object que representa o personagem (avatar) foi desenvolvido para simular dentro da cena do jogo os movimentos realizados pelo paciente. Foi feita uma busca através da internet de um modelo pré-fabricado (Prefab) que representasse um corpo humano articulado, onde se pudesse definir os pontos articuláveis onde o controle de movimentos pudesse ser feito através do Kinect. Este modelo articulado nada mais é que um conjunto de objetos definidos hierarquicamente e ligados por determinados pontos, desta forma através dos controles de movimento são simulados os movimentos das articulações do corpo humano ou de qualquer outro tipo de articulação que se deseja representar. Utilizou-se este tipo de objeto para que a representação dos movimentos realizados pelo usuário fosse apresentada da forma mais semelhante possível com os movimentos reais. A figura 4.4 apresenta os pontos mapeados do corpo do usuário através dos sensores do Kinect e os quais são também os pontos articuláveis no personagem do jogo. Figura 4.4 – Pontos no corpo mapeados pelo Kinect (Fonte: Disponível em: https://msdn.microsoft.com/en-us/library/jj131025 Acessado em Novembro de 2015). 37 O objeto específico do personagem que será controlado por um ponto mapeado pelo Kinect é definido de maneira bastante simples através da interface da Unity. Basta incluir no objeto que representa o personagem um componente chamado Kinect Model Controler, este é um script que faz parte do kit de desenvolvimento Kinect for Windows SDK 2.0, disponibilizado pela Microsoft para o desenvolvimento de aplicações que utilizam o Kinect. Tendo este script e os demais inseridos devidamente no projeto, basta “arrastar” os objetos que representam os membros do personagem para a área onde pode-se definir os objetos públicos que o script irá manipular. A figura 4.5 apresenta a hierarquia simplificada dos objetos que representam os membros do personagem controlável no jogo e a figura 4.6 o componente do script Kinect Model Controler que apresenta os Game objects públicos já definidos com os objetos do personagem. Figura 4.5 – Hierarquia dos objetos do personagem controlável 38 Figura 4.6 – Componente Kinect Model Controler Dentre outros componentes que foram inseridos no Game object que representa o personagem controlável, pode-se destacar o componente Collider, sua função é a identificação de colisão do objeto ao qual ele foi agregado com os demais objetos no jogo que também devem possuir um componente Collider. Neste caso foi adicionado dois componentes Collider, um no objeto que representa o pé direito e outro no que representa o pé esquerdo do personagem. Outro componente inserido da mesma maneira, nos objetos que representam o pé direito e esquerdo do personagem, foi um script que foi desenvolvido para a invocação de métodos que produzam os efeitos visuais ou demais comportamentos que o jogo deva apresentar após ser identificada a colisão do chute do jogador na bola virtual. Os scripts utilizados são discutidos mais detalhadamente na próxima subseção. 4.4.2.2 Bola virtual Outro objeto que exerce papel importante no jogo é o que representa a bola de futebol virtual, a qual o jogador tem por objetivo atingi-la na execução da partida. Além dos componentes básicos de física e renderização, como também o componente Collider, foi 39 necessário a utilização de um outro componente do sistema de física no qual é possível adicionar uma força constante a um determinado objeto. Neste caso utilizou-se este componente para representar o efeito de deslocamento da bola em direção ao jogador. Tendo em vista o espaço tridimensional no qual o objeto é inserido na cena do jogo, possui-se os eixos x, y e z. Foi definido como default o valor 10 para a adição de “força” para o deslocamento do objeto no eixo “z”. Porém, este parâmetro pode ser manipulado através do menu de partida onde é indicada a alteração da velocidade da bola, sendo possível alterar o seu valor no intervalo de 5 à 50, o que resulta em maior velocidade de deslocamento conforme se aumenta o valor deste parâmetro. 4.4.2.3 Linha limite É o objeto que foi chamado de “Linha limite” na modelagem de sistema, e o qual tem como função identificar quantas bolas o jogador não conseguiu atingir durante uma partida. Este é um objeto plano (plane) no qual foi agregado um componente para identificação de colisão, para tornar possível identificar a colisão de uma bola virtual com este plano. O objeto foi posicionado atrás da linha que representa a área do goleiro no campo de futebol, no limite de visão da câmera virtual do jogo. O objeto ocupa toda a dimensão de espaço horizontal dentro do intervalo de posições em que é possível uma bola percorrer, o qual será discutido posteriormente na próxima subseção. Juntamente com o componente Collider também foi inserido um script que foi desenvolvido para definir as ações consequentes dentro do jogo a partir da identificação da colisão da bola com este objeto. 4.4.3 Métodos Nesta subseção são apresentados os métodos utilizados para a implementação das funcionalidades do jogo definidas no levantamento de requisitos. Os métodos implementados estão divididos em 6 diferentes scripts: um para o controle do menu principal; outro para a cena de instruções; para o menu partida; colisores do personagem controlável; para o colisor do objeto “Linha Limite”; e por último o script com os atributos e métodos para o controle da 40 execução da partida, lembrando que cada script representa uma classe que possuí seus próprios atributos e métodos. 4.4.3.1 Métodos de controle do Menu Principal e Instruções O script desenvolvido para o controle das funcionalidades do menu principal possui poucos métodos, implementados basicamente para o controle dos objetos de interface e efeitos sonoros da interação nos botões presentes nesta cena de jogo. Além disso, neste script são feitas as operações necessárias a partir do valor obtido da altura em que está posicionado o dispositivo Kinect informado pelo fisioterapeuta. Na transição de uma cena de jogo para outra na Unity os objetos presentes na cena anterior são “destruídos”. Portanto, tornou-se necessário utilizar o método chamado DontDestroyOnLoad, o qual é um método público padrão, disponível para sua utilização no sistema de scripts dentro de um projeto na Unity. Dessa forma utilizou-se este método para que fosse possível manter o valor da altura definido pelo usuário para a configuração do ângulo de visão dos sensores do Kinect na cena seguinte. Foi implementado mais um script também apenas para o controle da interface da cena, onde são apresentadas as instruções de jogo. Os métodos apenas manipulam a exibição dos objetos dispostos nesta cena. Optou-se por separar os métodos de instruções e os do menu principal, pelo motivo de os objetos pertencerem a cenas de jogo diferentes e por questão de organização. 4.4.3.2 Métodos de controle dos Colliders Os dois scripts seguintes possuem funções semelhantes, ambos controlam as respostas de jogo após a identificação de colisão com algum objeto que representa a bola virtual. O primeiro destes dois scripts foi agregado em dois objetos distintos presentes no jogo, no objeto que representa o pé direito e outro no que representa o pé esquerdo do personagem controlável. A colisão é verificada através de um método do sistema de física da Unity chamado OnCollisionEnter, pelo qual é possível identificar a colisão do objeto em questão com qualquer outro objeto no jogo, desde que ambos os objetos possuam o componente 41 Collider. Em seguida é verificado se o objeto que colidiu não é uma bola que já foi atingida anteriormente por algum outro colisor. Esta verificação é feita através dos layers da Unity, os quais servem basicamente para criar grupos de objetos que compartilham características particulares. Deste modo, após a bola colidir com um dos colisores ela é atribuída à um layer específico. Posteriormente, é possível identificar que esta bola já foi colidida e que não deve ser tratada como uma bola válida para a execução de ações, como por exemplo, incrementar o placar do jogo. Caso a bola que colidiu com um dos Colliders presentes no pé esquerdo ou direito do jogador seja uma bola válida, o placar de jogo é incrementado via script. O placar é alterado indicando que uma bola foi atingida pelo personagem, caso a colisão seja feita com um dos objetos que representam o pé do jogador, ou indicando que a bola não foi atingida, caso a bola colida com o objeto “Linha limite”. A diferença entre os dois scripts fica por conta dos objetos manipulados por cada um, dentre eles imagem e sons. Além disso, a classe da Linha limite destrói o objeto que representa a bola um segundo após a colisão, indicando ao usuário por meio da execução de um efeito sonoro, como também de efeito visual. Por meio do componente halo, uma luz avermelhada cobre a circunferência da bola, indicando assim ao usuário que a bola não foi atingida. Já o script presente nos objetos do personagem, também indica a colisão por meio de efeitos visuais e sonoros, porém diferenciando na cor produzida pelo componente halo, que neste caso foi escolhida a cor verde. O som executado também se difere, para que o usuário identifique facilmente qual situação ocorreu. Outra diferença entre os dois scripts é que neste segundo a bola continua sendo apresentada na tela por 10 segundos antes de ser “destruída”, executando-se os efeitos de física que simulam a movimentação da bola após o chute. 4.4.3.3 Métodos de controle de partida Os últimos dois scripts, os quais ainda não foram detalhados, foram o script que controla o menu de partida e o que controla a execução da partida em si. No script do menu partida é onde são manipulados todos os objetos UI do menu de configuração de partida. Os diversos métodos desta classe possuem basicamente as mesmas funções, que são atualizar os valores das variáveis definidas pelo usuário, tanto visualmente, através da interface do jogo como internamente na atribuição dos valores para a execução da partida posteriormente. 42 O script principal possui dezenas de atributos e métodos, os quais exercem função para diversas funcionalidades, dentre elas controlar os efeitos visuais como textos de avisos, contagem regressiva, cronômetro, instanciar novos objetos, habilitar e desabilitar objetos. Um método bastante importante que se pode destacar é o método responsável por instanciar um novo objeto que representa a bola virtual, após o início da partida em um intervalo de tempo pré-definido. Este processo foi implementado fazendo uso do método InvokeRepeating, o qual também é um método público disponível na Unity. Através deste método é possível invocar um outro método específico em um determinado intervalo de tempo. Posteriormente é verificado por meio de outro método público da Unity chamado Update, o qual é invocado automaticamente a cada frame renderizado, se o número de bolas em jogo já atingiu o número definido pelo usuário da partida, caso isso já tenha ocorrido é cancelada a invocação do método InvokeRepeating. Quando uma nova bola é instanciada, é definida uma posição no eixo “x” do espaço tridimensional, no qual a bola irá se deslocar neste eixo em direção ao personagem. Esta posição é definida aleatoriamente através do método Random, também disponível como método público na Unity, o qual retorna um número do tipo float randomicamente. Porém, este número aleatório é gerado a partir de um intervalo de valores, o qual é influenciado pelo nível de jogo escolhido pelo fisioterapeuta. Contudo, o intervalo de valores que corresponde ao ponto específico onde a bola irá ser instanciada é dividido em dois intervalos, lado direito e lado esquerdo. Portanto, antes de ser gerado este valor aleatório para a definição da posição da bola, é gerado também através do método Random um valor para definir se a bola surgirá no lado direito ou esquerdo do jogador. Desta maneira, o valor da posição da bola é sorteado para um intervalo referente a um lado ou outro da tela. No nível 1 de jogo, o intervalo de valores para o eixo “x” variam no lado esquerdo entre -6.0 e -2.0 e no lado direito entre 0.0 e 4.0, ou seja, variam apenas 4 unidades para cada lado. Neste nível de jogo exige-se pouco deslocamento do paciente, servindo de nível inicial para os usuários iniciantes. Já no nível 2 de jogo, os intervalos variam 15 unidades em cada lado, -17.0 a -2.0 para o lado esquerdo e 0.0 a 15.0 para o lado direito. Por último no nível 3, os intervalos de pontos são idênticos aos citados para o nível 2, diferindo apenas que neste nível a escolha de qual lado será escolhido para surgir uma nova bola não é feita de forma randômica. Apenas o lado inicial é feito de forma aleatória, posteriormente os lados onde poderá surgir a nova bola é alternado, não repetindo o mesmo lado e consequentemente forçando o paciente se deslocar de maneira mais ativa, o qual é o objetivo deste último nível de jogo. 43 Existem também os casos em que o fisioterapeuta pode desabilitar uma perna do personagem controlável. Neste caso foi reduzido o intervalo de pontos do lado da perna desabilitada. Optou-se por esta definição porque o paciente apenas conseguiria atingir uma bola em ponto extremo do lado da perna desabilitada, por meio de movimentos em que a perna habilitada cruzasse a frente da perna desabilitada. Este movimento na maioria das vezes não é simulado de maneira condizente pelo personagem do jogo. Isso ocorre pela perda do ponto mapeado pelos sensores do Kinect, quando uma perna sobrepõe a outra na imagem captada. Além disso, notou-se que utilizando todo o intervalo de pontos estava-se elevando extremamente o nível de dificuldade do jogo. Portanto nestes casos foi definida uma variação apenas de 4 unidades nos pontos do lado da perna desabilitada, os mesmos intervalos de pontos já apresentados para o nível 1. 4.5 Desenvolvimento do sistema Com a Unity é possível desenvolver aplicações para diferentes plataformas, entre elas PC (Windows, Linux, Mac OS), Android, Xbox 360, PlaySatation 3, entre outros. Para este trabalho foi desenvolvido um jogo para a plataforma PC que utilizam sistema operacional Windows. Além disso, a Unity disponibiliza uma abrangente documentação que pode ser acessada localmente através da própria ferramenta ou online através de seu site oficial. A primeira etapa para o desenvolvimento do jogo consistiu em um estudo da documentação disponível na ferramenta, com objetivo de aprender e verificar os padrões de programação sugeridos pelos manuais disponibilizados pela Unity. A segunda etapa consistiu em encontrar modelos 3D, texturas e arquivos de áudio, através da internet, que foram obtidos de forma gratuita, para representar os objetos e sons do mundo real, a fim de apresentar um cenário mais amigável de jogo. Após a obtenção dos modelos desejados, foi criada uma cena de jogo na Unity, onde foram inseridos os objetos obtidos. Foram desenvolvidas duas cenas distintas para este jogo, uma para o menu principal, e outra para o menu de partida. Outros objetos de formatos básicos ou já oferecidos pela Unity foram criados na própria ferramenta através de suas funcionalidades. Alguns objetos possuem um script como componente de seu Game Object. Cada um desses scripts representa uma classe para o controle dos objetos, os quais foram desenvolvidos através da linguagem de programação C Sharp (C#) e da ferramenta para 44 desenvolvedores de software da Microsoft, o Visual Studio. Através das classes construídas nos scripts, foram programados todos os métodos que controlam as ações do jogo a partir de cada interação do usuário. Através dos scripts é manipulado cada ação resultante das colisões entre os objetos presentes no jogo. Para a interface do jogo foram utilizados os objetos da classe UI (user interface) da arquitetura da Unity, os quais apresentam recursos voltados especificamente para a representação gráfica de objetos para a interface com usuário, como botões, caixas de texto, sliders, scrollbars, dentre outros. Foi adicionado também ao projeto um objeto chamado KinectPrefab, que faz parte do pacote Kinect for Windows SDK 2.0. Este é um objeto pré-fabricado que contém todos os scripts necessários para que se possa carregar as funções do SDK e utilizá-los dentro dos projetos na Unity. Também foram utilizados outros objetos disponibilizados pelo Kinect for Windows SDK, o DepthImagePlane e o KinectPointMan. O primeiro consiste em uma janela onde é renderizado a imagem de profundidade capturada pelo sensor do Kinect, que busca dar feedback ao usuário a respeito de seu posicionamento no campo de visão dos sensores. Já o segundo é um objeto pré-fabricado que representa, através de um conjunto de objetos em forma de esferas, os pontos mapeados pelo Kinect. Este não está visível para o usuário, servindo apenas para a transformação da posição do personagem principal do jogo controlado pelo usuário. O desenvolvimento do jogo foi feito de forma iterativa e incremental, foram apresentadas versões do sistema para a validação junto aos fisioterapeutas, com os quais foi feito o levantamento de requisitos anteriormente. Essas versões continham apenas algumas funcionalidades implementadas, deste modo era verificado se determinada funcionalidade estava de acordo com a ideia estabelecida na definição dos requisitos. Através deste método foram verificadas algumas divergências entre a visão dos fisioterapeutas e o que foi implementado. Foram feitas as modificações necessárias e posteriormente foi desenvolvida uma nova versão, e logo depois, foi feita a tarefa de validação novamente. Este processo foi repetido até que todas as funcionalidades foram implementadas e validadas. Portanto foram realizados testes de experiência do jogo, porém foram feitos de forma informal. Posteriormente foi realizado uma avaliação formal através do Game Experience Questionnaire (GEQ), o qual é descrito mais detalhadamente na próxima seção, assim como todo processo envolvido para a realização do teste de experiência de jogo. 45 4.6 Teste de experiência de jogo Para os testes de experiência de jogo, foi utilizado o Game Experience Questionnaire (GEQ), desenvolvido pela FUGA project, que é um projeto fundado pela comunidade europeia que tem trabalhado com o objetivo de medir a experiência humana com as mídias digitais (IJSSELSTEIJN et al., 2008). Este questionário tem sido utilizado em vários estudos que buscam avaliar a experiência dos usuários em jogos eletrônicos (DRACHEN et al., 2010; DE GROVE; VAN LOOY; COURTOIS, 2010; NACKE et al., 2009). O questionário completo contém 42 afirmativas, que são divididas em sete categorias específicas, as quais buscam avaliar diferentes aspectos da experiência do jogador através do nível de concordância das repostas. Os sete aspectos são: Imersão sensorial e imaginativa; Tensão; Competência; Fluidez; Efeito Negativo; Efeito Positivo e Desafio. Porém, existem versões reduzidas do questionário também desenvolvidas pelo mesmo projeto que podem ser aplicadas dependendo do foco da pesquisa. Neste trabalho foi utilizado o Mini-IGEQ, que contém 7 afirmativas, uma referente a cada aspecto da experiência do jogador, os quais já foram citados anteriormente, como mostra a Tabela 2. Os participantes dos testes responderam ao questionário assinalando o seu grau de concordância em relação a como se sentiu sobre cada afirmativa. O grau de concordância foi definido segundo a escala de Likert e foi definida uma palavra ou frase para rotular cada grau da escala, a fim de facilitar o entendimento para os participantes do que representa cada resposta. A escala foi rotulada da seguinte forma: (0) De modo algum, (1) Levemente, (2) Moderadamente, (3) Bastante e (4) Extremamente. Tabela 2 – Afirmativas presentes no Mini-IGEQ (continua) Nº Aspecto Afirmativa 1 Desafio Eu me senti desafiado 2 Competência Eu me senti habilidoso 3 Fluidez Eu me senti imerso 4 Efeito Negativo Eu o achei cansativo 46 Tabela 2 – Afirmativas presentes no Mini-IGEQ (conclusão) Nº Aspecto Afirmativa 5 Efeito Positivo Eu o achei divertido 6 Imersão sensorial e imaginativa O jogo era esteticamente agradável 7 Tensão Eu me senti frustrado 4.6.1 Participantes Participaram do teste de experiência de jogo 20 alunos do curso de graduação em Fisioterapia da UFSM. Optou-se por executar os testes apenas com alunos do curso de fisioterapia, por dois motivos, a aplicação do jogo na área de estudo específica dos participantes, como também pela questão de maior percepção da aplicação deste jogo como um jogo sério. Caso os testes fossem aplicados em um público geral, talvez nem todos os participantes teriam o entendimento do real objetivo do jogo, sendo assim responderiam o questionário apenas com sua percepção da ludicidade do jogo. 4.6.2 Modos de jogo utilizados para o teste Como o jogo possui diversas configurações que podem ser alteradas, foram definidos três modos de jogo, os quais foram executados da mesma forma para todos os participantes do teste: Modo de jogo 1: Utilizou-se o nível 1 em relação ao deslocamento necessário para atingir as bolas virtuais durante o jogo e as demais configurações com seus valores default. Este primeiro modo serviu apenas para que o participante se habituasse com o ambiente do jogo e a forma de interação, para que fizesse algum questionamento a respeito do mesmo. Modo de jogo 2: Neste segundo modo foi utilizado o nível 3 em relação ao deslocamento, a fim de testar a percepção dos jogadores com a necessidade de maior deslocamento lateral realizado na atividade. 47 Modo de jogo 3: Por último foi testado a funcionalidade de desabilitar um membro inferior do personagem do jogo, forçando o jogador a utilizar apenas uma perna para o chute. Foi utilizado também o nível 3 em relação ao deslocamento neste terceiro modo de jogo. 4.6.3 Procedimentos para a sessão de teste Para as sessões de teste foi realizado o seguinte procedimento: 1. Os participantes foram divididos em grupos de 5 pessoas, portanto em cada sessão havia um grupo participante; 2. A cada grupo foi informado brevemente sobre qual o propósito do jogo, assim como para qual tipo de tratamento ele busca auxiliar e quais seriam as atividades realizadas por meio dele; 3. Um participante por vez foi convidado a se dirigir a área de visão do sensor de movimento; 4. Foi realizado sequencialmente o teste nos três modos de jogo pré-definidos; 5. Por fim, os participantes foram convidados a responderem o questionário a respeito da experiência de jogo. 48 5 EXEMPLOS DE UTILIZAÇÃO Este capítulo busca apresentar de forma descritiva e através de figuras, exemplificar como é o comportamento do jogo desenvolvido com a interação dos jogadores. 5.1 Menu principal Primeiramente ao iniciar o jogo, é apresentada ao usuário a tela do menu principal, como é mostrado na figura 5.1, onde é possível escolher as seguintes opções: Jogar; Instruções; Sair. Caso o usuário escolha a opção “Sair”, o jogo é encerrado. A tela de instruções consiste em dicas através de texto e imagens para informar ao usuário sobre o funcionamento do jogo. A figura 5.2 apresenta uma das telas de instrução de jogo. A opção “Jogar” leva o usuário a uma nova tela, que é mostrada na figura 5.3, onde é possível regular a inclinação do ângulo de visão do Kinect, que pode ser feito de duas maneiras, arrastando o slider de valores ou digitando o valor desejado através do input field. Após esta atividade o usuário ao clicar no botão “Pronto”, confirma o valor informado e é redirecionado a próxima tela, a qual foi chamada de Menu de Partida. 49 Figura 5.1 – Menu Principal Figura 5.2 – Instruções de jogo 50 Figura 5.3 – Configuração da altura do Kinect 5.2 Menu de partida Esta é a tela principal do jogo, que é apresentada na figura 5.4, onde é possível realizar diversas configurações que afetarão na mecânica do jogo. Todas as funcionalidades são listadas a baixo: Níveis de jogo: Nível 1; Nível 2; Nível 3; Número de bolas; Velocidade; Tamanho; Intervalo de tempo para nova bola; Colisores: Pé direito; Pé esquerdo. 51 Figura 5.4 – Menu de Partida A escolha do nível de jogo é feita através de clique do mouse no botão do nível desejado. As demais configurações são alteradas do mesmo modo que é feito na tela de definição da altura do dispositivo Kinect, através do slider ou através do input field, exceto as configurações relacionadas aos Colisores, que são habilitados ou desabilitados através de um elemento chamado toggle, que pode ser marcado ou desmarcado através de um clique. Durante o momento que o fisioterapeuta configura a partida, o paciente já deve estar posicionado no lugar adequado, dentro do campo de visão do sensor do Kinect, que durante esta etapa é ativado. Os movimentos executados pelo paciente são capturados e processados para que o personagem na tela represente seus movimentos dentro do jogo, mesmo durante o momento que o fisioterapeuta interage com o menu de configurações. Optou-se por ativar o sensor neste momento para que o paciente já se ambiente com a interface e se adapte a interação natural com o Kinect. Porém durante este momento, está desabilitada a identificação das colisões entre o personagem com os demais objetos do jogo. Nesta tela também é possível a qualquer momento iniciar uma nova partida, através do botão “Iniciar”. Após iniciar uma partida, o menu de partida é ocultado, apenas ficando visível o placar, o tempo e o DepthImagePlane, dos objetos relacionados à interface, para que o foco do usuário esteja nas ações que devem ser realizadas na partida, como mostra a figura 5.5. 52 Figura 5.5 – Partida de jogo sendo executada Nesta etapa, o usuário ativo é o paciente, restando ao fisioterapeuta a única possibilidade de interação a funcionalidade de cancelar a partida ativa. Em uma partida são gerados os objetos que representam as bolas de futebol conforme a velocidade, tamanho e demais configurações definidas pelo fisioterapeuta, e o paciente tem como objetivo atingir esses objetos através de movimentos de chute, além de se deslocar lateralmente para que seja possível atingir os objetos do jogo pelo personagem controlado. O placar do jogo, apresenta o número de bolas definidas pelo fisioterapeuta, e este placar é atualizado a cada colisão do usuário ou bola que é destruída pelo próprio jogo, as quais o usuário não conseguiu atingir, representadas por uma bola com ícone diferente para cada caso. A partida é encerrada após todas as bolas, conforme o número definido, colidem ou com o personagem ou com um objeto que destrói a bola não atingida pelo usuário. No momento que a partida acaba é apresentada uma janela onde é mostrado quantas bolas foram convertidas pelo jogador e quantas ele não conseguiu atingir, como mostra a figura 5.6. O fisioterapeuta então tem a opção de iniciar uma nova partida, voltando ao menu de partida, ou sair do jogo. 53 Figura 5.6 – Fim de uma partida 54 6 RESULTADOS E DISCUSSÃO Através da aplicação do GEQ foi possível extrair informações sobre diversos aspectos como imersão no jogo, desafio das atividades, qualidade da interface do jogo, dentre outros. Deste modo o GEQ mostrou-se bastante eficaz para o teste de experiência de jogo proposto para este trabalho. Através do gráfico 1 busca-se apresentar a porcentagem das respostas extraídas dos participantes dos testes através da aplicação do Mini-IGEQ. Gráfico 1 – Porcentagem de respostas em relação a cada afirmativa obtidas através do GEQ Para facilitar a análise dos dados obtidos na escala Likert é recomendado utilizar medidas como a moda ou a mediana (POYNTER, 2010). Portanto, foi construída a Tabela 3, a qual apresenta a relação da resposta mais frequente para o grupo de respostas de cada afirmativa, ou seja, apresenta a moda das respostas obtidas. 55 Tabela 3 – Moda das respostas do teste de experiência de jogo Afirmativa Moda das respostas Eu me senti desafiado Levemente Eu me senti habilidoso Moderadamente Eu me senti imerso Bastante Eu o achei cansativo De modo algum Eu o achei divertido Bastante O jogo era esteticamente agradável Bastante Eu me senti frustrado De modo algum Como pode ser observado através do gráfico 1 ou através da Tabela 3, em relação a primeira afirmativa, a qual referia-se ao fator de desafio da atividade realizada no jogo, foi obtido como resposta mais frequente o segundo grau da escala Likert, rotulado neste trabalho como “Levemente”. Este resultado foi obtido possivelmente pelo motivo dos participantes não apresentarem nenhum tipo de limitação motora, como também pelo motivo de os modos de jogo escolhidos para os testes requererem esforço de forma moderada dos participantes para atingirem o objetivo das partidas. Foram escolhidos modos de jogo com dificuldade moderada pois através dos testes foi o primeiro contato dos participantes com o sistema, e possivelmente o primeiro contato de alguns participantes com os dispositivos utilizados ou jogos do gênero. Portanto, para que não houvesse frustração do jogador ao utilizar o sistema pela primeira vez em modos de jogo que exigissem um grau de esforço elevado, optou-se por atividades simples, porém que percorressem as três modalidades diferentes de configurações escolhidas. Em relação a segunda afirmativa, obteve-se como resultado a resposta mais frequente o terceiro grau da escala Likert, podendo-se considerar que os participantes sentiram de forma moderada que realizaram com competência as atividades propostas no jogo, o que demostra que os usuários não encontraram dificuldades em executar as atividades propostas através da utilização do jogo. A afirmação seguinte buscava avaliar o grau de imersão dos participantes em quanto jogavam os modos de jogo propostos. Neste aspecto foi onde obteve-se maior dispersão entre as respostas, houve participantes que indicaram não se sentirem imersos utilizando a interface do jogo, do mesmo modo que alguns indicaram um alto grau de imersão. Entretanto, a resposta mais frequente para esta afirmação foi a resposta “Bastante”, o 56 que indica que apesar da distribuição das respostas, a maioria indicou de forma positiva o aspecto de imersão na utilização do jogo. As afirmações que buscavam avaliar os aspectos positivos e negativos da experiência de jogo dos participantes obtiveram os resultados esperados. Para o aspecto negativo obtevese em 80% a resposta “De modo algum”, quando foi avaliado o grau de concordância dos participantes quando questionados se acharam o jogo cansativo. Para a afirmativa referente ao aspecto positivo do jogo obteve-se como a moda a resposta “Bastante”, quando os participantes foram questionados se acharam o jogo divertido. A sexta afirmativa que compôs o questionário de avaliação da experiência do jogador buscava avaliar a interface de jogo utilizada, questionando o grau de concordância dos participantes quando questionados se achavam o jogo esteticamente agradável. A maioria dos participantes respondeu indicando de forma positiva em relação ao aspecto estético do jogo. Através das respostas obtidas na última afirmativa presente no questionário foi possível observar que os participantes não se sentiram tensos durante a execução das atividades propostas pelo jogo. Esta afirmativa buscava avaliar o grau de concordância dos participantes quando questionados se sentiram de alguma maneira frustrados durante a execução do jogo. Em 90% das respostas os participantes indicaram se sentirem de maneira alguma frustrados durante os testes. De modo geral pode-se considerar que foram obtidos resultados positivos em relação a experiência de jogo, demonstrando que houve boa aceitação quanto aos aspectos avaliados, comprovando, deste modo, o fator lúdico dos jogos sérios mesmo sendo seu principal objetivo a recuperação motora dos pacientes. 57 7 CONCLUSÃO Neste trabalho foi descrito o processo de desenvolvimento de um jogo sério para auxílio no tratamento fisioterapêutico de indivíduos que apresentam déficits motores causados por lesões do ligamento cruzado anterior. Através dos métodos de levantamento de requisitos utilizados foi possível extrair as informações de especialistas da fisioterapia para identificação das características e funcionalidades necessárias para aplicação de um jogo sério que auxiliasse nas sessões de tratamento fisioterapêutico. Para que a interação humanocomputador pudesse ser realizada através de gestos naturais, possibilitando assim a realização das atividades fisioterapêuticas, foi o utilizado o dispositivo Kinect, através do qual foi possível o rastreamento dos movimentos realizados pelos usuários. Utilizou-se também o motor de jogos Unity, assim como o kit de desenvolvimento Kinect for Windows SDK 2.0. Buscou-se também desenvolver uma interface que proporcionasse um ambiente agradável e de fácil interatividade, onde fosse possível identificar de maneira clara as atividades realizadas no jogo. Através dos testes realizados por meio do GEQ foi possível verificar que o jogo desenvolvido atingiu os objetivos propostos sendo avaliado de forma positiva em relação a diversos aspectos, principalmente em relação ao seu aspecto estético e a seu fator lúdico. Para trabalhos futuros sugere-se a avaliação da experiência de jogo com indivíduos que participam do tratamento de recuperação após lesões no LCA, a fim de avaliar a experiência de jogo de indivíduos que apresentam limitação motora. Poderá ser avaliado de alguma maneira se a utilização de atividades alternativas no tratamento fisioterapêutico como a utilização de jogos eletrônicos, como o desenvolvido neste trabalho, potencializam a recuperação dos pacientes. 58 REFERÊNCIAS ARAUJO, A. D. S.; MERLO, J. R. C.; MOREIRA, C. Reeducação neuromuscular e proprioceptiva em pacientes submetidos à reconstrução do ligamento cruzado anterior. Fisioter. Bras., v. 4, n. 3, p. 217-222, 2003. BONETTI, L. V. Exercícios proprioceptivos na prevenção de lesões de tornozelo e joelho no esporte. Out. 2007. Disponível em: < http://www.wgate.com.br/conteudo/medicinaesaude/fisioterapia/cinesio/lesao_esporte_leandr o.htm> Acesso em: 09 Set. 2015. BONFIM, T. R.; PACCOLA, C. A. Jr. Propriocepção após a reconstrução do ligamento cruzado anterior usando ligamento patelar homólogo e autólogo. Revista Brasileira de Ortopedia e Traumatologia. São Paulo. Junho. 2000. BONFIM, T. R. et al. Efeito de informação sensorial adicional na propriocepção e equilíbrio de indivíduos com lesão do LCA. Acta Ortopédica Brasileira, v. 17, n. 5, p. 291–296, 2009. DE GROVE, F.; VAN LOOY, J.; COURTOIS, C. Towards a Serious Game Experience Model: Validation, Extension and Adaptation of the GEQ for Use in an Educational Context. Playability and Player Experience, v. 10, p. 47–61, 2010. DOVER G. C. et al. Assessment of shoulder proprioception in the female softball athlete. The American journal of sports medicine, v. 31, n. 3, p. 431-437, 2003. DRACHEN, A. et al. Psychophysiological Correlations with Gameplay Experience Dimensions. Brain, Body and Bytes, Workshop - CHI 2010, p. 4, 2010. ELLENBECKER, T.S. Reabilitação dos Ligamentos do Joelho. 1 ed. São Paulo: Manole, 2002. FIKAR, P.; SCHÖNAUER, C.; KAUFMANN, H. The Sorcerer’s Apprentice: A serious game aiding rehabilitation in the context of Subacromial Impingement Syndrome. Proceedings of the ICTs for improving Patients Rehabilitation Research Techniques, p. 327–330, 2013. FLORES, E. et al. Improving patient motivation in game development for motor deficit rehabilitation. Proceedings of the 2008 International Conference on Advances in Computer Entertainment Technology, New York, p. 381-384, 2008. 59 GARRICK, J. G.; WEBB, D. R. Lesões esportivas: diagnóstico e administração. Roca, 2001. HOCINE, N. et al. Techniques d'adaptation dans les jeux ludiques et sérieux. Revue d'Intelligence Artificielle, v. 25, n. 2, p. 253-280, 2011. IHARA, H.; NAKAYAMA, A. Dynamic joint control training for knee ligament injuries. The American journal of sports medicine, v. 14, n. 4, p. 309-315, 1986. IJSSELSTEIJN, W. et al. Measuring the Experience of Digital Game Enjoyment. Journal of Personality, v. 2008, p. 7–8, 2008. KINECT. Kinect: Learning Resources and Documentation. Disponível <http://www.microsoft.com/en-us/kinectforwindows> Acesso em: 28 Ago. 2015. em: MA, M.; BECHKOUM, K. Serious games for movement therapy after stroke. IEEE International Conference on Systems, Man and Cybernetics, p. 1872–1877, 2008. MA, M.; OIKONOMOU, A.; JAIN, L. C. Serious games and edutainment applications. Berlin: Springer, Uk: Springer Science & Business Media, p. 520, 2011. MAIA, D. C. et al. Projetando Serious Games para tratamento do controle de tronco em pacientes com AVC. p. 1–4, 2013. Disponível em: <http://www.lbd.dcc.ufmg.br/colecoes/wim/2013/007.pdf> Acesso em: 28 Nov, 2015. MUAIDI, Q. I.; NICHOLSON, L. L.; REFSHAUGE, K. M. Do elite athletes exhibit enhanced proprioceptive acuity, range and strength of knee rotation compared with non‐athletes? Scandinavian journal of medicine & science in sports, v. 19, n. 1, p. 103112, 2009. NACKE, L. E. et al. Playability and Player Experience Research. Proceedings of the IEEE, p. 1–11, 2009. OLIVEIRA, R. B. Análise Da Propriocepção E Sua Relação Com O Desempenho Funcional De Indivíduos Com Deficiência Do Ligamento. Rev. bras. fisioter., v. 7, n. 3, p. 253–259, 2003. PIMENTA, T. DE S. et al. Protocolos de tratamento fisioterápico após cirurgia do ligamento cruzado anterior. Acta Biomedica Brasiliensia, v. 3, n. 1, p. 27–34, 2012. 60 POYNTER, R. The Likert Scale: TARSK 14 (Things All Researchers Should Know). Set. 2010. Disponível em: <http://thefutureplace.typepad.com/the_future_place/2010/09/the-likertscale-tarsk-14-things-all-researchers-should-know.html > Acesso em: 28 Nov, 2015. SOMMERVILLE, I. Engenharia de Software. 9a. ed. São Paulo: Pearson, 2011. SUSI, T.; JOHANNESSON, M.; BACKLUND, P. Serious games: overview. Institutionen För Kommunikation Och Information, Skövde, 2007. An THIELE, E. et al. Protocolo de reabilitação acelerada após reconstrução de ligamento cruzado anterior - dados normativos. Revista do Colégio Brasileiro de Cirurgiões, v. 36, n. 6, p. 504–508, 2009. UNITY. Unity: Documentation. Disponível <http://docs.unity3d.com/Manual/index.html> Acesso em: 01 Out. 2015. em WOO, S. L. Y. et al. Biomechanics of knee ligaments: injury, healing, and repair. Journal of biomechanics, v. 39, n. 1, p. 1-20, 2006. ZINNI, J. V. S.; PUSSI, F. A. Lesão de ligamento cruzado anterior - Uma revisão bibliográfica. World gate Brasil Ltda, v. 27, p. 20, 2004.