UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE UM JOGO PARA COMÉRCIO VAREJISTA Área de Informática na Educação por Eduardo Kopper André Luís Alice Raabe, Dr. Orientador Itajaí (SC), junho de 2009 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE UM JOGO PARA COMÉRCIO VAREJISTA Área de Informática na Educação por Eduardo Kopper Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: André Luís Alice Raabe, Dr. Itajaí (SC), junho de 2009 AGRADECIMENTOS Agradeço a: • Primeiramente a Deus, por me conceder a oportunidade de realizar este sonho; • Meus pais Artur Kopper e Magda Costa Barbosa que sempre me apoiaram e incentivaram para a conclusão desta etapa; • Meu irmão Artur Kopper Filho, pelos auxílios prestados; • Minha noiva Karen Venzon da Costa, pelo apoio constante e compreensão nos momentos de ausência dedicados à elaboração deste projeto; e • Meu orientador André Luis Alice Raabe, pelos valiosos ensinamentos passados através de descontraídas conversas. II SUMÁRIO LISTA DE ABREVIATURAS................................................................. V LISTA DE FIGURAS..............................................................................VI LISTA DE TABELAS ........................................................................... VII LISTA DE EQUAÇÕES ......................................................................VIII RESUMO..................................................................................................IX ABSTRACT .............................................................................................. X 1 INTRODUÇÃO ..................................................................................... 1 1.1 PROBLEMATIZAÇÃO .................................................................................... 2 1.1.1 Formulação do Problema .............................................................................. 2 1.1.2 Solução Proposta ............................................................................................ 2 1.2 OBJETIVOS....................................................................................................... 2 1.2.1 Objetivo Geral ................................................................................................ 2 1.2.2 Objetivos Específicos...................................................................................... 3 1.3 METODOLOGIA .............................................................................................. 3 1.4 ESTRUTURA DO TRABALHO ...................................................................... 3 2 FUNDAMENTAÇÃO TEÓRICA........................................................ 5 2.1 JOGOS ................................................................................................................ 5 2.1.1 Jogos como metodologia de ensino ............................................................... 6 2.1.2 Jogos sérios...................................................................................................... 6 2.1.3 Jogos nas empresas......................................................................................... 8 2.1.4 Jogos para múltiplos jogadores online ....................................................... 10 2.2 COMÉRCIO..................................................................................................... 11 2.2.1 Consumidor e seu comportamento ............................................................. 11 2.2.1.1 2.2.1.2 2.2.1.3 Classe Social..................................................................................................................... 12 Faixa Etária ..................................................................................................................... 13 Sexo................................................................................................................................... 14 2.3 TRABALHOS SIMILARES ........................................................................... 14 2.3.1 Ayiti – The cost of life .................................................................................. 14 2.3.2 Gamegol......................................................................................................... 17 2.3.3 Tibia............................................................................................................... 19 2.3.4 Darfur is Dyining.......................................................................................... 21 2.3.5 Store Maganer .............................................................................................. 23 2.3.6 Virtual-U ....................................................................................................... 25 2.3.7 Travian .......................................................................................................... 27 2.3.8 Considerações ............................................................................................... 29 3 DESENVOLVIMENTO...................................................................... 30 3.1 LEVANTAMENTO DE REQUISITOS......................................................... 30 3.1.1 Requisitos Funcionais .................................................................................. 30 3.1.2 Requisitos não Funcionais ........................................................................... 31 3.1.3 Regras de Negócio ........................................................................................ 32 3.2 DIAGRAMAS DE CASOS DE USO .............................................................. 32 3.3 DIAGRAMA ER .............................................................................................. 34 3.4 PÚBLICO ALVO............................................................................................. 36 3.5 SISTEMA.......................................................................................................... 36 3.6 DETALHAMENTO DO JOGO ......................................................................... 36 3.6.1 Registro de usuário....................................................................................... 36 3.6.2 Criando a loja ............................................................................................... 36 3.6.3 Menu de opções............................................................................................. 38 3.6.4 Menu “Loja” ................................................................................................. 39 3.6.5 Menu “Funcionários” .................................................................................. 40 3.6.6 Menu “Produtos” ......................................................................................... 41 3.6.7 Menu “Investimentos” ................................................................................. 43 3.6.8 Menu “Relatórios” ....................................................................................... 43 3.6.9 Menu “Mensagens” ...................................................................................... 45 3.6.10 Menu “Usuário” ........................................................................................... 45 3.6.11 Menu “Sair”.................................................................................................. 45 3.7 DINÂMICA DO JOGO ................................................................................... 45 3.7.1 Indicadores da Loja ..................................................................................... 46 3.8 SIMULAÇÃO DO CONSUMIDOR...................................................................... 48 3.8.1 Características do consumidor.................................................................... 49 3.8.2 Metodologia................................................................................................... 50 3.8.3 Determinando o perfil do consumidor ....................................................... 51 3.8.4 Determinando o produto a ser comprado .................................................. 53 3.9 ADMINISTRAÇÃO DO JOGO ..................................................................... 53 3.9.1 Menu “Configurar”...................................................................................... 53 3.9.2 Menu “Jogador” ........................................................................................... 55 3.9.3 Menu “Produto” ........................................................................................... 55 3.9.4 Menu “Vendedor” ........................................................................................ 56 3.9.5 Menu “Consultor”........................................................................................ 56 4 AVALIAÇÃO....................................................................................... 57 5 CONCLUSÕES.................................................................................... 59 REFERÊNCIAS BIBLIOGRÁFICAS .................................................. 61 APÊNDICE A. ALGORITMO DO CONSUMIDOR .......................... 64 APÊNDICE B. ALGORITMO DOS INDICADORES ........................ 68 iv LISTA DE ABREVIATURAS ABEP ASP HTML IBGE MMOG MTV MUD PC PHP SEPPIR TCC UML UNIVALI WWW Associação Brasileira de Empresas de Pesquisas Active Server Pages Hyper Text Markup Language Instituto Brasileiro de Geografia e Estatística Massively Multiplayer Online Game Music Television MultiUser Dungeon Personal Computer Hypertext Preprocessor Secretaria Especial de Políticas de Promoção da Igualdade Racial Trabalho de Conclusão de Curso Unified Modeling Language Universidade do Vale do Itajaí Word Wide Web v LISTA DE FIGURAS Figura 1. Tela do jogo Triage Training ............................................................................................... 8 Figura 2. Tela do jogo Ayiti - The cost of life................................................................................... 16 Figura 3. Tela do jogo Gamegol........................................................................................................ 18 Figura 4. Tela do jogo Tíbia .............................................................................................................. 20 Figura 5. Tela do jogo Danfur is Dying............................................................................................. 22 Figura 6. Tela do jogo Store Manager............................................................................................... 24 Figura 7. Tela do jogo Virtual-U ....................................................................................................... 26 Figura 8. Tela do jogo Travian .......................................................................................................... 28 Figura 9. Diagrama de caso de uso - usuário..................................................................................... 33 Figura 10. Diagrama de caso de uso - administrador ........................................................................ 33 Figura 11. Diagrama ER.................................................................................................................... 35 Figura 12. Criando a loja ................................................................................................................... 38 Figura 13. Menu de opções................................................................................................................ 39 Figura 14. Listagem dos vendedores da loja ..................................................................................... 41 Figura 15. Produtos disponíveis na loja............................................................................................. 42 Figura 16. Relatórios de vendas ........................................................................................................ 44 Figura 17. Método da roleta .............................................................................................................. 51 Figura 18. Resultado da simulação dos consumidores ...................................................................... 55 vi LISTA DE TABELAS Tabela 1. Classes sociais do Brasil em 2008 ..................................................................................... 13 Tabela 2. População economicamente ativa do Brasil em 2003 ....................................................... 13 Tabela 3. População do Brasil em 2000 com relação ao sexo........................................................... 14 Tabela 4. Avaliação do jogo Ayiti - The cost of life ......................................................................... 16 Tabela 5. Avaliação do jogo Gamegol .............................................................................................. 18 Tabela 6. Avaliação do jogo Tibia..................................................................................................... 20 Tabela 7. Avaliação do jogo Danfur is Dying ................................................................................... 22 Tabela 8. Avaliação do jogo Store Manager ..................................................................................... 24 Tabela 9. Avaliação do jogo Virtual-U ............................................................................................. 26 Tabela 10. Avaliação do jogo Travian............................................................................................... 28 Tabela 11. Classes sociais adotadas pelo sistema.............................................................................. 49 Tabela 12. Faixas etárias adotadas pelo sistema................................................................................ 49 Tabela 13. Sexo da população adotada pelo sistema......................................................................... 49 Tabela 14. Grau de relevância dos indicadores conforme classe social do consumidor ................... 52 Tabela 15. Grau de relevância dos indicadores conforme faixa etária do consumidor ..................... 52 Tabela 16. Poder de compra de acordo com a classe social do consumidor ..................................... 53 Tabela 17. Valores finais de vendas da avaliação ............................................................................. 57 Tabela 18. Características das lojas da avaliação .............................................................................. 58 Tabela 19. Indicadores das lojas da avaliação................................................................................... 58 vii LISTA DE EQUAÇÕES Equação 1. Definição do índice de confiabilidade ............................................................................ 47 Equação 2. Definição do índice de atendimento ............................................................................... 47 Equação 3. Definição do índice de tradição ...................................................................................... 47 Equação 4. Definição do índice de preço .......................................................................................... 48 Equação 5. Definição do índice de marca ......................................................................................... 48 viii RESUMO KOPPER, Eduardo. Desenvolvimento de um jogo para comércio varejista. Itajaí, 2009. 79 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) – Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2009. A favorável situação que a economia brasileira atravessa nos últimos anos cria uma estabilidade que estimula ainda mais a expectativa de novos empreendedores a abrir seus próprios negócios. Porém, neste cenário, percebe-se uma carência de ferramentas para que estas pessoas possam agregar mais conhecimentos e experiências antes de enfrentar as dificuldades desta nova empreitada. Sabida esta dificuldade, este trabalho visa solucioná-la através da elaboração de um jogo que sirva como ferramenta de ensino e treinamento. Nele, o interessado poderá aprender, testar ou aprimorar suas habilidades administrativas, financeiras, logísticas, dentre outras, sem correr nenhum risco que encontraria no mundo real. Para tal, o usuário deverá gerenciar uma loja varejista virtual, administrando todos os fatores que envolvem tal responsabilidade, como administrativos, financeiros e logísticos. Desta forma, terá que contratar e demitir funcionários, decidir quais produtos sua loja terá, determinar seu preço de venda, controlar seu estoque e diversas outras decisões que fazem parte do cotidiano de um estabelecimento como este na vida real. Além de tudo isto, terá também que observar a sua concorrência de mercado, representado pelas lojas de outros jogadores, que competem entre si pela preferência do consumidor. O sistema será desenvolvido para internet, utilizando linguagem HTML e PHP, com acesso à banco de dados MySQL, que permitirá acesso independente de sistema operacional ou navegador. Palavras-chave: Jogo. Simulador. Multi-usuário. ix ABSTRACT The favorable situation that the Brazilian economy through in recent years creates a stability that encourages even more the expectation of new entrepreneurs to open their own businesses. However, in this scenario, we find a lack of tools so that they can add more knowledge and experience before they face the difficulties of this new contract. Known this difficulty, this work aims to resolve it by developing a game that serves as a tool for education and training. In it, he can learn, test and improve their management skills, financial, logistics, among others, without running any risk we find in the real world. For this, the user must manage a virtual retail store, managing all the factors involving such liability, and administrative, financial and logistical. Thus, you have to hire and dismiss employees, decide which products your store will determine its sale price, check their stock and many other decisions that are part of daily life of an establishment like this in real life. Besides all this, will also have to observe the competition of the market, represented by the stores of other players, who compete among themselves for the consumer's preference. The system will be developed for Internet, using HTML and PHP, with access to the MySQL database, allowing independent access to operating system or browser. Keywords: Game. Simulator. Multi-player. x 1 INTRODUÇÃO Sempre que a palavra "jogo" é mencionada, a relação com diversão é diretamente criada. Porém, há um tipo de jogo que procura proporcionar mais que este atributo, são os chamados "jogos sérios", do inglês serious games. Este conceito é relativamente novo, pois surgiu no final dos anos 90, quando escolas americanas começaram a rever os conceitos de jogos. Em 2002, foi criado o Serious Games Initiative1, com o intuito de encorajar o desenvolvimento de jogos para serem utilizados para outros fins além de diversão, como informação, capacitação e principalmente educação. No âmbito empresarial, há uma forte tendência para o enfraquecimento do uso dos meios tradicionais de treinamento, motivados, quase que exclusivamente, pelo fator financeiro. Isto se deve ao custo de elaborar e aplicar o curso, além da necessidade de deslocar as pessoas e mantê-las afastadas de suas tarefas. Desta forma, os jogos sérios têm sido cada vez mais utilizados, uma vez que se pode realizar o treinamento de uma maneira mais interativa e divertida, resultando num aprendizado mais eficiente e econômico. Este resultado é atingido pois estes treinamentos podem ser utilizados na forma de simuladores. Para Riis (1995), jogo simulador é um trabalho representativo da realidade; podendo ser um modelo abstrato, simplificado ou acelerado de um processo, tendo um propósito de relevante similaridade comportamental do sistema original. Desta maneira, o usuário encontra uma situação semelhante a vista no mundo real, porém sem correr qualquer risco, tanto físico, como material. A vantagem para empresa é ter um profissional apto a tomar decisões certas, a um custo mais reduzido do que se fosse simular num ambiente real. Silva, Tedesco e Ramalho (2008), citam que os jogos sérios baseados em simulação são comumente utilizados no treinamento de adultos, principalmente, para ensinar sobre processos de negócio, como, por exemplo, o treinamento dos processos de venda e cadeia de valor de um determinado produto. Para enriquecer a experiência na utilização dos jogos sérios, o modelo onde vários jogadores competem ao mesmo tempo, conhecido pela sigla MMOG (em inglês, Massively Multiplayer 1 Website: http://www.seriousgames.org/ Online Game), é cada vez mais adotado. Meigs (2003) define MMOG`s como sendo jogos que permitem um grande número de jogadores colaborarem e competirem juntos num mundo virtual. Jogos deste modelo ganharam popularidade juntamente com o sucesso e disseminação da Internet, pois é através dela que os usuários espalhados pelo mundo interagem, promovendo a cooperação e a competição em grande escala. 1.1 PROBLEMATIZAÇÃO 1.1.1 Formulação do Problema O uso de jogos para incrementar a metodologia de ensino-aprendizagem é reconhecido por vários segmentos que o adotaram. Dentre eles, o treinamento em empresas é o que mais tem se destacando, mostrando resultados que valorizam a decisão de substituir métodos tradicionais. Após uma pesquisa, deparou-se com uma carência neste tipo de proposta voltada ao comércio varejista, onde é sabido que várias empresas têm insucesso devido à falta de preparo por parte de seus administradores. Grande parte desta realidade se deve a novos empreendedores que, sem conhecimento, ansiando abrir estabelecimentos e vislumbrando um negócio próprio, acabam por encontrar dificuldades em adquirir um treinamento de forma segura e sem investir muito dinheiro para tal. 1.1.2 Solução Proposta A solução proposta é desenvolver uma aplicação web, baseada nos conceitos de jogos sérios, simuladores e para múltiplos jogadores, que permita o aprendizado a pessoas interessadas por quaisquer motivos, a administrar, da forma mais fidedigna possível, um comércio varejista sem precisar correr nenhum risco real, competindo com outros jogadores e, assim, simulando concorrência de mercado. 1.2 OBJETIVOS 1.2.1 Objetivo Geral Desenvolver um jogo que simule o funcionamento e comportamento de um estabelecimento comercial e que possa ser acessado via internet por vários jogadores. 2 1.2.2 Objetivos Específicos • Pesquisar e analisar soluções similares; • Pesquisar e documentar os conceitos e tecnologias necessárias à implementação do sistema; • Determinar os requisitos exigidos pelo sistema; • Realizar a modelagem conceitual do sistema; • Implementar o sistema; e • Testar e validar a implementação do sistema. 1.3 METODOLOGIA A metodologia de desenvolvimento deste trabalho é composta por cinco etapas. Na primeira foi realizado um levantamento bibliográfico que abordou o estudo da aprendizagem dos temas abortados no projeto, como jogos sérios, jogos simuladores, jogos para multi-usuários, comércio e suas características no Brasil. Além disto, foi feito uma pesquisa sobre soluções similares existentes, a fim de diagnosticar pontos positivos, a serem considerados, e pontos negativos, a serem evitados. A segunda etapa consistiu na modelagem da aplicação através da adoção da linguagem UML (Unified Modeling Language), possibilitando visualizar de uma forma estruturada e padronizada o sistema. Ambas etapas são apresentadas neste trabalho de TCC I. As etapas subseqüentes serão realizadas no TCC II. A terceira etapa caracterizada pela implementação da ferramenta baseada na modelagem já realizada. Na quarta etapa serão realizados testes para validação a fim de eliminar possíveis erros. Na quinta e última etapa, que ocorrerá em paralelo com as demais, será realizada a elaboração do texto do TCC II. 1.4 ESTRUTURA DO TRABALHO Este trabalho foi dividido em três capítulos. O capítulo 1 destinou-se a uma apresentação geral do trabalho, descrevendo os problemas existentes, solução proposta e os objetivos desta solução, além de descrever de que forma o será feito. No capítulo 2, foi feito um levantamento sobre os principais temas presentes no projeto, permitindo visualizar o cenário ao qual este se encaixa. Além disto, foi apresentada uma análise sobre soluções similares existentes, o que 3 possibilita avaliar pontos de sucesso já adotados. No capítulo 3 foi apresentada a modelagem da solução proposta, assim como a descrição detalhada de seu funcionamento, demonstrando o papel do usuário, do administrador do sistema e o envolvimento com outros jogadores. 4 2 FUNDAMENTAÇÃO TEÓRICA Na fundamentação teórica são estudados temas importantes relacionados a este projeto. A seção 2.1 aborta sobre os jogos, relatando sua origem, utilização e importância. A seção 2.2 descreve sobre o comércio, mostrando também as características com relação a este no Brasil. Finalmente, na seção 2.3 são apresentadas ferramentas similares, realizando-se um levantamento dos pontos positivos e negativos que devem ser considerados ao projeto. 2.1 JOGOS Não há certeza de quando surgiu o primeiro jogo. Segundo Wikipedia (2008), registros apontam o jogo egípcio Senet, datado de 3500 aC, como sendo o mais antigo. Mas o certo é que esta atividade faz parte da existência humana e estão presentes em todas as culturas conhecidas. O filósofo Johan Huizinga (1938, apud Turelli, 2005), defende que o jogo vem como uma categoria absolutamente primária da vida, tão essencial quando o raciocínio (homo sapiens) e a fabricação de objetos (homo faber). O homem que brinca com jogos, não substitui o homo sapiens, que sabe, e raciocina, mas se coloca ao lado e um pouco abaixo deste, mais ou menos na mesma categoria que o homo faber, que trabalha. O caráter de ficção é um dos elementos constitutivos do jogo, no sentido de fantasia criativa, imaginação. E ao contrário do que muitas pessoas podem admitir, é coisa muito séria e necessária, além de ser um direito. Huizinga (1938, apud Turelli, 2005) também acredita que enquanto o jogo dura, as regras que regem a realidade cotidiana ficam suspensas. As atividades humanas, incluindo filosofia, guerra, arte, leis e linguagem, podem ser vistas como o resultado de um jogo, a título de brincadeira. A escrita alfabética surgiu porque alguém resolveu brincar com sons, significados e símbolos. A filosofia fica como um grande jogo de conceitos. As guerras ocorrem segundo certas regras que lembram jogos e não excluem gestos de cavalheirismo. O lúdico desempenha um papel fundamental no aprendizado. Mas, não é o único componente do jogo. Existem outras funções para o mesmo, como competição e passatempo, contudo, independentemente de isso ser bom ou ruim, o que deve ser visto no jogo são seus aspectos criadores e não os negativos. Assim, buscar-se eliminar quaisquer vestígios de banalização e vulgarização da existência, vendo no jogo a possibilidade do exercício da criatividade humana. Desta forma, Huizinga (1938, apud Wikipedia, 2008) define jogo como uma atividade voluntária exercida dentro de certos e determinados limites de tempo e espaço, segundo regras livremente consentidas, mas absolutamente obrigatórias, dotado de um fim em si mesmo, acompanhado de um sentimento de tensão e alegria e de uma consciência de ser diferente de vida cotidiana. 2.1.1 Jogos como metodologia de ensino O uso de jogos como método de ensino é um tema abordado há ano. Lima (2008) diz que na época onde o cristianismo atingiu seu auge, a rigidez adotada nas escolas excluía os jogos, considerados profanos e sem significado, onde os mestres transmitiam lições através de leituras, enquanto cabia aos alunos obedecer e memorizar. Segundo Kishimoto (1998), é durante o Renascimento que o jogo deixa de ser objeto de reprovação no ocidente, incorporando-se no cotidiano dos jovens, não como diversão, mas como tendência natural do ser humano. É nesta época que exercícios físicos banidos pela Idade Média, como barras, corridas e jogos de bolas se reabilitam. Deste então, esta metodologia de ensino é cada vez mais valorizada. Estudos como de Lima (2008), graduado em pedagogia e pós graduado em psicopedagogia clínica e institucional, já ressaltaram a importância da adoção dos jogos como metodologia de aprendizagem, pois ele se apresenta como uma oportunidade de pesquisa, experimentação, compartilhamento de idéias, atitudes cooperativas, inferições e deduções típicas de um ensino ativo, centrado no próprio aluno, tornando-o capaz de construir o seu próprio conhecimento. Tendo conhecimento desta importância, educadores percebendo o exponencial crescimento dos jogos eletrônicos no cotidiano dos jovens, procuraram aproveitar este canal para transmitir conhecimento e educação, como será visto no próximo tópico. 2.1.2 Jogos sérios O conceito de “jogo sério” (do inglês serious game), segundo Wikipédia (2008), surgiu na década de 90, quando escolas americanas começaram a rever a utilidade dos jogos para outros propósitos além da diversão. Estas entidades queriam aprimorar a forma de ensino, aproveitando o alto grau de realismo provido pelas tecnologias usadas nos jogos. Em 2002, foi criado o Serious 6 Games Initiative2, para encorajar o desenvolvimento deste tipo de aplicativos. A partir de 2004, subgrupos surgiram, como o Games for Change3, focado na inclusão e mudança social, e o Games for Health4, para cuidados com a saúde. Não há uma definição única para os jogos sérios. Esta dificuldade é devido a sua grande extensão de aplicações, e seu recente surgimento. Johnson, Vilhjalmsson e Marsella (2005) dizem que jogos sérios são programas que obedecem solidamente os princípios de jogos, mas que o propósito é outro que o entretenimento, como, por exemplo, educar ou treinar. Há diversos casos de sucesso do uso de jogos sérios para propósitos sociais, onde o jogador se envolve com um tema real, como o jogo apoiado pela Unicef “Ayiti: The Cost Life”5. Nele o usuário deve comandar as ações de uma família humilde cercada pelas dificuldades encontradas no Haiti. Outro exemplo, é o jogo desenvolvido por uma subsidiária do grupo Blitz Game6 na Inglaterra, chamado de “Triage Training”. Neste jogo, como pode ser visto na Figura 1, é simulada uma explosão num centro comercial, onde o usuário tem que lidar com o resgate das vitimas, devendo tomar decisões rápidas e acertadas, pois o mesmo funciona em tempo real. 2 3 Website: http://www.seriousgames.org/ Website: http://www.gamesforchange.org/ 4 Website: http://www.gamesforhealth.org/ 5 Website: http://ayiti.newzcrew.org/ayitiunicef/ 6 Website: http://www.blitzgames.com/ 7 Figura 1. Tela do jogo Triage Training 2.1.3 Jogos nas empresas Acredita-se que seja no âmbito empresarial que os jogos sérios tenham ganhado um maior número de adeptos. Isto se deve a cada vez mais empresas abandonar seus tradicionais cursos e treinamentos que, comparados aos jogos, são mais monótonos e, conseqüentemente, menos eficazes. Além disto, despendem maior quantia financeira para sua aplicação, uma vez que o curso tem um número restrito de aprendizes, tendo que ser aplicado diversas vezes, além do deslocamento dos alunos até o local de ensino. Os jogos sérios usados como treinamento em empresas têm diversos fatores positivos, como enumera Dr. Merrilea Mayo da Academia Nacional dos Estados Unidos, citado de Purdy (2007): • Aprendizagem por fazer: jogadores tomam decisões que tem conseqüências. Eles participam ativamente no ambiente do jogo; • Aprendizagem por experiência: jogadores podem tentar diversas soluções com segurança, explorar e descobrir informações e habilidades; • Vivencia situações de aprendizado: mundos virtuais podem prover ambientes que se comportam do mesmo jeito que o mundo real, permitindo ao jogador que transfira conhecimento e experiência entre os dois; 8 • Acreditar nas habilidades: recompensas e níveis em jogos encorajam o jogador a acreditar que ele pode atingir seus objetivos. Isto gera uma atitude positiva a superar obstáculos e aprimorar a taxa de sucesso do jogador; • Objetivos claros: objetivos bem definidos permitem ao jogador fazer mais progresso em relação aos objetivos de aprendizagem; • Equipe de aprendizagem: jogos para multi-jogadores permitem ao grupo resolver um problema, colaborar, interagir socialmente, negociar, etc. Os jogadores não aprendem apenas pelo jogo, mas também um com o outro; e • Aprendizagem sem limitações: ambientes de jogos naturalmente transcendem barreiras de linguagem, geografia, raça, sexo ou habilidades físicas. Jogadores que são discriminados por serem “diferentes” no mundo real, não o são no mundo virtual. Ainda não há estudos específicos comprovando a eficácia da adoção de jogos sérios nas empresas, mas Purdy (2007) destaca alguns pontos visivelmente perceptivos nas corporações que os usam seriamente: • Começando o treinamento: com a opção de começar um treinamento utilizando um jogo, mais funcionários o farão, pois acreditam que o “jogo” será interessante; • Terminando o treinamento: engajamento aumenta o índice de finalização de treinamento. Estudos mostram que apenas 20 a 30% de usuários de cursos online o terminam. E se não apenas aumentar o índice de finalização de treinamento, como fazer com que os mesmo jogadores joguem de novo? Isto acontece com engajamento aos jogos sérios; • Aprendizado mais rápido: por causa do engajamento, os jogadores passam mais tempo a cada dia jogando e, assim, completam o treinamento mais cedo; • Mais pessoas com conhecimento: quando os alunos têm que tomar decisões que tem conseqüências, e o contexto da história é relevante, ocorre uma melhor transferência de conhecimento aos empregados e conseqüentemente incrementa a performance da organização; 9 • Melhor memorização: o uso do humor, diversão, desafios e escolhas, fazem com que a experiência do aprendizado seja mais lembrada; • Meio de comunicação natural aos jovens: uma emergente fatia dos empregados entrando nas empresas cresceu jogando. Eles se sentem confortáveis com este meio e, provavelmente, já o usaram para aprendizado; • Tecnologia mais conhecida: estudos mostram que há um exponencial aumento no uso de jogos de diversão, sendo os jogadores de ambos os sexos, e de todas faixas etárias. Como mais pessoas entram no mundo dos jogos fora do trabalho, elas tem um índice de conforto maior com a tecnologia; • Imagem corporativa: a empresa é vista como inovadora, por prover o que há de mais moderno em aprendizagem; e • Motivação e moral dos aprendizes: Por causa dos jogos serem mais interessantes que a maioria dos métodos tradicionais de treinamento, empregados ficam mais motivados a aprender e tem um sentimento melhor com a experiência de aprendizagem. 2.1.4 Jogos para múltiplos jogadores online Jogos para múltiplos jogadores surgiram nos anos 80, através de sistemas de computadores nas universidades americanas. Estes sistemas eram jogos muito simples chamados de MUD (do inglês Multiuser Dungeon), e eram muito simples, baseados em linhas de texto, mas atraíam uma grande quantidade de jogadores que passavam horas em frente aos computadores. A popularização da internet foi o fator responsável pela propagação e desenvolvimento dos jogos para múltiplos jogadores, criando assim os chamados MMOG’s (do inglês Massively Multiplayer Online Game). Com o desenvolvimento desta tecnologia e a possibilidade de trocar informações com rapidez, possibilitou o crescimento desta modalidade de jogo. A definição dada por Barron, Pizer e LaMothe (2001) para jogos online é que estes nada mais são que aplicativos jogados através de algum meio de comunicação. A mais comum forma de comunicação adotada nos jogos atualmente é a internet. Desta forma, segundo Farkas (2007), MMOG’s são jogos que permitem milhares de pessoas interagirem online num mundo virtual. Diferente de jogos de console, o mundo virtual não hiberna 10 quando o usuário fica offline, ele continua evoluindo através das ações tomadas pelos outros participantes do resto do mundo. Além disto, Alexander (2003) destaca outra vantagem dos jogos online. Ele diz que a internet permite aos jogos online uma vantagem que os outros jogos não: a socialização dos jogadores. Isto significa não apenas jogar com amigos da mesma cidade, mas com pessoas de outros continentes. 2.2 COMÉRCIO O comércio tem em sua essência, a troca de bens de forma voluntária. No seu início, os comerciantes faziam as trocas de forma direta, onde cada um valorizava seu produto de forma aleatória. Com o advento do “dinheiro”, esta troca passou a se realizar de forma indireta, e simplificou sua prática, incentivando o seu desenvolvimento. Porém, para Ratto (2004), comércio é mais que isto. Segundo ele o processo de troca, essência da atividade comercial, não envolve somente a transferências da mercadoria. Implica também o intercâmbio de idéias, experiências, sensações, expectativas e sonhos. Atualmente, o comércio está muito desenvolvido e complexo, envolvendo várias variáveis, como bolsa de valores, importações, exportações, inflação, etc. Isto se deve ao envolvimento de várias nações neste processo, cada qual com governos distintos, aplicando políticas comerciais que atendam as suas necessidades e expectativas. 2.2.1 Consumidor e seu comportamento Dentro do sistema do comércio, podemos definir consumidor como sendo todo indivíduo que usa algum produto ou serviço para seu consumo próprio. Ele é o alvo principal das empresas, pois é quem dispõe de dinheiro para adquirir o seu produto, gerando assim mais receita e alimentando toda cadeia que isto acarreta. Um dos principais fatores para o funcionamento do jogo simulador é representar de maneira realística o comportamento do consumidor. Este personagem tem papel vital no comportamento da loja, pois é ele que avaliará todas decisões tomadas pelo jogador, determinando diretamente a quantidade de produtos vendidos e, desta forma, influenciando nas demais variáveis do estabelecimento. 11 Para melhor representar o consumidor é fundamental entendê-lo e como este reage diante de variáveis diferentes. Há complexos estudos sobre seu comportamento, envolvendo uma série de fatores e variáveis que influenciam no momento da compra. Para Cobra, (1997 apud RODRIGUES; JUPI, 2004), cada consumidor reage de forma diferente sob estímulos iguais, e isso ocorre porque cada um possui uma ‘caixa preta’ diferente. Para Kotler e Armastrons (1993 apud Rodrigues; Jupi, 2004), os fatores de influência na decisão de compra são: motivações, personalidade e percepções dos consumidores. Também não se pode deixar de destacar as variáveis que são muito importantes no ato da compra: classes sociais, variáveis sociais, variáveis econômicas e as variáveis culturais. Para abstrair a complexidade que este assunto envolve, o presente projeto considerará três fatores que influenciarão na quantidade e comportamento de consumidores: classe social, faixa etária e sexo. 2.2.1.1 Classe Social Classe social é, segundo Hoebel e Frost (1996), uma categoria de pessoas dentro de uma sociedade, que mantêm numerosos status distintivos em comum e que, através do desempenho das funções associadas a esses status, recebem recompensas diferentes e privilégios e que, por meio de modo de vida comum, desenvolvem a consciência de seus interesses semelhantes, em contraste com os interesses dos outros grupos. Desta forma, cada classe social tem peculiaridades na sua preferência e forma de comprar, que devem ser consideradas pelo sistema. Segundo o site Meus Gastos (2008), baseado em pesquisas feitas pela Associação Brasileira de Empresas de Pesquisas (ABEP), a distribuição das classes sociais brasileiras no ano de 2008 está dividida conforme a Tabela 1. 12 Tabela 1. Classes sociais do Brasil em 2008 Classe social Renda média por pessoa (R$) Porcentagem da população A1 9.733,47 1% A2 6.563,73 a 9.733,47 4% B1 3.479,36 a 6.563,73 9% B2 2.012,67 a 3.479,36 15% C1 1.194,53 a 2.012,67 21% C2 726,26 a 1.194,53 22% D 484,97 a 726,26 25% E 276,70 a 484,97 3% Fonte: Meus gastos (www.meusgastos.com.br) 2.2.1.2 Faixa Etária Segundo o site da Secretaria Especial de Políticas de Promoção da Igualdade Racial (SEPPIR), baseado em pesquisas do IBGE/Pnad, a classificação etária da população economicamente ativa brasileira, no ano de 2003 é a conforme apresentada na Tabela 2. Tabela 2. População economicamente ativa do Brasil em 2003 Faixa Etária Homens Mulheres Total % 10 a 15 anos 1.892.091 990.888 2.882.979 3,29 16 a 17 anos 1.878.526 1.240.877 3.119.403 3,55 18 a 24 anos 9.849.121 7.263.003 17.112.124 19,49 25 a 44 anos 23.419.460 18.704.567 42.124.027 47,99 45 a 59 anos 9.876.163 7.421.045 17.297.208 19,70 60 ou mais 3.411.371 1.840.548 5.251.919 5,98 Total 50.326.732 37.460.928 87.787.660 100 Fonte: Secretaria Especial de Políticas de Promoção da Igualdade Racial (SEPPIR) 13 2.2.1.3 Sexo De acordo com o site MuniNet (2008), a classificação brasileira com relação ao sexo no ano de 2000, baseada no censo demográfico feito pelo IBGE, é conforme a mostrada na Tabela 3. Tabela 3. População do Brasil em 2000 com relação ao sexo Sexo Quantidade Porcentagem Masculino 83.576.015 49,22 Feminino 86.233.155 50,78 Fonte: MuniNet (http://muninet.org.br/banco) 2.3 TRABALHOS SIMILARES Este projeto aborta conceitos novos, como o de Jogos Sérios e jogos em massa online conhecidos como Massively Multiplayer Online Game (MMOG). Desta forma, busca-se analisar trabalhos similares a fim de identificar características destes jogos que sejam desejáveis no projeto proposto. Para tal, é de extrema relevância a pesquisa e análise de sistemas já desenvolvidos, pois estes servirão de referência. As principais características a serem analisadas são: dinâmica do jogo, passagem do tempo, comportamento no período offline, agrupamentos de usuários, valores monetários adotados e interação entre usuários. Além destas que serão documentadas, outros aspectos interessantes serão salientados nas descrições a seguir. 2.3.1 Ayiti – The cost of life A associação cultural Global Kids7 que reúne jovens e educadores espalhados por diversos países, foi selecionada em 2005 como uma das onze organizações apoiadas pela empresa Microsoft para incentivar o desenvolvimento cultural no mundo digital. O jogo Ayiti – The cost of life, foi o primeiro criado com este apoio, e retrata a difícil vida de uma família num vilarejo humilde no Haiti. 7 Website: http://www.globalkids.org/ 14 Ao iniciar, o jogador é introduzido ao contexto através de um texto que descreve toda a realidade de pessoas que vivem num ambiente hostil como este. Ele também deve fazer uma escolha para priorizar um estilo de vida para a família, podendo ser educação, dinheiro, felicidade ou saúde. O desafio do jogador é conseguir passar o período de quatro anos sem que os pais faleçam. Este período acaba se tornando longo, pois as dificuldades encontradas são grandes e inerentes às vividas por famílias de países de terceiro mundo, como empregos mal remunerados, educação deficiente e doenças como a malária. A dinâmica do jogo se dá por turnos, onde cada um retrata uma estação do ano, ou seja, quatro por ano. Isto se deve pois há estações onde o local pode ser atingido por eventos casuais, como tornados, podendo o jogador pode tomar atitudes preventivas. Antes de executar o turno, cada elemento da família deve ser posicionado num local do vilarejo. As opções são: escola (para aumentar a educação e obter melhores trabalhos), comércio da cidade (para ganhar dinheiro e sustentar as despesas da família), pequena plantação da família (para ganhar dinheiro também), casa própria (para descansar) ou hospital (para tratar alguma doença). Além disto, deve-se monitorar os indicadores de cada personagem: saúde, felicidade e educação, pois influencia no rendimento dos mesmos em suas ações. Durante o processo de execução do turno (que se dá em poucos segundos), pode ocorrer uma pausa caso haja algo atípico, fazendo com que o jogador tome uma decisão. Um exemplo é o adoecimento de um personagem. Neste caso, pode-se manter o enfermo na ação que estava fazendo, ou mandá-lo para casa, para não agravar seu estado de saúde. Ao final do jogo, o jogador é testado com perguntas de cunho social, verificando o seu aprendizado após a experiência de viver em um ambiente tão precário. A Figura 2 ilustra a interface do jogo. 15 Figura 2. Tela do jogo Ayiti - The cost of life Tabela 4. Avaliação do jogo Ayiti - The cost of life Nome do jogo Desenvolvedor Plataforma Linguagem Dinâmica do jogo Passagem do tempo Comportamento no período offline Valores monetários Interação entre usuários Pontos positivos Ayiti – The cost of life Global Kids (http://www.globalkids.org/) Web (http://ayiti.newzcrew.org/ayitiunicef/) Flash Deve-se controlar uma família de cinco personagens para que os pais sobrevivam a quatro anos, monitorando seus indicadores de saúde, felicidade e educação. Além disto, deve-se trabalhar para ganhar dinheiro e sustentar as despesas da família. É feita em turnos. Ao clicar no botão referente, as ações tomadas pelo jogador previamente são executadas em poucos segundos, e as conseqüências apresentadas em seguida. Não há. O jogo adota o Goud (unidade monetária do Haiti) para controlar os ganhos dos personagens no trabalho, e seus gastos com necessidades básicas. Não há. • • • • Ótimos gráficos, que motivam o uso; Jogo simples e de fácil compreensão da metodologia adotada; Documento 16 mostrando o funcionamento e objetivos do jogo; Eventos que interrompem o avanço; • • Pontos negativos 2.3.2 • • Jogo simples e de fácil compreensão da metodologia adotada; Documento mostrando o funcionamento e objetivos do jogo; Eventos que interrompem o avanço; Não há como salvar o jogo; Gamegol Fundada em 2005, a O2 Games8 é uma empresa especializada em desenvolvimento de jogos online para multi-jogadores, simulação empresarial, educacional, advergames e webgames. Dentre as criações, está o Gamegol9, um jogo multiplayer online onde o usuário é desafiado a gerenciar um clube de futebol. O jogo, na sua grande maioria, é controlado por meio de formulários desenvolvidos em linguagem ASP, com algumas animações em flash (como criação do brasão, uniforme e escalação do time). O layout adotado é muito intuitivo, com o menu dividindo as opções de forma que o jogador consiga se familiarizar facilmente, apesar da grande quantidade de opções. Após definir os dados básicos como nome do time, nome do estádio, criação do brasão e uniforme, o jogador assume o papel de um verdadeiro dono de um clube de futebol. Com isto, deve gerenciar os diversos assuntos inerentes ao cargo, como contratação/dispensa de jogadores, escalação e tática do time, gerenciamento das finanças, construção de estádio, criação do departamento de juniores, negociação com patrocinadores e muito mais. Com o clube ajustado, o desafio é participar de campeonatos para ganhar experiência e dinheiro, fazendo com que o clube evolua o seu nível. As partidas marcadas ocorrem contra times comandados por outros usuários e em tempo real, ou seja, a medida de tempo adotada é a mesma do mundo real. Assim, a medida que o clube vence partidas e campeonatos, sobe sua posição no ranking, que compara seus resultados junto aos demais competidores. 8 Website: http://www.o2games.com.br/ 9 Website: http://www.gamegol.com.br/ 17 A Figura 3 mostra uma interface do jogo, onde o usuário pode visualizar as características dos jogadores de seu time. Figura 3. Tela do jogo Gamegol Tabela 5. Avaliação do jogo Gamegol Nome do jogo Desenvolvedor Plataforma Linguagem Dinâmica do jogo Passagem do tempo Comportamento no período offline Valores monetários Interação entre usuários Gamegol O2 Games (http://www.o2games.com.br/) Web (http://www.gamegol.com.br/) ASP e Flash Deve-se gerenciar um clube de futebol, desde o time de jogadores, como negociações com patrocinadores, afim que o mesmo ganhe campeonatos disputados contra times de outros jogadores. É usado o tempo real. Partidas são marcadas e executadas em datas e horários do mundo real. O clube permanece agindo como na forma em que foi deixado pelo usuário. Construção de estádio e treinamentos de jogadores, por exemplo, continuam em execução. O jogo adota o Real, que é usado na compra/venda de jogadores, contratos de patrocínios, e outros. Há através de mensagens e partidas entre os times comandados por eles. 18 Interação entre usuários Pontos positivos Pontos negativos 2.3.3 Há através de mensagens e partidas entre os times comandados por eles. • Grande quantidade de jogadores, o que facilita a marcação de jogos e contribui para elucidação de dúvidas de uso através de fórum de discussão; • Atletas não tem uma posição inicial definida, como goleiro, defensor, lateral, meio-campista e atacante, exigindo que o usuário saiba características de cada posição; Tibia Tibia10 é um dos mais antigos e maiores sucessos de jogos online em massa. Lançado em 1997 pela empresa alemã CipSoft11, atualmente conta aproximadamente 700 mil jogadores e 72 servidores com capacidade de suportar 900 jogadores ao mesmo tempo em cada. Em Tíbia, o usuário cria um personagem e entra num mundo relativo a era medieval, interagindo com outros usuários e seres místicos, como demônios e monstros. Neste mundo, ele deve exercitar habilidades especificas de acordo com a vocação escolhida, que pode ser de guerreiro, paladino, druida ou mago. Além da evolução das habilidades, o jogador deve melhorar a qualidade dos itens que carrega consigo, podendo ser uma espada mais letal para o guerreiro ou uma poção mágica mais poderosa para o mago. Ele pode obter isto após exterminar um monstro, ou descobrir um tesouro, por exemplo, como também comprar em locais específicos no mapa ou ainda trocando com outros jogadores. Os jogadores podem interagir entre si através de mensagens, trocando itens, formando grupos de batalhas e até lutando entre si (desde que o servidor escolhido permita tal prática). A Figura 4 mostra uma interface do jogo, onde o usuário pode ver além de seu personagem, o de outros usuários, assim como monstros e itens que compõe o cenário. 10 Website: http://www.tibia.com/ 11 Website: http://www.cipsoft.com/ 19 Figura 4. Tela do jogo Tíbia Tabela 6. Avaliação do jogo Tibia Nome do jogo Desenvolvedor Plataforma Linguagem Dinâmica do jogo Passagem do tempo Comportamento no período offline Valores monetários Interação entre usuários Pontos positivos Pontos negativos Tibia CipSoft (http://www.cipsoft.com/) PC (Windows ou Linux) Provavelmente C++ Num cenário da era medieval, com criaturas místicas e magias, deve-se aprimorar as habilidades e armamentos do personagem, combatendo e interagindo com outros usuários. Não há. O personagem não aparece para os demais jogadores. Suas habilidades e pertences não se alteram neste momento. É usado moeda de ouro para compra e venda de itens, poções mágicas e armamentos. Há através de conversação por mensagens de texto, troca de ítens e, se o servidor utilizado permitir, combate entre si. • Grande interação entre os jogadores; • Bons gráficos; • Demora para evoluir uma determinada habilidade; 20 2.3.4 Darfur is Dyining Mais de 2,5 milhões de pessoas sofrem com a crise no Sudão. Pensando nisto, a mtvU12, que é um divisão da emissora de televisão MTV, juntamente com a Reebok Human Rights Foudantion e a International Crisis Group, desenvolveram o jogo sério Darfur is Dying13. Nele, o usuário deve comandar refugiados na região de Darfur, localizada a oeste do Sudão, com o objetivo final de que eles sobrevivam por 7 dias, mantendo o estoque de água e comida suficiente para todos no local. Para tal, deve arriscar-se saindo do campo a procura de água, se esquivando das milícias armadas que comandam a região. Uma vez com a água, deve levá-la às hortas para irrigá-las, afim de gerar o alimento necessário. Além disto, periodicamente há a ameaça das milícias atacarem o campo de refugiados para saquear e destruir. Para que isto não ocorra, o jogador deve tomar atitudes reais de apoio ao povo refugiado, como enviar uma mensagem ao presidente norte-americano ou se engajar em algum movimento humanitário. A Figura 5 mostra a tela referente ao campo de refugiados. 12 Website: http://www.mtvu.com/ 13 Website: http://www.darfurisdying.com/ 21 Figura 5. Tela do jogo Danfur is Dying Tabela 7. Avaliação do jogo Danfur is Dying Nome do jogo Desenvolvedor Plataforma Linguagem Dinâmica do jogo Passagem do tempo Comportamento no período offline Valores monetários Interação entre usuários Pontos positivos Pontos negativos Danfur is Dying mtvU (http://www.mtvu.com/) Web Flash (http://www.danfurisdying.com/) Deve-se manter um campo de refugiados por 7 dias com água e alimento, evitando o confronto com milícias armadas que dominam a região. Cada dia é representado por 2 minutos aproximadamente. Não há Não há Não há • • Interação com atitudes reais de ajuda ao Sudão; Poucas opções de ações, tornando-o repetitivo e monótono; 22 2.3.5 Store Maganer Store Manager é um simulador lançado em 2001 pela Simulator Games14 e não evoluiu além da primeira versão. Não foram encontradas fontes de informação sobre ele, dificultando a documentação. O objetivo do jogo é que o usuário comande uma loja de conveniência para que seus resultados superem as metas estipuladas em cada etapa. Para tal, deve controlar várias variáveis, como a escolha de quais itens estarão a venda, a quantidade deles no estoque, preços e margens de lucro dos produtos, contratar/demitir funcionários, saldo bancário e outras. Com tudo isto, o jogo torna-se interessante, tendo vários indicadores e gráficos para o usuário visualizar e melhor controlar a loja, porém, a ausência de uma documentação explicativa torna-o de difícil assimilação. Para colaborar com isto, as imagens utilizadas nos botões não são intuitivas, complicando ainda mais jogadores novos. No Store Manager não há qualquer tipo de interação entre jogadores, tendo, apenas, como comparativo de resultados, outras lojas controladas pelo sistema. Também não tem a possibilidade de gravar o andamento do jogo, o que exige que o usuário não pare enquanto não termine a tarefa determinada. Na Figura 6 uma tela do aplicativo onde o usuário visualiza as opções de produtos que podem ser postos a venda, seus preços e popularidade entre os clientes. 14 Website: http://www.simulatorgames.net/ 23 Figura 6. Tela do jogo Store Manager Tabela 8. Avaliação do jogo Store Manager Nome do jogo Desenvolvedor Plataforma Linguagem Dinâmica do jogo Passagem do tempo Comportamento no período offline Valores monetários Interação entre usuários Pontos positivos Pontos negativos Store Manager 1.0 Simulator Games (http://www.simulatorgames.net/) PC (Windows) Desconhecida O desafio é gerenciar uma loja de conveniência para superar as metas propostas pelo jogo. Para tal, deve-se ajustar valores dos produtos, gerenciar os empregados, estoque, margem de lucro e demais variáveis. O dia é contabilizado após o clique num determinado botão Não há Pode-se escolher entre euro, dólar ou uma moeda genérica, mas isto não influi no restante do jogo Não há • • • • Detalha bem o comportamento de uma loja de conveniência; Não há documentação explicando a dinâmica do jogo; Não há como salvar; Interface de difícil compreensão; 24 2.3.6 Virtual-U Desenvolvido juntamente com administradores da universidade norte-americana de Stanford, Virtual-U15 simula o comportamento de um campus universitário inteiro. Tamanho é o detalhismo, que o jogo foi aclamado finalista em 2001 no Festival de Jogos Independentes16. Ao iniciar, o usuário deve configurar as informações da universidade criada, como nome, brasão, tipo (privada, pública, artística ou geral) e estilo arquitetônico. Após isto, deve escolher entre um objetivo para sua gestão, como melhorar a qualidade de ensino, obter mais recursos financeiros, trazer melhores resultados nos esportes e outros. Criada a instituição, o jogador deve gerenciar cada detalhe, tomando decisões em vários aspectos da vida acadêmica, como salários dos professores e funcionários, incentivo em pesquisas e prática de esportes e questões financeiras. Assim como na vida real, para cada decisão tomada, repercute noutros fatores. Por isso, o usuário deve ter bom-senso ao administrar o campus. 15 Website: http://www.virtual-u.org/ 16 Website: http://www.igf.com/ 25 Figura 7. Tela do jogo Virtual-U Tabela 9. Avaliação do jogo Virtual-U Nome do jogo Desenvolvedor Plataforma Linguagem Dinâmica do jogo Passagem do tempo Comportamento no período offline Valores monetários Interação entre usuários Pontos positivos Pontos negativos Virtual-U Virtual-U (http://www.virtual-u.org/) PC (Windows) desconhecida Gerenciar um campus inteiro de uma universidade americana, afim que fique entre as melhores do país (ranking baseado no resultado de outras instituições controladas pelo sistema) O dia passa a cada 3 segundos aproximadamente. Não há Representado por uma moeda genérica ($) Não há • • Retrata com muita complexidade o ambiente de uma universidade; Muitas informações para o usuário iniciante; 26 2.3.7 Travian Lançado a partir de 2004 pela empresa alemã Travian Games GmbH17, o jogo homônimo foi premiado em 2006 na categoria de jogos em massa para web com mais de dez mil jogadores pelo site Games Dynamite18. Atualmente, o jogo é um dos mais populares na sua modalidade, contando com mais de 150 servidores. Foi traduzido para 30 idiomas, o que gerou mais de 3 milhões de jogadores. Travian é baseado na linguagem PHP, rodando diretamente no navegador, sem a necessidade de instalar nenhum programa. Usuários podem jogá-lo pelo telefone celular usando uma plataforma em Java. Ao iniciar o jogo, o usuário deve escolher entre três povos para comandar: gaulês, romano ou teutão, tendo cada povo tem suas características, vantagens e desvantagens. Romanos tem seus atributos mais balanceados, ao contrário dos Gauleses, que tendem a ser mais defensivos. Já os Teutões são mais agressivos e naturalmente preferem o ataque. Após a escolha do povo, o jogador deve comandar uma pequena vila. Ele melhorar a estrutura do povoado e seu exército para sobreviver frente às outras aldeias. Para tal, deve incrementar a colheita de madeira, barro, ferro e cereal, aumentando a quantidade de aldeões e construindo edificações como celeiros e armazéns. As vilas que rodeiam, são comandadas por outros jogadores. Desta forma, pode-se negociar itens, ou atacar para saquear, assim como unir para se proteger. Desta forma, a interação entre jogadores é grande. 17 Website: http://www.traviangames.com/ 18 Webiste: http://www.gdynamite.de/ 27 Figura 8. Tela do jogo Travian Tabela 10. Avaliação do jogo Travian Nome do jogo Desenvolvedor Plataforma Linguagem Dinâmica do jogo Passagem do tempo Comportamento no período offline Valores monetários Interação entre usuários Pontos positivos Pontos negativos Travian (http://www.travian.com.br/) Travian Games GmbH (http://www.traviangames.com/) Web (http://www.travian.com.br/) PHP Deve-se controlar uma aldeia, gerenciando e incrementando a produção de bens de consumo e aumentando o seu exército para atacar outra vilas ou se defender. Tempo real, controlado pelo servidor a qual está se acessando. A aldeia continua executando as ações determinadas, como colheita ou construções de edificações. É usado o ouro, mas pode-se negociar outros bens, como madeira, barra, ferro ou cereal. Através de mensagens, troca de mercadorias ou saque através de ataque com exército. • Completo e simples de operar; • Jogadores que optarem por adquirir uma conta paga, levam vantagem; 28 2.3.8 Considerações Diante da pesquisa feita, diversos jogos similares ao proposto no projeto foram analisados, levantando pontos positivos e negativos. Desta forma, foi de extrema importância tal pesquisa, pois permite elucidar dúvidas que surgiram com casos já implementados e em funcionamento e, além disto, inspirar-se nas idéias de sucesso e evitar os enganos cometidos. Dentre os pontos positivos encontrados, podemos citar: • Intuitividade de controle, ou seja, facilidade em identificar o funcionamento do jogo, com gráficos simples e documentos textuais auxiliando o aprendizado, como o Ayiti – The cost of life; • Layout de tela simples e bem estruturado, facilitando o acesso às opções de controle, como o GameGol; • Interação entre jogadores através de mensagens, como Tibia e Travian; • Gráficos simples, mas nem por isso se tornando desinteressante, como GameGol e Travian; • Categorização dos produtos disponíveis na loja, através de fornecedores e tipo de produtos, como no Store Manager; e • Sistema de controle do tempo, como o GameGol, onde permite ao usuário efetuar modificações até o momento onde o sistema faz o tratamento das variáveis (no caso, a partida de futebol, no caso do projeto, quando a loja está aberta ao público). Já os pontos negativos que foram constatados, que devem ser evitados, podemos citar: • Monotonia diante da falta de opções de ações ao jogador, como Darfur is Dying; • Excesso de complexidade nos controles e informações, como Virtual-U; e • Gráficos precários, com botões de ações não intuitivos e sem auxilio textual, deixando o jogo desinteressante e complicado, como Store Manager. 29 3 DESENVOLVIMENTO O sistema é um simulador empresarial, na forma de um jogo sério, com o objetivo de trabalhar com questões presentes no cotidiano deste segmento, como administrativas (gerenciamento da equipe de funcionários, verba para investimento em marketing), financeiras (relatórios de compra e venda) e logística (controle de estoque). Neste cenário, o jogador assume o papel de proprietário e gerente de tal estabelecimento. Desta forma, ele deve tomar as decisões necessárias para o melhor funcionamento de sua loja, baseado nas condições gerais do mercado, assim como nas possibilidades que lhe são apresentadas. Como todo sistema de comércio, a concorrência tem um papel importante. Este fator é criado através da competição entre os jogadores, que disputam o interesse dos consumidores controlados pelo sistema, através de táticas de vendas. Para realizar a administração do sistema, afim de configurar variáveis como gerenciamento dos jogadores e suas lojas, dados dos produtos e comportamento dos consumidores, o responsável deve acessar uma área distinta e protegida do site. 3.1 LEVANTAMENTO DE REQUISITOS Nesta seção são apresentados os requisitos da ferramenta, limitando a função da ferramenta e como ela deve realizar seu trabalho. Segundo Martins (2007), os requisitos são características funcionais e não funcionais que o sistema precisa apresentar. 3.1.1 Requisitos Funcionais Os requisitos funcionais compreendem as características do sistema, descrevendo os serviços que a ferramenta oferecerá. Martins (2007) comenta que requisitos funcionais são aqueles que definem o comportamento do sistema, que documentam as entradas, os processos e as saídas geradas. Desta forma, a lista dos principais requisitos funcionais são: • RF01: O sistema deverá permitir ao usuário a criação de uma loja varejista virtual, após o registro do mesmo; • RF02: O sistema deverá possibilitar ao usuário alterar o tamanho de sua loja, desde que o mesmo tenha recursos financeiros para tal e estoque menor que o futuro tamanho disponibiliza; • RF03: O sistema deverá permitir ao usuário obter um empréstimo bancário, devendo este pagar as parcelas divididas em 12 prestações e com incidência de juros; • RF04: O sistema deverá permitir ao usuário contratar e demitir vendedores; • RF05: O sistema deverá permitir ao usuário encomendar produtos; • RF06: O sistema deverá permitir ao usuário visualizar relatórios que tragam informações sobre as vendas do estabelecimento, assim como a situação financeira; • RF07: O sistema deverá permitir ao administrador fazer ajustes em valores usados durante o decorrer do jogo; • RF08: O sistema deverá permitir ao administrador banir um jogador quando este entender que seja necessário; • RF09: O sistema deverá permitir ao administrador cadastrar novos produtos ou alterar os existentes, determinando seus dados; e • RF10: O sistema deverá permitir ao administrador cadastrar novos vendedores ou alterar os existentes. 3.1.2 Requisitos não Funcionais Os requisitos não funcionais são, segundo Martins (2007), compostos por características não necessariamente associadas ao comportamento, como usabilidade, confiabilidade, performance e suporte. Assim, os requisitos não funcionais do sistema são: • RNF01: O sistema deverá ser desenvolvido utilizando linguagem HTML e PHP, armazenando informação em banco de dados MySQL; e • RNF02: O sistema deverá ser acessível via ambiente WEB com uso de navegador. 31 3.1.3 Regras de Negócio As regras de negócio definem como é o funcionamento do negócio, e servem para delimitar e esclarecer a amplitude do sistema em questão. Lista das regras de negócio • RN01: O jogador pode apenas contratar ou demitir vendedores e consultor de mercado, assim como alterar o investimento em marketing, no período entre os dias 2 e 6 de cada mês, ou no dia de inauguração do estabelecimento; • RN02: O jogador só poderá obter empréstimo se não estiver em dívida com o banco, ou seja, caso já tenha obtido empréstimo, apenas após a quitação deste; • RN03: O jogador só poderá alterar o tamanho de sua loja caso tenha recursos financeiros para tal, e quantidade de produtos em estoque menor que o tamanho de loja pretendido; • RN04: O jogador não poderá encomendar novos produtos caso não tenha recursos em caixa para tal; e • RN05: Caso a quantidade de produtos em estoque exceda o tamanho da loja, o jogador deverá ser alertado e cobrado diariamente proporcionalmente pelo espaço excedido. 3.2 DIAGRAMAS DE CASOS DE USO Um caso de uso pode ser entendido como uma série de ações que visam completar uma atividade, devendo ser bem detalhado, pois será utilizado em diversas outras etapas da modelagem orientada a objetos com uso de UML (MEDEIROS, 2004). A Figura 9 e a Figura 10 mostram os diagramas de casos de uso que serão utilizados neste projeto. 32 Figura 9. Diagrama de caso de uso - usuário Figura 10. Diagrama de caso de uso - administrador 33 A descrição formal dos casos de uso foi substituído pelo detalhamento das telas na seção 3.6 por se tratar de um sistema onde a interatividade e a interface tem importância maior que num sistema de informação. Desta forma, a descrição dos casos de uso se tornaria um tópico redundante. 3.3 DIAGRAMA ER Segundo Mello (2009), o modelo entidade-relacionamento, também chamado de diagrama entidade-relacionamento, se baseia na percepção do mundo real, que consiste em um conjunto de objetos básicos chamados entidades e nos relacionamentos entre esses objetos. Seu objetivo, ainda segundo Mello (2009), é facilitar o projeto de banco de dados, possibilitando a especificação da estrutura lógica geral do mesmo. Luppi (2009) define como sendo um modelo diagramático que descreve o modelo de dados de um sistema com alto nível de abstração, ou seja, é a visão estática de um programa. Na Figura 11, que apresenta o diagrama ER criado para o sistema, podem ser analisadas todas relações entre as entidades do sistema. Nela, destaca-se a entidade “usuário” referente aos dados do jogador e “loja” onde contem todas informações do estabelecimento do jogador. Relacionada com estas, entidades secundárias estão relacionadas, como informações de possível empréstimo bancário do jogador, mensagens recebidas, produtos disponíveis na loja, produtos encomendados em transporte, vendas feitas, ações financeiras de crédito e débito, relação de vendedores contratados e visitas de consumidores à loja. Além destas, outras entidades relacionadas à administração do jogo estão presentes. 34 Figura 11. Diagrama ER 35 3.4 PÚBLICO ALVO O jogo se destina a todos que tenham algum interesse em vivenciar o ambiente administrativo de um estabelecimento comercial, permitindo que desenvolvam ou pratiquem suas habilidades gerenciais sem ter que investir ou arriscar nenhuma quantia financeira. 3.5 SISTEMA O sistema pode ser acessado através de um website disponibilizado na internet, permitindo que o jogador possa controlar seu estabelecimento de qualquer local ou computador, desde que este, obviamente esteja conectado. Segundo Harbour (2002), a melhor arquitetura a ser adotada em jogos para múltiplos usuários online é a cliente/servidor, que permite unir diversos servidores para um único universo de jogo. Para tal, foi desenvolvido nas linguagens HMTL e PHP, além de CSS e JavaScript, com armazenamento das informações em banco de dados MySQL, por serem estas tecnologias sem custo, dominadas pelo desenvolver e que possibilitaram atender todos requisitos para tal projeto. 3.6 DETALHAMENTO DO JOGO 3.6.1 Registro de usuário Para se tornar apto a jogar, o usuário deve se registrar no sistema, preenchendo um cadastro com informações básicas a seu respeito, como seu nome e e-mail. Além disto, deve criar um nome de usuário e uma senha, que serão usados para fazer seu login no sistema, ou seja, para se identificar ao acessar o jogo. O nome de usuário deverá ser único, para garantir a individualidade de registro, ou seja, o sistema deve confirmar que o apelido escolhido não foi registrado por nenhum outro usuário. 3.6.2 Criando a loja Após criar um registro no sistema, o jogador pode criar sua loja virtual. No jogo, assim como na vida real, o futuro lojista tem que tomar decisões importantes antes mesmo de abrir as portas de seu estabelecimento. Estas decisões dependerão do perfil do jogador, das suas visões com relação ao mercado, e outras variáveis que determinarão o estilo que a loja terá. 36 Para tomar tais decisões, o jogador terá uma quantia inicial de dinheiro (capital inicial), que poderá investir como melhor entender. Neste momento de criação da loja, ele deve informar o nome do estabelecimento e determinar seu tamanho inicial. Para decidir o tamanho inicial da loja, o usuário deve ponderar a quantia envolvida nesta ação, considerando que terá investimentos futuros, como contratação de vendedores e aquisição de produtos para estoque. Há três tamanhos: • Pequeno: dispõe de 100 m2 de área; • Médio: dispõe de 150 m2 de área; e • Grande: dispõe de 200 m2 de área. A Figura 12 apresenta a tela da criação da loja. 37 Figura 12. Criando a loja 3.6.3 Menu de opções O usuário, ao acessar sua loja, possui um conjunto de funcionalidades, conforme ilustrado na Figura 13. 38 Figura 13. Menu de opções Este menu de opções estará sempre presente na parte superior do jogo, de forma com que o usuário tenha fácil acesso à todas telas disponíveis, além de poder visualizar informações relevantes à sua loja. Na parte superior esquerda ficará o logotipo cadastrado pelo usuário (caso não haja nenhum cadastrado, o sistema mostrará um logotipo padrão). A seguir, são apresentados três retângulos contendo informações importantes no andamento do jogo. O primeiro mostra a data atual, além do valor disponível em caixa na loja e o espaço utilizado com o estoque. O segundo se a loja recebeu alguma mensagem nova, como do consultor de mercado, por exemplo. E o terceiro retângulo mostra os indicadores da loja. Abaixo do logotipo e dos retângulos informativos, fica o menu vertical de opções que o jogador acessa todas funcionalidades do jogo. Estas opções serão descritas a seguir. 3.6.4 Menu “Loja” • Home: A página inicial apresenta dois relatórios, considerando os últimos 7 dias. O primeiro é o valor vendido por dia, e o segundo é o posicionamento da loja no mercado de acordo com o faturamento no período; • Dados: Acessando esta tela, serão mostradas informações gerais sobre a loja do cliente, como a data de sua inauguração, tamanho atual da loja, espaço utilizado pelas mercadorias que tem na loja e a quantia disponível em caixa; e • Configurar: Nesta página o jogador poderá alterar características de seu estabelecimento. Poderá personalizar, através de upload de um arquivo jpeg, o logotipo, 39 que será usado no topo do menu. Além disto, o jogador poderá trocar o layout de cores que representa a loja, usado nas telas do jogo, através da escolha de layout pré-determinados. • Tamanho: Nesta página o jogador pode trocar o tamanho de seu estabelecimento. Se esta for a sua decisão, receberá um valor pelo imóvel atual, com uma porcentagem de depreciação com relação ao pago inicialmente, e após isto, poderá comprar um imóvel novo. Caso o novo tamanho de loja escolhido for menor, e as mercadorias que o jogador tiver em estoque ocuparem um tamanho maior que o disponível, o sistema não permitirá a troca, assim como não permitirá caso o jogador não tenha o valor disponível para a nova aquisição; • Empréstimo: Caso necessite, o jogador tem a opção de, nesta tela, pedir um empréstimo junto a um banco fictício. A quantia disponibilizada, que será de acordo com o tamanho da loja, será cobrada em 12 parcelas, com vencimento para todo dia primeiro do mês, e com incidência de juros bancários pré-estabelecido pelo administrador; e • Encerrar: O sistema permite que o jogador administre apenas uma loja. Caso ele deseje começar um novo negócio, deverá acessar esta tela e solicitar o fechamento do seu estabelecimento atual. 3.6.5 Menu “Funcionários” • Gerenciar: Nesta tela, como pode ser visto na Figura 14, são apresentados todos funcionários contratados pela loja. Para cada colaborador, o jogador pode visualizar suas características, como nome, idade, salário e competência. Caso o usuários deseje dispensar um vendedor, o jogo deverá estar num período compreendido entre os dias 2 e 6 de cada mês. Nesta ação, um valor (configurado pelo administrador do sistema) referente ao encargo demissional será cobrado; e 40 Figura 14. Listagem dos vendedores da loja • Contratar: Numa tela semelhante ao de gerenciamento de funcionários, o jogador pode procurar por novos profissionais para integrar à sua equipe de vendas. Para tal, deve ponderar entre o salário pedido e a competência do profissional, uma vez que estes quesitos influem diretamente na sua folha de pagamento e no indicador de atendimento. 3.6.6 Menu “Produtos” • Na loja: Nesta página o jogador pode visualizar todos os produtos disponíveis em sua loja, que, para facilitar a procura, estão separados de acordo com o setor a que pertencem. Ao selecionar um produto específico, o jogador encontra todas informações pertinentes a ele, como seu custo, espaço que ocupa em estoque, qualidade e quantidade em estoque. Além disto, pode definir o valor de venda do produto. Caso este esteja abaixo do valor de custo, o mesmo aparecerá em vermelho na listagem, ao invés de azul. 41 O jogador também tem a possibilidade, através de link, de ir diretamente à página responsável pela encomenda de mais unidades do produto em questão; Figura 15. Produtos disponíveis na loja • Aguardando: Ao encomendar algum produto, o mesmo só estará disponível na loja após o período que o fornecedor exige para entrega, ou seja por falta em estoque, ou por tempo para fabricação, além do tempo de transporte. Enquanto isto, nesta página o jogador pode visualizar os produtos nesta situação; e • Encomendar: Ao perceber a carência de um determinado produto em sua loja, o jogador deve acessar esta página para entrar em contato com o fornecedor e encomendar a mercadoria necessária. Numa tela similar à de produtos na loja (Figura 15), o jogador pode visualizar as características do produto selecionado, como seu custo, prazo de entrega, espaço ocupado e qualidade. Definindo qual mercadoria irá encomendar, o jogador, tendo condição financeira, 42 informa a quantidade pretendida, o valor que irá cobrar quando o item chegar à sua loja, e efetua a compra. 3.6.7 Menu “Investimentos” • Marketing: Nesta página, o jogador pode definir entre os dias 2 e 6 de cada mês qual será o investimento mensal em marketing que irá fazer. Todo dia primeiro de cada mês, o sistema debitará da conta do jogador o valor definido, e investirá em diversos meios de comunicação afim de que eleve o indicador de “marca” da loja; e • Consultor: Caso o jogador perceba a necessidade, pode contratar um consultor de mercado. Este profissional irá auxiliar o usuário fornecendo 4 dicas mensais de diversos teores, como informando o comportamento do consumidor ou a melhor forma de administrar o estabelecimento, por exemplo. O salário deste consultor, previamente determinado pelo administrador do sistema, será debitado do lojista, assim como o investimento em marketing, todo dia primeiro de cada mês. 3.6.8 Menu “Relatórios” • Vendas: Nesta tela, como ilustra a Figura 16, o jogador pode visualizar todos itens vendidos por sua loja num determinado período, com os valores praticados na data da transação; 43 Figura 16. Relatórios de vendas • Visitas: O relatório de visitas expõe quantos clientes entraram no estabelecimento do jogador num determinado período, assim como quantas vendas foram feitas. Desta forma, o jogador tem uma percepção com relação a opinião dos clientes quanto aos seus preços. Se houveram muitas visitas e poucas vendas, os consumidores estão preferindo fazer compras noutras lojas; • Mercado: Para interpretar a presença da sua loja perante o mercado, o jogador pode acessar esta página que visualizará sua posição num ranking ordenado pelo faturamento em vendas; e • Financeiro: O relatório financeiro exposto nesta loja, permite que o jogador visualize seu livro caixa num determinado período. Desta forma, pode analisar todas suas despesas, assim como seus ganhos. 44 3.6.9 Menu “Mensagens” • Ler: O lojista pode receber mensagens de diversas pessoas, como por exemplo do seu consultor de mercado (se o tiver contratado), ou dos seus departamentos de estoque e financeiro, assim como de clientes que queiram expressar alguma opinião. Nesta página o jogador tem acesso a todas estas mensagens, que são destacadas quando ainda não lidas. 3.6.10 Menu “Usuário” • 3.6.11 Trocar senha: Nesta página o usuário poderá alterar sua senha de acesso ao jogo. Menu “Sair” Nesta opção, o usuário sai do sistema, sendo redirecionado à tela de abertura do jogo. 3.7 DINÂMICA DO JOGO Para que a simulação funcione de uma forma mais próxima à realidade, e de uma maneira justa a todos competidores, algumas medidas foram tomadas. O primeiro dia de cada mês será a data quando os pagamento serão feitos. Neste dia, é descontado do caixa do estabelecimento os valores referentes a folha salarial e, caso exista, investimento em marketing, consultor de mercado e parcela do empréstimo bancário. No período entre os dias 2 e 6 de cada mês, o jogador pode remanejar seu quadro de vendedores. Além disto, apenas neste período ele poderá alterar a verba destinada ao marketing da loja, assim como contratar ou demitir seu consultor de mercado. A exceção para esta regra é o dia de inauguração do estabelecimento, onde é fundamental ao lojista ter liberdade a alterar estas variáveis. Num determinado horário agendado diariamente no servidor que hospeda o sistema, o algoritmo de passagem do dia é executado. Neste momento são feitos os processamentos e a atualização do jogo, conforme segue: • Recebimento de encomendas: o sistema verifica se há a chegada de algum produto encomendado pela loja naquela data; 45 • Atualização dos indicadores: os indicadores da loja são atualizados, conforme exposto no item 3.7.1 ; • Simulação dos consumidores: é feita a simulação dos consumidores, conforme item 3.8. Este momento representa o período em que o estabelecimento está de portas abertas, recebendo visitas dos clientes e efetuando as vendas; • Envio de mensagens: neste momento o consultor pode enviar uma mensagem com alguma informação, assim como algum de seu departamento para lhe informar a algum assunto pertinente; e • Checagem de estoque: caso o lojista tenha mais produtos que espaço para estocagem, seu departamento lhe alerta pelo custo pago ao aluguel de um local para armazenar os itens excedentes. Após este momento, o usuário poderá conferir os resultados destes processamentos através dos novos dados em relatórios, assim como as mensagens recebidas, a atualização da quantia em seu caixa, ou também as quantidades de produtos em estoque. 3.7.1 Indicadores da Loja O comportamento do consumidor frente a uma loja será de acordo com alguns fatores que esta transmite a ele. Para representar estes fatores, foram estabelecidos cinco indicadores que variam de acordo com uma série de itens presentes no estabelecimento. São eles: • Confiabilidade: é o grau de confiança que os clientes tem na loja. Este sentimento é determinado a partir da qualidade dos produtos vendidos. Se um estabelecimento vende apenas produtos de alta qualidade, os consumidores saberão que neste local encontrarão boas mercadorias; 46 ∑ x * 20 Equação 1. Definição do índice de confiabilidade n onde: x = qualidade do produto n€= quantidade de produtos • Atendimento: dependendo do grau de profissionalismo dos vendedores contratados pela loja, a qualidade no atendimento é afetada. Com isto, o poder de persuasão que o atendente tem, influência nas vendas. Além disto, a quantidade de vendedores que a loja tem, influencia no atendimento dispensado ao consumidor. Se uma loja grande dispõe de poucos vendedores, consumidores ficarão muito tempo aguardando por atendimento. Assim, uma loja pequena exige, ao menos, 3 vendedores, uma loja média 6 vendedores e uma loja grande, 10 vendedores; ∑ x * 20 − n [(qtMin − n).5] Equação 2. Definição do índice de atendimento onde: x = competência do vendedor n = quantidade de vendedores € qtMin = quantidade mínima de vendedor na loja • Tradição: a tradição de uma loja é determinada pelo seu tempo de existência no mercado. Um estabelecimento que está de portas abertas há um bom tempo, terá mais tradição se comparado a um estabelecimento recém inaugurado; ∑ n.5 Equação 3. Definição do índice de tradição onde: n = quantidade de meses que a loja €está aberta • Preço: este indicador representa o quanto uma loja pratica uma margem de lucro média acima da praticada pelo comércio em geral; e 47 mMerc ∑ − mLoja 70 + ∑ n Equação 4.Definição do índice de preço onde: mMerc = margem de lucro aplicada ao produto noutras lojas € n = quantidade de lojas com o produto mLoja = margem de lucro aplicada ao produto na loja • Marca: para ter uma marca forte frente aos consumidores, o lojista deve investir uma boa quantia em marketing. Desta forma, obterá uma boa imagem pela visão do consumidor. Além disto, deve investir ao menos uma quantia mínima, onde uma loja pequena espera-se uma quantia de 400, uma media de 700 e uma grande de 1000. inv.75 .2 − (qtdMin − n ) invMin Equação 5. Definição do índice de marca onde: inv = investimento em marketing invMin = investimento em € marketing minimo qtMin = quantidade mínima de produtos na loja n = quantidade de produtos Estes indicador são recalculados diariamente, antes do processo de simulação do consumidor, descrito no item a seguir. 3.8 SIMULAÇÃO DO CONSUMIDOR Um dos principais fatores que interferem no cenário comercial é o comportamento do consumidor. Baseado nos estudos feitos no item 2.2, foi criado um sistema simulado que visa simplificar a complexidade que envolve este tema, tendo em vista o curto prazo de desenvolvimento, porém mantendo as características comportamentais esperadas. 48 3.8.1 Características do consumidor As características do consumidor adotadas tem como base as pesquisas realizadas nos itens 2.2.1.1, 2.2.1.2 e 2.2.1.3, referentes ao consumidor brasileiro. Para o sistema, foi adotado, no que se refere as classes sociais, os percentuais apresentados na Tabela 11. Tabela 11. Classes sociais adotadas pelo sistema Classe social Percentual Alta (A) 5% Média Alta (B) 24% Média Baixa (C) 43% Baixa (D e E) 28% Já na Tabela 12, são mostradas os percentuais utilizados no sistema com referencia a faixa etária do consumidor. Tabela 12. Faixas etárias adotadas pelo sistema Faixa Etária Percentual Jovem (10 a 24 anos) 26% Adulto (25 a 44 anos) 48% Idoso (45 anos ou mais) 26% E a última característica do consumidor, ou seja, o sexo, pode ser vista a porcentagem adotada no sistema na Tabela 13. Tabela 13. Sexo da população adotada pelo sistema Sexo Percentual Masculino 50% Feminino 50% 49 3.8.2 Metodologia O sistema irá diariamente simular o comportamento dos consumidores efetuando compras no comércio, ou seja, nas lojas dos jogadores. Para tal, irá se comportar da seguinte forma: determinar o perfil do consumidor, determinar o produto que será comprado, selecionar as lojas que oferecem o item e satisfazem as exigências do cliente e, finalmente, determinar em qual loja será efetivada a compra. Além disto, o sistema irá determinar a quantidade de vezes que este processo será repetido, ou seja, a quantidade de produtos que os consumidores irão adquirir naquele dia. O critério adotado para determinar esta quantidade, mantendo uma proporcionalidade entre a demanda de clientes e as opções do mercado, foi multiplicar o número de lojas ativas no jogo por dez. Desta forma, o sistema simula n clientes resultantes da operação. Desta forma, quanto mais lojas abertas no sistema, mais consumidores existirão, fomentando o mercado e injetando mais dinheiro no comércio. Para os processos de sorteio que serão necessários neste momento do jogo, será utilizado o método da roleta. Este método é o mais simples e utilizado em algoritmos genéticos para seleção de indivíduos de acordo com sua aptidão, e pode ser aproveitado para simular o consumidor da loja virtual. Segundo Vallim (2007), neste método a roleta é dividida em fatias, cada uma representando um indivíduo e possuindo tamanho proporcional à aptidão do indivíduo. Dessa forma, os indivíduos mais aptos possuem uma fatia maior na roleta. Para selecionar os indivíduos, gira-se a roleta n vezes, onde n é o tamanho da população. A cada girada, o indivíduo apontado pela agulha é selecionado. 50 Figura 17. Método da roleta 3.8.3 Determinando o perfil do consumidor Primeiramente o sistema irá definir qual perfil do consumidor que efetuará a compra. Para tal, irá sortear sua classe social, faixa etária e sexo. Todos estes sorteios serão feitos pelo método da roleta e considerando os percentuais expostos nos itens 2.2.1.1, 2.2.1.2 e 2.2.1.3. Para cada cruzamento entre a classe social e faixa etária do consumidor simulado, os indicadores das lojas terão graus de relevância diferentes. Por exemplo, caso seja sorteado um consumidor de classe social alta, os indicadores de marca, atendimento e confiabilidade terão mais peso que os demais. Ao contrário, caso seja sorteado um consumidor de classe social baixa, o indicador de preço terá mais relevância. Da mesma forma quanto à faixa etária. Caso seja sorteado um consumidor idoso, a tradição terá mais importância. Caso seja um jovem, a marca terá mais peso. Para simular este comportamento, o sistema adota grau de relevância pra cada indicador da loja. Estes valores, baseado na classe social, podem ser avaliados na Tabela 14. 51 Tabela 14. Grau de relevância dos indicadores conforme classe social do consumidor Indicador Classe Alta Classe Média Classe Alta Média Baixa Classe Baixa Confiabilidade alta média baixa baixa Atendimento alta alta média baixa Tradição média baixa baixa baixa Preço baixa baixa média alta Marca alta média média baixa Assim como a classe social apresenta grau de relevância diferenciado pra cada indicador, a faixa etária do consumidor também. Este padrão pode ser visualizado na Tabela 15. Tabela 15. Grau de relevância dos indicadores conforme faixa etária do consumidor Indicador Jovem Adulto Idoso Confiabilidade baixa média média Atendimento baixa média alta Tradição baixa baixa média Preço alta média baixa Marca alta média baixa Tendo a soma das importâncias de cada indicador para o consumidor simulado, obtêm-se uma condição mínima para que a loja esteja “apta” a receber a visita deste cliente, além de, obviamente, ter o produto almejado, que será determinado numa próxima etapa do sistema. O sexo do consumidor irá determinar outro aspecto importante no processo de compra. Este fator irá determinar a quantidade de lojas que o consumidor irá “visitar” antes de efetivamente fazer a compra, onde fará o comparativo de preços praticados entre os estabelecimentos. Para tal, caso o consumidor simulado seja do sexo feminino, este irá analisar 10 lojas, enquanto caso seja do sexo masculino, irá analisar 5 lojas. 52 3.8.4 Determinando o produto a ser comprado Após saber qual o perfil do consumidor, o sistema irá determinar qual produto será comprado, baseado-se na classe social do consumidor e no seu poder de compra. Para cada classe, os valores determinados podem ser vistos na Tabela 16. Tabela 16. Poder de compra de acordo com a classe social do consumidor Classe social Valor Min. Valor Max. Classe Alta 4.000 10.000 Classe Média Alta 2.000 6.000 500 3.000 0 1.000 Classe Média Baixa Classe Baixa Assim, tendo a quantia que o cliente tem para adquirir um novo produto, este é sorteado dentre os produtos cadastrados no sistema que pertencem a esta faixa de valores. Com a definição de qual produto o cliente quer comprar, estabelecido quais lojas tem tal produto e que atendem às exigências de acordo com o seu perfil, a compra é consumada no estabelecimento de menor custo. Neste momento, após o registro da compra ser feito na loja contemplada, seu estoque e quantia em caixa são atualizados. 3.9 ADMINISTRAÇÃO DO JOGO Na área de administração do jogo, o responsável poderá realizar ajustes tanto quanto ao gerenciamentos dos jogadores, quanto a variáveis do jogo como os produtos. 3.9.1 Menu “Configurar” • Trocar senha: Nesta área o administrador pode trocar sua senha de acesso; • Administradores: Caso necessite cadastrar outro administrador, pode-se ser feito isto nesta página, criando seu nome de administrador e senha; 53 • Ajustes do jogo: Na tabela disponibilizada nesta tela, o administrador pode ajustas variáveis pertinentes ao comportamento do jogo. São elas: o Capital inicial: Ao iniciar a partida, o jogador é contemplado com esta quantia de dinheiro; o Preços e tamanhos das lojas: Custos e espaço em metros quadrados de estocagem para cada um dos três tamanhos de lojas: pequeno, médio e grande; o Juros bancário: Percentual cobrado sobre as prestações dos empréstimos bancários obtidos pelos lojistas; o Encargo demissional: Valor percentual sobre o salário de um vendedor demitido referente a encargos desta ação; o Consultor: Valor cobrado mensalmente pelo consultor, que disponibiliza informações importantes sobre o mercado e os consumidores; e o Estoque excedente: Ao ter mais produtos que o tamanho de sua loja, o jogador paga uma taxa diária sobre os metros quadrados excedentes, referentes à contratação de um local para o armazenamento destas mercadorias. • Passar dia: Durante o período de testes, a fim de agilizar o mesmo, foi criado esta tela que, conforme a decisão do administrador, força a passagem de dia no jogo. Desta forma, não há a necessidade da espera pelo agendamento feito no servidor, que é responsável pela execução de tal algoritmo. Nesta mesma tela, após a passagem do dia, é mostrado o resultado do processamento, ou seja, o resultado do comportamento de todos consumidores simulados. Conforme ilustra a Figura 18, o administrador pode visualizar o perfil de cada consumidor, assim como suas exigências com relação aos indicadores das lojas, seu poder de compra, o produto escolhido, as lojas visitadas e, finalmente, a onde efetuou a compra. 54 Figura 18. Resultado da simulação dos consumidores 3.9.2 Menu “Jogador” • Lojas: Caso sinta necessidade por algum motivo, o administrador pode, nesta tela, cancelar o registro de uma determinada loja. Nesta caso, o jogador deve criar um novo estabelecimento; e • Jogador: Assim como no menu acima, o administrador pode cancelar por algum motivo o registro de um jogador. Desta forma, a sua loja também será cancelada, e seu acesso é negado ao jogo; 3.9.3 Menu “Produto” • Setor: Nesta página, o administrador pode criar ou excluir um setor de produtos, como por exemplo eletrodomésticos ou telefonia. Caso haja produto atrelados à um setor que é apagado, este produto também será excluído, pois estes não podem permanecer sem um setor; e 55 • Produto: Nesta tela o administrador pode criar ou alterar algum produto. Para tal, deve informar as seguintes características: nome, setor, valor de custo, tamanho, prazo de entrega, qualidade e imagem. Além disto, pode também excluir algum produto. 3.9.4 Menu “Vendedor” • Vendedores: Nesta página o administrador pode criar, alterar ou excluir os vendedores disponíveis à contratação dos lojistas. As características de cada profissional destes são: nome, idade, salário, competência e sua imagem. 3.9.5 Menu “Consultor” • Mensagens: As mensagens que o consultor enviar aos lojistas são configuradas nesta área. O administrador cadastra os textos, e o sistema envia aleatoriamente as dicas. 56 4 AVALIAÇÃO Para realizar os testes, foi preciso cadastrar exemplos de produtos e vendedores. Para tal, com relação aos vendedores, foram utilizadas imagens de direitos autorais livres disponíveis no site Getty Images19 e nomes fictícios. Já no caso dos produtos, foram usadas imagens de divulgação de itens reais, porém alterando o nome do mesmo, assim como suas características. Desta forma, caso o sistema seja utilizado fora do ambiente acadêmico, é necessária a troca destas imagens, ou a obtenção do direito de uso. Devido ao reduzido prazo de tempo restante à esta fase, apenas uma sessão de teste foi realizada. Nesta avaliação, afim de que não fosse necessária a espera do agendamento diário feito no servidor para atualização dos dados, criou-se uma opção na área de administração onde o coordenador dos testes pudesse ativar tal mecanismo, conforme exposto no item 3.9.1 . Desta forma, estipulou-se um tempo de quinze minutos para que os usuários pudessem realizar as modificações em suas lojas, antes de que o dia no sistema fosse alterado. Nesta sessão de testes, avaliou-se o sistema com quatro membros, três homens e uma mulher, do Laboratório de Soluções em Software (L2S), da Universidade do Vale do Itajaí (Univali). Todos eram usuários avançados com sistemas para internet, porém nunca tiveram utilizado anteriormente o jogo desenvolvido. A seguinte metodologia foi adotada: após 10 minutos disponibilizados aos jogadores para fazerem ajustes em seus estabelecimentos, 5 dias eram passados. Desta forma, 45 dias foram simulados, resultando nos valores de vendas expostos na Tabela 17, das características gerais adotas na Tabela 18. Características das lojas da avaliação Jogador Tamanho Consultor Marketing Empréstimo Jogador 1 Médio Sim R$ 900,00 Não Jogador 2 Pequeno Sim R$ 8.000,00 Não Jogador 3 Pequeno Não R$ 5.000,00 Não Jogador 4 Médio Sim R$ 500,00 Não 19 Website: http://www.gettyimages.com/ 57 Tabela 19. Indicadores das lojas da avaliação Jogador Confiabilidade Atendimento Tradição Preço Marca Jogador 1 52 65 15 82 76 Jogador 2 56 95 15 87 100 Jogador 3 72 75 15 77 100 Jogador 4 80 76 15 85 25 e dos indicadores das lojas na Tabela 19. Tabela 17. Valores finais de vendas da avaliação Jogador Vendas Faturamento Caixa Jogador 1 86 R$ 22.061,00 R$ 16.887,00 Jogador 2 29 R$ 9.627,16 R$ 41.777,40 Jogador 3 72 R$ 40.845,00 R$ 42.052,00 Jogador 4 37 R$ 5.885,00 R$ 5.264,00 Tabela 18. Características das lojas da avaliação Jogador Tamanho Consultor Marketing Empréstimo Jogador 1 Médio Sim R$ 900,00 Não Jogador 2 Pequeno Sim R$ 8.000,00 Não Jogador 3 Pequeno Não R$ 5.000,00 Não Jogador 4 Médio Sim R$ 500,00 Não 58 Tabela 19. Indicadores das lojas da avaliação Jogador Confiabilidade Atendimento Tradição Preço Marca Jogador 1 52 65 15 82 76 Jogador 2 56 95 15 87 100 Jogador 3 72 75 15 77 100 Jogador 4 80 76 15 85 25 Ao final da sessão, pode-se constatar que efetivamente houve a esperada concorrência entre os participantes. Além disto, com os valores coletados, foi possível avaliar o perfil adotado por cada e as conseqüências deste, resultando na quantidade de vendas e faturamento, assim como nos indicadores das lojas. Além disto, esta avaliação foi válida para a constatação de que algumas correções e melhoramentos fossem necessários. Dentre eles, foi implementado o sistema financeiro da loja, onde as operações de crédito e débito foram registradas, gerando um relatório detalhado para o jogador. Outra melhoria foi o registro do número de consumidores que entraram nas loja, permitindo ao usuário acompanhar quantas visitas resultaram em vendas e, assim, visualizar a quantidade de vendas perdidas. Com a realização deste teste, também foi percebida a necessidade do refinamento das configurações iniciais do jogo, como capital inicial e valores dos pr. A necessidade de mais testes para o aprimoramento do ambiente simulado seja mais real é requerida. 59 5 CONCLUSÕES A favorável realidade econômica brasileira encontrada nos últimos anos, serviu de incentivo para que cada vez mais pessoas se encorajem a abrir seu primeiro negócio próprio. Porém, esta nova situação, para muitas delas, é uma novidade e a inexperiência não possibilita antever os percalços que irão encontrar. Tomando como aliado o entretenimento proporcionado pelos jogos, com a metodologia de treinamento adotada nos jogos sérios, o presente projeto se propôs a auxiliar estas pessoas a conhecer mais sobre a realidade que envolve a administração de uma loja. Com esta idéia, estudos envolvendo temas pertinentes foram feitos. Através do que foi visto nos jogos, pode-se conhecer mais sobre a sua história, a importância como forma de ensino e as metodologias existentes. Além disto, através da avaliação de trabalhos similares, pode-se considerar soluções empregadas nestes, assim como evitar idéias que não se encaixam na proposta criada. No estudo feito sobre o comércio brasileiro, pôde-se delimitar as características do consumidor nacional. Desta forma, conhecendo o perfil do consumidor, foi possível, mesmo de que forma simplificada, simular o seu comportamento no sistema. Considera-se que o jogo criado simula coerentemente o comportamento de uma loja varejista, assim como todo ambiente que envolve este estabelecimento, ainda que envolvendo apenas fatores mais cruciais. Como proposta para trabalhos futuros, fica a sugestão de aprimorar ainda mais o comportamento do consumidor, criando eventos aleatórios para que este não se torne previsível, assim como ocorre na vida real, como, por exemplo uma crise econômica. Além disto, pode-se considerar mais variáveis além das abordadas no projeto (classe social, faixa etária e sexo), como por exemplo a sazonalidade mensal, onde se espera que no início do mês as compras sejam maiores, uma vez que o consumidor tem mais recursos por conta do recebimento do seu salário. Outra variante poderia ser o período do ano, uma vez que, no final deste, o poder aquisitivo do consumidor aumenta devido ao recebimento do décimo terceiro salário. 60 Outra sugestão é permitir ao lojista escolher em qual meio de comunicação ele quer fazer sua campanha de marketing, como por exemplo jornais, rádio, televisão ou internet. Desta forma, para cada meio escolhido, um determinado público-alvo é atingido. Como se pode perceber, este tipo de tema gera inúmeras sugestões de melhorias, porém vale deixar como sugestão final, a diversificação do ramo de atividade, abordando as características e peculiaridades de cada um. Se, por exemplo, fosse criado a opção de abrir um empreendimento do setor alimentício, o sistema deveria prever o tempo de estocagem, que poderia se perecer e ter um percentual gradativo de perda. Outro exemplo pode ser o do setor calçadista, onde deveria considerar as coleções de produtos relativas às estações do ano. 61 REFERÊNCIAS BIBLIOGRÁFICAS ALEXANDER, Thor. Massively multiplayer game development. Charles River Media, 2003. Disponível em: <http://books.google.com/books?id=dXS1MZPjDJQC>. Acesso em: 14 out. 2008. BARRON, Todd; PIZER, Patricia; LAMOTHE, Andre. Multiplayer game programming. Thomson Course Technology, 2001. Disponível em: <http://books.google.com/books?id=A9Z69ql3HrsC>. Acesso em: 14 out. 2008. FARKAS, Meredith G. Social Software in Libraries: Building Collaboration, Communication and Community Online. Information Today Inc., 2007. Disponível em: <http://books.google.com/books?id=AlARogbZHqcC>. Acessado em: 14 out. 2008. HARBOUR, Jonathan S. Visual Basic Game Programming with DirectX. Thomson Course Techology, 2002. Disponível em: <http://books.google.com/books?id=Rfovf2u8mkUC>. Acessado em: 14 out. 2008. HOEBEL, E. Adamson; FROST, Everett L. Antropologia Cultural e Social. Editora Cultrix, 1996. Disponível em: <http://books.google.com.br/books?id=Kp47bR2_wZkC>. Acessado em: 13 out. 2008. JOHNSON, W. Lewis; VILHJALMSSON, Hannes & MARSELLA, Stacy. Serious Games for Language Learning: How Much Game, How Much AI?. XII Conferência Internacional sobre Inteligência Artificial na Educação, Amsterdã 2005. Disponível em: <http://books.google.com/books?id=bR1pKYNcHA4C&hl>. Acessado em: 11 out. 2008. KISHIMOTO, Tizuko Morchida. O jogo e a educação infantil. Editora Pioneira, 1998. Disponível em: < http://www.google.com/books?id=MSPPXYdSAC4C&hl>. Acessado em: 31 out. 2008. LIMA, João do Rozario. A importância dos jogos nas series iniciais. Disponível em: <http://www.artigonal.com/educacao-artigos/a-importancia-dos-jogos-nas-series-iniciais385913.html>. Acessado em: 31 out. 2008. LUPPI, Iria. Conceitos e pasos para desenvolver um modelo ER. Disponível em: < http://www.oficinadanet.com.br/artigo/1696/conceito_e_passos__para_desenvolver_um_modelo_er >. Acessado em: 05 mar. 2009. MARTINS, José Carlos Cordeiro; Técnicas para gerenciamento de projetos de software. Editora Brasport, 2007. Disponível em <http://www.google.com/books?id=Axl2RZQdE68C>. Acessado em: 31 out. 2008. MEDEIROS, Ernani; Desenvolvendo software com UML 2.0. Pearson Education do Brasil, 2004. MEIGS, Tom. Ultimate Game Design: Building Game Worlds. McGraw-Hill Professional, 2003. Disponível em: <http://books.google.com/books?id=8TGiJSpmvbEC>. Acessado em: 11 set. 2008. MELLO, Mauricio Clauzet Ferraz de; O modelo entidade-relacionamento. Pontifícia Universidade Católica do Paraná (PUCPR), Engenharia Mecatrônica. Disponível em: < http://www.las.pucpr.br/mcfmello/BD/BD-Aula02-MER.pdf>. Acessado em: 05 mar. 2009. Meus Gastos – Seu controle financeiro on-line. “As classes sociais brasileiras em 2008”. Disponível em: <http://www.meusgastos.com.br/index.php?page=/blog/index.php?p=17>. Acessado em: 13 out. 2008. MuniNet – Rede Brasileira para o Desenvolvimento Municipal. “Banco Estatístico”. Disponível em: <http://muninet.org.br/banco>. Acessado em: 13 out. 2008. PURDY, John A. Serious Games: Getting Serious About Digital Games in Learning. Corporate University Journal, edição 1, 2007. Disponível em: <http://www.corpu.com/site_media/journal/2007/1.pdf>. Acessado em: 14/10/2008. RATTO, Luiz. Comércio. Um Mundo de Negócios. SENAC, 2004. Disponível em: < http://books.google.com.br/books?id=hnG80t8wPw8C>. Acessado em: 11 nov. 2008. RIIS, Jens O. Simulation Games and Learning in Production Management. Springer, 1995. Disponível em: <http://books.google.com/books?id=Aqxq7YQ5LLIC>. Acessado em: 11 set. 2008. RODRIGUES, Marcia Aparecida; JUPI, Viviane da Silva. O comportamento do consumidor – Fatores que influenciam em sua decisão de compra. Revista de Administração Nobel, no 03, jan. 2004. Disponível em <http://www.vaniadohme.pro.br/textos/FCECA/comporta/comporta.doc>. SILVA, Danielle R. D.; TEDESCO, Patrícia R. & RAMALHO, Geber L. Usando Atores Sintéticos em Jogos Sério: O Case SmartSim. Disponível em <http://www.sbc.org.br/bibliotecadigital/download.php?paper=549>. Acesso em: 07 ago. 2008. SEPPIR – Secretaria Especial de Políticas de Promoção da Igualdade Racial. “População economicamente ativa por sexo, segundo cor/raça e faixa etária”. Disponível em: <http://www.planalto.gov.br/seppir/pesquisas_indicadores/genero/retrato_das_desiguladades/tabela s/4_Mercado_de_trabalho/4.1a1.pdf>. Acessado em: 13 out. 2008. TURELLI, Fabiana Cristina. Resenha do livro Homo Ludens – O jogo como elemento da cultura. Universidade Federal de Santa Catarina, 2005. Disponível em: < http://www.sepex.ufsc.br/anais_5/trabalhos/262.html>. Acessado em: 31 out. 2008. VALLIM, Rosane Maria Maffei. Ajuste de Parâmetros de Máquinas de Vetores de Suporte por meio de Algoritmos Genéticos para Análise de Nível de Expressão Gênica. Universidade de São Paulo, 2007. WIKIPEDIA. A Enciclopédia Livre. Disponível em: <http://www.wikipedia.org>. Acessado em: 20 out. 2008. 63 APÊNDICES APÊNDICE A. ALGORITMO DO CONSUMIDOR Neste apêndice é mostrado o algoritmo que simula, através do método da roleta, explicado no item 3.8, o comportamento do consumidor. Este código é de extrema relevância para o contexto do jogo, pois através desta simulação que serão registradas as vendas das lojas administradas pelos usuários e, desta forma, julgar a estratégia de comércio dos mesmos. <?php /** CONFIGURAÇÕES **/ $relevancia["3"] = 15; $relevancia["2"] = 10; $relevancia["1"] = 5; echo '<table cellpadding="0" cellspacing="0" border="0" class="tabelas" align="center">'; echo '<tr><td class="tabelas_linha_titulo" align="center">Clientes</td></tr>'; /** DETERMINA QUANTIDADE DE CONSUMIDORES **/ $numLojas = select("count(*)", "loja", "ativo = '1'", null, "unique"); $qtdConsumidor = $numLojas * 10; for ($q = 0; $q < $qtdConsumidor; $q++) { $indicador["confiabilidade"] = $indicador["atendimento"] = $indicador["tradicao"] = $indicador["preco"] = $indicador["marca"] = 0; /** DETERMINA O PERFIL DO CONSUMIDOR **/ //classe social $sorteio = rand(0, 100); switch ($sorteio) { case ($sorteio <= "5"): //5%: classe alta $perfil["classe"] = "Classe Alta"; $compra["min"] = "4000"; $compra["max"] = "10000"; $indicador["confiabilidade"] += $relevancia["3"]; $indicador["atendimento"] += $relevancia["3"]; $indicador["tradicao"] += $relevancia["2"]; $indicador["preco"] += $relevancia["1"]; $indicador["marca"] += $relevancia["3"]; break; case (($sorteio > "5") and ($sorteio <= "29")): //24%: classe média alta $perfil["classe"] = "Classe Média Alta"; $compra["min"] = "2000"; $compra["max"] = "6000"; $indicador["confiabilidade"] += $relevancia["2"]; $indicador["atendimento"] += $relevancia["3"]; $indicador["tradicao"] += $relevancia["1"]; $indicador["preco"] += $relevancia["1"]; $indicador["marca"] += $relevancia["2"]; break; case (($sorteio > "29") and ($sorteio <= "72")): //43%: classe média baixa $perfil["classe"] = "Classe Média Baixa"; $compra["min"] = "500"; $compra["max"] = "3000"; $indicador["confiabilidade"] += $relevancia["1"]; $indicador["atendimento"] += $relevancia["2"]; $indicador["tradicao"] += $relevancia["1"]; 65 $indicador["preco"] += $relevancia["2"]; $indicador["marca"] += $relevancia["2"]; break; case ($sorteio > "72"): //28%: classe baixa $perfil["classe"] = "Classe Baixa"; $compra["min"] = "0"; $compra["max"] = "1000"; $indicador["confiabilidade"] += $relevancia["1"]; $indicador["atendimento"] += $relevancia["1"]; $indicador["tradicao"] += $relevancia["1"]; $indicador["preco"] += $relevancia["3"]; $indicador["marca"] += $relevancia["1"]; break; } //faixa etaria $sorteio = rand(0, 100); switch ($sorteio) { case ($sorteio <= "26"): //26%: jovem $perfil["idade"] = "Jovem"; $indicador["confiabilidade"] += $relevancia["1"]; $indicador["atendimento"] += $relevancia["1"]; $indicador["tradicao"] += $relevancia["1"]; $indicador["preco"] += $relevancia["3"]; $indicador["marca"] += $relevancia["3"]; break; case (($sorteio > "26") and ($sorteio <= "74")): //58%: adulto $perfil["idade"] = "Adulto"; $indicador["confiabilidade"] += $relevancia["2"]; $indicador["atendimento"] += $relevancia["2"]; $indicador["tradicao"] += $relevancia["1"]; $indicador["preco"] += $relevancia["2"]; $indicador["marca"] += $relevancia["2"]; break; case ($sorteio > "74"): //26%: idoso $perfil["idade"] = "Idoso"; $indicador["confiabilidade"] += $relevancia["2"]; $indicador["atendimento"] += $relevancia["3"]; $indicador["tradicao"] += $relevancia["2"]; $indicador["preco"] += $relevancia["1"]; $indicador["marca"] += $relevancia["1"]; break; } //sexo $sorteio = rand(0, 100); switch ($sorteio) { case ($sorteio <= "50"): //50%: mulher $perfil["sexo"] = "Feminino"; $visita = 10; break; case ($sorteio > "50"): //50%: homem $perfil["sexo"] = "Masculino"; $visita = 5; break; } /** DETERMINA O PRODUTO A SER COMPRADO **/ $produto = select("id, nome, valor", "produto", "valor > '".$compra["min"]."' and valor < '".$compra["max"]."'", "order by rand() limit 0,1", "single"); /** DEFINE DE QUAL LOJA COMPRAR **/ 66 $lojas = select("l.id, l.nome, p.valor", "loja l, loja_produto p", "l.id = p.loja_id and p.produto_id = '".$produto["id"]."' and l.indConfiabilidade > '".$indicador["confiabilidade"]."' and l.indAtendimento > '".$indicador["atendimento"]."' and l.indTradicao > '".$indicador["tradicao"]."' and l.indPreco > '".$indicador["preco"]."' and l.indMarca > '".$indicador["marca"]."'", "order by p.valor limit 0,".$visita, "array"); /** MOSTRA CONSUMIDOR **/ $class = ($q % 2 == 0) ? "tabelas_linha_1" : "tabelas_linha_2"; echo '<tr><td align="center" class="'.$class.'" width="500">'; echo "<a href='#' onclick=\"return hidify_showify('cliente_".$q."','img_".$q."','Less','More');\">"; echo "<img src='img/arrowD.gif' alt='Expandir' border='0' id='img_".$i."'> CLIENTE ".$q."</a>"; echo '</td></tr>'; $display = (count($lojas) > 0) ? "table-cell" : "none"; echo '<tr><td class="'.$class.'" width="500" id="cliente_'.$q.'" colspan="7" style="display:'.$display.'">'; //consumidor echo '<table cellpadding="0" cellspacing="0" border="0" class="tabelas" align="center">'; echo '<tr><td class="tabelas_linha_1" align="right">Consumidor:</td>'; echo '<td class="tabelas_linha_1" align="left">'.$perfil["classe"].', '.$perfil["idade"].', '.$perfil["sexo"].'</td></tr>'; echo '<tr><td class="tabelas_linha_2" align="right">Exigências:</td>'; echo '<td class="tabelas_linha_2" align="left">conf. > '.$indicador["confiabilidade"].', atend. > '.$indicador["atendimento"].', tradico > '.$indicador["tradicao"].', preco. > '.$indicador["preco"].', marca. > '.$indicador["marca"].'</td></tr>'; echo '<tr><td class="tabelas_linha_1" align="right">Poder de compra:</td>'; echo '<td class="tabelas_linha_1" align="left">de R$ '.toValor($compra["min"]).' a R$ '.toValor($compra["max"]).'</td></tr>'; echo '<tr><td class="tabelas_linha_2" align="right">Produto escolhido:</td>'; echo '<td class="tabelas_linha_2" align="left">('.$produto["id"].') '.$produto["nome"].' - R$ '.toValor($produto["valor"]).'</td></tr>'; echo '<tr><td class="tabelas_linha_1" align="right">Lojas visitadas:</td>'; echo '<td class="tabelas_linha_1" align="left">'; for ($x = 0; $x < count($lojas); $x++) { echo $lojas[$x]["nome"].": R$ ".toValor($lojas[$x]["valor"]); if ($x == 0) echo " <- comprado"; echo "<br>"; } echo '</td></tr>'; echo "</table></td></tr>"; /** REGISTRA A COMPRA **/ if (count($lojas) > 0) { $data = select("data", $bdTable, null, null, "unique"); //cadastra a venda insert("vendas", "loja_id, produto_id, valor, data", "'".$lojas[0]["id"]."', '".$produto["id"]."', '".$lojas[0]["valor"]."', '".$data."'"); //contabiliza no caixa $caixa = select("caixa", "loja", "id = '".$lojas[0]["id"]."'", null, "unique"); update("loja", "caixa = '".($caixa + $lojas[0]["valor"])."'", "id = '".$lojas[0]["id"]."'"); //atualiza estoque $estoque = select("quantidade", "loja_produto", "loja_id = 67 '".$lojas[0]["id"]."' and produto_id = '".$produto["id"]."'", null, "unique"); $estoque -= 1; if ($estoque == 0) { del(null, "loja_produto", "loja_id = '".$lojas[0]["id"]."' and produto_id = '".$produto["id"]."'"); //envia mensagem $assunto = "Sem produto em estoque"; $msg = "Atenção, não temos mais o produto <b>".$produto["nome"]."</b> em estoque!"; insert("mensagem", "loja_id, data, assunto, remetente, texto", "'".$lojas[0]["id"]."', '".$data."', '".$assunto."', 'Estoque', '".$msg."'"); } else if ($estoque == 1) { update("loja_produto", "quantidade = '".$estoque."'", "loja_id = '".$lojas[0]["id"]."' and produto_id = '".$produto["id"]."'"); //envia mensagem $assunto = "Estoque baixo"; $msg = "Atenção, temos apenas mais um exemplar do produto <b>".$produto["nome"]."</b> em estoque!"; insert("mensagem", "loja_id, data, assunto, remetente, texto", "'".$lojas[0]["id"]."', '".$data."', '".$assunto."', 'Estoque', '".$msg."'"); } else { update("loja_produto", "quantidade = '".$estoque."'", "loja_id = '".$lojas[0]["id"]."' and produto_id = '".$produto["id"]."'"); } //registra visitas for ($x = 0; $x < count($lojas); $x++) { $visitas = select("visitas", "visita", "loja_id = '".$lojas[$x]["id"]."' and data = '".$data."'", null, "unique"); if (count($visitas) > 0) { update("visita", "visitas = '".($visitas+1)."'", "loja_id = '".$lojas[$x]["id"]."' and data = '".$data."'"); } else { insert("visita", "loja_id, data, visitas", "'".$lojas[$x]["id"]."', '".$data."', '1'"); } } //avisa loja que perdeu a venda if (count($lojas) > 1) { if (rand(1,3) == 2) { $assunto = "Comprei na outra loja que tá mais barata..."; $msg = "Olá!<br>Visitei algumas lojas, e decidi comprar o <b>".$produto["nome"]."</b> na outra loja que tá mais barato.<br>Se teu preço tivesse mais baixo, teria comprado de ti!"; insert("mensagem", "loja_id, data, assunto, remetente, texto", "'".$lojas[1]["id"]."', '".$data."', '".$assunto."', 'Cliente', '".$msg."'"); } } } } echo '</table>'; ?> 68 APÊNDICE B. ALGORITMO DOS INDICADORES Neste apêndice é mostrado o algoritmo que determina, através de cálculos expostos no item 3.7.1 , os valores referentes aos indicadores de cada loja. <?php /** CALCULA INDICADORES DAS LOJAS **/ //obtem lojas $lojas = select("id, tamanho, dataFundacao, marketingVerba", "loja", "ativo = '1'", null, "array"); for ($i = 0; $i < count($lojas); $i++) { switch ($lojas[$i]["tamanho"]) { case("1"): $qtdVendedorMin = 3; $qtdProdutoMin = 15; $qtdMarketingMin = 400; break; case("2"): $qtdVendedorMin = 6; $qtdProdutoMin = 30; $qtdMarketingMin = 700; break; case("3"): $qtdVendedorMin = 10; $qtdProdutoMin = 50; $qtdMarketingMin = 1000; break; } //confiabilidade $produtos = select("p.qualidade", "loja_produto l, produto p", "l.loja_id = '".$lojas[$i]["id"]."' and l.produto_id = p.id", null, "array"); $soma = 0; for ($j = 0; $j < count($produtos); $j++) $soma += $produtos[$j]["qualidade"]; if (count($produtos) > 0) { $indicador["confiabilidade"] = round(($soma / count($produtos)) * 20); } else $indicador["confiabilidade"] = "0"; //atendimento $vendedores = select("v.competencia", "loja_vendedor l, vendedor v", "l.loja_id = '".$lojas[$i]["id"]."' and l.vendedor_id = v.id", null, "array"); $soma = 0; for ($j = 0; $j < count($vendedores); $j++) $soma += $vendedores[$j]["competencia"]; if (count($vendedores) > 0) { $indicador["atendimento"] = ($soma / count($vendedores)) * 20; $indicador["atendimento"] -= round(($qtdVendedorMin - count($vendedores)) * 5); } else $indicador["atendimento"] = "0"; 69 //tradicao $data = select("data", $bdTable, null, null, "unique"); $anoAtual = $data[0].$data[1].$data[2].$data[3]; $mesAtual = $data[5].$data[6]; $anoFund = explode("-", $lojas[$i]["dataFundacao"]); $mesFund = $anoFund[1]; $anoFund = $anoFund[0]; $ano = ($anoAtual - $anoFund) * 12; $mes = $mesAtual - $mesFund; $indicador["tradicao"] = ($ano + $mes) * 5; //preço $soma = 0; $precos = select("l.valor as venda, p.valor as custo", "loja_produto l, produto p", "l.loja_id = '".$lojas[$i]["id"]."' and l.produto_id = p.id", null, "array"); for ($j = 0; $j < count($precos); $j++) $soma += ((($precos[$j]["venda"] * 100) / $precos[$j]["custo"]) - 100); //percentual de lucro if (count($precos) > 0) { $indicador["preco"] = round(100 - ($soma/count($precos))); //média do lucro } else $indicador["preco"] = "0"; //marca $verbaMarketing = (($lojas[$i]["marketingVerba"] * 75) / $qtdMarketingMin); $indicador["marca"] = round($verbaMarketing - ($qtdProdutoMin count($produtos))); //valore minimos if ($indicador["confiabilidade"] < 10) $indicador["confiabilidade"] = "10"; if ($indicador["atendimento"] < 10) $indicador["atendimento"] = "10"; if ($indicador["tradicao"] < 15) $indicador["tradicao"] = "15"; if ($indicador["preco"] < 10) $indicador["preco"] = "10"; if ($indicador["marca"] < 10) $indicador["marca"] = "10"; //valore maximos if ($indicador["confiabilidade"] > 100) $indicador["confiabilidade"] = "100"; if ($indicador["atendimento"] > 100) $indicador["atendimento"] = "100"; if ($indicador["tradicao"] > 100) $indicador["tradicao"] = "100"; if ($indicador["preco"] > 100) $indicador["preco"] = "100"; if ($indicador["marca"] > 100) $indicador["marca"] = "100"; $campos = array(array("indConfiabilidade", "'".$indicador["confiabilidade"]."'"), array("indAtendimento", "'".$indicador["atendimento"]."'"), array("indTradicao", "'".$indicador["tradicao"]."'"), array("indPreco", "'".$indicador["preco"]."'"), array("indMarca", "'".$indicador["marca"]."'")); } updateArray("loja", $campos, "id = '".$lojas[$i]["id"]."'"); ?> 70