UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano...

65
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO APLICAÇÃO DE MÁQUINAS DE ESTADOS EM FERRAMENTA DE APOIO À DESENVOLVIMENTO DE JOGOS Área de Jogos Digitais por Yuki Eduardo Milano Egawa Rudimar Luís Scaranto Dazzi, Dr. Orientador Itajaí (SC), dezembro de 2010

Transcript of UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano...

Page 1: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

APLICAÇÃO DE MÁQUINAS DE ESTADOS EM FERRAMENTA DE APOIO À DESENVOLVIMENTO DE JOGOS

Área de Jogos Digitais

por

Yuki Eduardo Milano Egawa

Rudimar Luís Scaranto Dazzi, Dr. Orientador

Itajaí (SC), dezembro de 2010

Page 2: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

APLICAÇÃO DE MÁQUINAS DE ESTADOS EM FERRAMENTA DE APOIO À DESENVOLVIMENTO DE JOGOS

Área de Jogos Digitais

por

Yuki Eduardo Milano Egawa 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: Rudimar Luís Scaranto Dazzi, Dr.

Itajaí (SC), dezembro de 2010

Page 3: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

ii

SUMÁRIO

LISTA DE ABREVIATURAS.................................................................. iv�

LISTA DE FIGURAS ................................................................................. v�

RESUMO .................................................................................................... vi�ABSTRACT ............................................................................................... vii�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 ........................................................................................................ 3�1.2.1� Objetivo Geral ................................................................................................... 3�1.2.2� Objetivos Específicos ........................................................................................ 3�1.3� METODOLOGIA ................................................................................................ 3�1.4� ESTRUTURA DO TRABALHO ....................................................................... 4�2. FUNDAMENTAÇÃO TEÓRICA ......................................................................... 5�2.1 O QUE É UM JOGO ............................................................................................ 5�2.2 INTELIGÊNCIA ARTIFICIAL EM JOGOS ELETRÔNICOS ..................... 5�2.3 GAME DESIGN .................................................................................................... 6�2.3.1 Idéia ..................................................................................................................... 6�2.3.2 Rascunhos do jogo .............................................................................................. 7�2.3.3 Detalhamento do jogo ........................................................................................ 7�2.4 UMA VISÃO GERAL DA FERRAMENTA GAME MAKER ........................ 7�2.4.1 Interface do Game Maker ................................................................................. 8�2.4.2 O gerenciador de Recursos ................................................................................ 9�2.4.3 A linguagem GML ............................................................................................ 10�2.5 ANÁLISE DE SOLUÇÕES SIMILARES ........................................................ 11�2.5.1 Space invaders .................................................................................................. 11�2.5.2 Defender ............................................................................................................ 12�2.5.3 Gradius .............................................................................................................. 13�2.5.4 Radiant Silvergun ............................................................................................. 14�2.5.5 Ikaruga .............................................................................................................. 15�2.5.6 Conclusões sobre a análise ............................................................................... 16�3 DESENVOLVIMENTO ........................................................................................ 18�3.1 GAME DESIGN DOCUMENT ......................................................................... 18�3.2 PROGRAMAÇÃO E BUSCA/EDIÇÃO DE RECURSOS UTILIZADOS PELO JOGO .............................................................................................................. 40�3.3 PREPARO DO MATERIAL INSTRUCIONAL ............................................. 41�3.4 TESTES ................................................................................................................ 41�3.5 RESULTADOS .................................................................................................... 42�

Page 4: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

iii

4 Conclusões .............................................................................................. 50�REFERÊNCIAS BIBLIOGRÁFICAS ................................................... 52�

Page 5: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

iv

LISTA DE ABREVIATURAS

2D Duas dimensões ECU East Carolina University EULA End user license agreement GDD Game Design Document GM Game Maker GML Game Maker Language IA Inteligência Artificial LIA laboratório de Inteligência Aplicada TCC Trabalho de Conclusão de Curso UNIVALI Universidade do Vale do Itajaí

Page 6: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

v

LISTA DE FIGURAS

Figura 1. Interface do Game Maker. .................................................................................................... 8 Figura 2. Space Invaders .................................................................................................................... 12 Figura 3. Defender .............................................................................................................................. 13 Figura 4. Gradius................................................................................................................................14 Figura 5. Radiant S.ilvergun ..............................................................................................................15 Figura 6. Ikaruga................................................................................................................................16 Figura 7. Screen Flow.........................................................................................................................24 Figura 8. Máquina de estados do inimigo 1.......................................................................................27 Figura 9. Máquina de estados do inimigo 2.......................................................................................28 Figura 10. Máquina de estados do inimigo 3.....................................................................................29 Figura 11. Máquina de estados do inimigo 4.................................................................................... 30 Figura 12. Máquina de estados do inimigo 5.....................................................................................31 Figura 13. Máquina de estados do inimigo 6.................................................................................. ..32 Figura 14. Máquina de estados do inimigo 7.....................................................................................33 Figura 15. Máquina de estados do boss 1 .........................................................................................34 Figura 16. Máquina de estados do boss 2 .........................................................................................35 Figura 17. Máquina de estados do boss 3..........................................................................................36 Figura 18. Máquina de estados do boss 4..........................................................................................37 Figura 19. Sprite da nave ...................................................................................................................38 Figura 20. Sprite de Wardemon .........................................................................................................39 Figura 21. Sprite de Wardemon derrotado.........................................................................................40 Figura 22. Resultado do teste na categoria jogabilidade....................................................................42 Figura 23. Resultado do teste na categoria ambientação ..................................................................44 Figura 24. Resultado do teste na categoria enredo ...........................................................................44 Figura 25. Resultado do teste na categoria interação com o usuário .................................................45 Figura 26. Resultado do teste na categoria customização ................................................................. 45 Figura 27. Resultado do teste na categoria interação social...............................................................46 Figura 28. Resultado do teste na categoria variedade........................................................................46 Figura 29. Resultado do teste na categoria qualidade de implementação técnica .............................47 Figura 30. Resultado do teste na categoria coesão.............................................................................47 Figura 31. Perfil do usuário A............................................................................................................48 Figura 32. Perfil do usuário B...........................................................................................................49 Figura 33. Perfil do usuário C............................................................................................................49

Page 7: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

vi

RESUMO

EGAWA, Yuki E. M. Jogo de nave em Game Maker. Itajaí, 2010. 66 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í, 2010. O primeiro jogo do gênero shoot ‘em up foi lançado por volta de 1978 e desde então vários outros jogos deste gênero começaram a surgir. Este trabalho se propôs a identificar as principais características deste gênero de jogo e estudar a aplicação de Inteligência Artificial em ferramenta de apoio ao desenvolvimento dela. Para tanto, foi realizada uma pesquisa sobre design de jogos, análise de jogos similares e o processo de documentação de um jogo. Foi dada uma atenção especial aos aspectos relacionados à jogabildiade para que ela oferecesse combates dinâmicos tirando proveito da IA aplicada no jogo. Após a fase de desenvolvimento, foram realizados testes com o intuito de verificar os aspectos que poderiam ser melhorados nele. Além disso, foi preparado um tutorial documentado o processo de desenvolvimento de um jogo semelhante utilizando a ferramenta Game Maker para que outros programadores interessados possam utilizá-lo como referência. Os resultados alcançados mostram que os pontos positivos do jogo são a variedade de comportamentos dos inimigos e a jogabilidade diferenciada, focos deste trabalho. Palavras-chave: Game Maker. Jogo de nave. Design de vídeo games. Máquina de estados.

Page 8: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

vii

ABSTRACT

The first shoot ‘em up video game was released on 1978 and several other games of the same genre were released since then. This study aimed to identify the main characteristics of this genre of game and study the application of Artificial Intelligence on a game development tool. To this end, a research about game design, analysis of similar solutions and documentation process was conducted. Special attention was paid to aspects related to its game play in order to offer dynamic battles to the player by taking advantage of the AI applied in the game. After the game was developed, tests were performed on it in order to determine which aspects could be improved. In addition, a tutorial documenting the process of developing a similar game using the Game Maker tool was prepared so other developers could use it as reference. The results show that the positive points of the game are the variety of behaviors of the enemies and the distinct game play, which were the focus of this work. Keywords: Game Maker. Shoot ‘em up. Vídeo Game Design. State machine

Page 9: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

1. INTRODUÇÃO

Um vídeo game é um jogo eletrônico que envolve interação com uma interface de usuário

para gerar feedback visual em um dispositivo de vídeo. Além de servir como uma forma de lazer e

relaxamento, vídeo games de ação propiciam aos seus jogadores uma habilidade visual-motora

(atividades relacionando a visão com movimentos musculares) mais apurada, resultando em maior

resistência à distração, maior sensibilidade para com informações detectadas na visão periférica, e

maior facilidade para contagem de objetos apresentados brevemente ao indivíduo (GREEN, 2006).

O desenvolvimento de vídeo games mais elaborados envolve um campo de estudo

multidisciplinar compreendendo, por exemplo, programação, design gráfico, design de som e de

música. Por esta razão, programadores com interesse nesta área podem se beneficiar de uma

ferramenta que facilite o gerenciamento destes vários recursos envolvidos na concepção de um

vídeo game.

Um exemplo deste tipo de ferramenta é o Game Maker, também conhecido como GM.

Trata-se de um software proprietário desenvolvido em Delphi por Mark Overmars, do

Departamento de Ciência da Computação da Universidade Utrecht, situada na Holanda (YOYO

GAMES, 2009b). Originalmente, o Game Maker era chamado de Animo e consistia apenas em uma

ferramenta para criação de gráficos. Com o passar do tempo, ele foi se desenvolvendo e acabou se

tornando uma ferramenta mais completa, oferecendo recursos de programação e gerenciamento dos

vários elementos de um jogo, como imagens e sons. Hoje em dia, o Game Maker é usado para

ensinar estudantes desde o ensino básico até universitários, pois disponibiliza uma linguagem de

altíssimo nível (com nível de abstração relativamente elevado), o GML (Game Maker Language)

(LOBÃO, 2008).

Este projeto consistiu no estudo da aplicação de IA em uma ferramenta de apoio ao

desenvolvimento de jogos (Game Maker). A IA utilizada consiste em máquinas de estados. Uma

máquina de estados é uma modelagem de um comportamento através de um conjunto de estados e

um conjunto de transições possíveis de um estado para outro (GILL, 1962). Certamente não é uma

forma de IA muito complexa em relação à estudada no meio acadêmico, no entanto, o trabalho

mostra que esta aplicação acarretou em resultados positivos quanto à jogabilidade do jogo.

A execução deste projeto de pesquisa se justificou em nível de TCC (Trabalho de Conclusão

de Curso) para o Curso de Ciência da Computação uma vez que trata do desenvolvimento de uma

Page 10: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

2

solução computacional que faz uso de muitas tecnologias, conceitos e teorias relevantes a essa área,

como as listadas a seguir:

• Modelagem do jogo.

• Programação para implementação do jogo.

• Pesquisas que servem como materiais de referência para interessados em desenvolver na

ferramenta Game Maker.

• A utilização de algumas formas de inteligência artificial aplicada às entidades inimigas

no jogo (mais especificamente máquinas de estado).

Além disso, foi preparado um documento instrucional que serve como material de referência

para programadores iniciantes interessados em desenvolver um jogo neste estilo usando o Game

Maker.

1.1 PROBLEMATIZAÇÃO

1.1.1 Formulação do Problema

Jogos de nave do gênero Shoot 'em up1 existem desde 1978 e apresentaram evoluções ao

decorrer do tempo. Embora certas características mantidas ao longo deste tempo sejam importantes

por definirem o gênero, outras características predominantes nestes jogos, principalmente no que

diz respeito ao comportamento dos inimigos, fazem com que eles se tornem repetitivos e pouco

desafiadores.

1.1.2 Solução Proposta

Para a solução do problema foi desenvolvido um jogo de nave com a aplicação de

Inteligência Artificial nas entidades inimigas do jogo. O intuito é tornar a reação inimiga mais

próxima à de um jogador humano e, com isso, tornar o jogo menos repetitivo e mais desafiador.

Para a produção do jogo foi utilizado o Game Maker, uma ferramenta de fácil utilização

para o desenvolvimento de jogos que permite o foco da programação na Inteligência Artificial pelo

1 Um jogo onde o protagonista combate um grande número de inimigos atirando neles enquanto desvia dos tiros (BIELBY, 1990).

Page 11: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

3

fato de oferecer vários algoritmos prontos, como por exemplo, o de checagem de colisão entre

sprites, movimentação de sprites e vários outros algoritmos essenciais para este gênero de jogo.

Além do jogo, foi produzido um material de referência para outros programadores

interessados no desenvolvimento de jogos utilizando o Game Maker.

1.2 OBJETIVOS

1.2.1 Objetivo Geral

O objetivo geral deste projeto foi o de desenvolver um jogo de nave estilo Shoot 'em up que

aplique conhecimentos na área de Inteligência Artificial nos inimigos.

1.2.2 Objetivos Específicos

Os objetivos específicos deste trabalho foram:

1. Analisar soluções similares para identificar características importantes para o jogo;

2. Criar um enredo para o jogo;

3. Modelar a inteligência (IA) das entidades inimigas;

4. Realizar a modelagem conceitual do jogo;

5. Implementar o jogo;

6. Escrever um documento instrucional que servirá como um tutorial para fazer um jogo Shoot 'em up usando o Game Maker; e

7. Testar o jogo para identificar se ele está correspondendo ao planejado na modelagem.

1.3 Metodologia

A metodologia para o desenvolvimento deste trabalho é composta por cinco etapas. Na

primeira etapa foi realizado um estudo sobre vídeo games, mais especificamente vídeo games do

gênero Shoot 'em up. Foi realizada uma pesquisa sobre design de jogos e sobre a ferramenta

utilizada para o processo de desenvolvimento de um jogo deste gênero que possibilite a aplicação

de conceitos de Inteligência Artificial. Na etapa dois, realizou-se um estudo sobre alguns jogos de

naves existentes com o intuito de identificar as principais características (positivas e negativas) dos

jogos deste gênero, bem como elementos que são comuns à todos os jogos deste gênero. Após obter

as informações relevantes, o próximo passo foi pesquisar com mais detalhes a ferramenta a ser

usada para o desenvolvimento do jogo e modelar o jogo através da definição de um GDD (Game

Page 12: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

4

Design Document). Para a etapa quatro, desenvolvimento do jogo, foi utilizado o Game Maker.

Nesta etapa de desenvolvimento, ocorreu a programação do jogo em GML e o preparo dos recursos

a serem utilizados no jogo como sprites e sons, estes foram buscados na internet e editados no

próprio Game Maker ou em outros softwares para que se ajustem ao jogo. Enfim na etapa cinco,

foram realizados testes e ajustes finais em cima do jogo desenvolvido.

1.4 Estrutura do trabalho

Este trabalho está estruturado em 4 capítulos. O Capítulo 1 consiste na Introdução ao

trabalho. O Capítulo 2 contém toda a etapa de Fundamentação Teórica, apresentando todos os

conceitos necessários para o entendimento do trabalho. Tais como, conceitos sobre design de jogos

e a ferramenta a ser utilizada bem como a análise de trabalhos similares. O Capítulo 3 apresenta as

definições e a descrição sobre o jogo que este trabalho se propôs a desenvolver, incluindo a

documentação no formato GDD (Game Design Document). E, por fim, o Capítulo 4 apresenta as

Conclusões obtidas com este trabalho.

Page 13: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

2. FUNDAMENTAÇÃO TEÓRICA

Este capítulo apresenta a Fundamentação Teórica do trabalho explicando o que é um jogo, o

que é Inteligência Artificial e como ela vem sendo utilizada em jogos eletrônicos, como é o game

design utilizado atualmente por desenvolvedores de jogos e a ferramenta a ser utilizada para o

desenvolvimento do jogo. Além disso, é realizada uma análise em cima de jogos similares ao

proposto pelo TCC com o intuito de extrair as características desejáveis em um jogo deste gênero e

as que deveriam ser eliminadas para se alcançar o resultado desejado.

2.1 O que é um jogo

Um jogo é um sistema formalmente fechado que representa de forma subjetiva um

subconjunto da realidade (BERTHÊM et al., 2007). Em outras palavras, um jogo é uma forma de

simular ações seguindo regras de um universo imaginário que pode ser, ou não, baseado na

realidade.

Assim, quando se fala em jogo, imagina-se inicialmente o cenário em que este ocorrerá, e o

ambiente deve ser autossuficiente, ou seja, todas as informações necessárias para que o jogador

sinta-se envolvido devem estar presentes (BRANCHER, 2009).

2.2 Inteligência artificial em jogos eletrônicos

Para os desenvolvedores de jogos eletrônicos, as aplicações computacionais de IA

(Inteligência Artificial) e o significado do termo IA são diferentes dos encontrados no meio

acadêmico (KISHIMOTO, 2009). A principal diferença está no enfoque dado em cada um dos

meios. No meio acadêmico, o objetivo da IA é resolver problemas complicados enquanto na grande

parte dos jogos eletrônicos o objetivo é o de proporcionar diversão.

Neste trabalho, a IA utilizada consiste em máquinas de estados. Uma máquina de estados é

uma modelagem de um comportamento através de um conjunto de estados e um conjunto de

transições possíveis de um estado para outro (GILL, 1962).

O funcionamento de uma Máquina de Estados compreende ainda a alimentação de alguns

dados de entrada à Máquina, que serão utilizados na Máquinas de Estados. Adicionalmente, a

execução da Máquina de Estados pode gerar dados de saída como resultado do andamento do

processo. Um dos estados da Máquina é marcado como estado inicial; a execução é iniciada com o

Page 14: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

6

estado inicial como estado corrente. Além disso, um ou mais estados podem ser marcados como

estados finais (GILL, 1962).

Certamente não é uma forma de IA muito complexa em relação à estudada no meio

acadêmico, porém já é algo muito mais elaborado que uma simples repetição de padrões de

movimentos encontrados em jogos do gênero shoot ‘em up.

2.3 Game design

Existem várias definições para game design, mas em geral, é o que determina a jogabilidade,

as escolhas que o jogador terá dentro do mundo do jogo e as consequências que suas escolhas vão

ter no resto do jogo (BERTHÊM et al., 2007). A seguir será feita uma breve explanação dos

principais conceitos de game design.

2.3.1 Idéia

Para a formulação da idéia do jogo, é utilizada a técnica de brainstorm a partir de um

pequeno conceito. Questões como “Qual o objetivo do jogo?” e “O que tornará o jogo divertido?”

podem auxiliar o processo de desenvolvimento de idéias (BERTHÊM et al., 2007). No jogo

proposto pelo TCC, a idéia surgiu a partir de experiências do autor com vários jogos do mesmo

gênero e o que ele gostaria que fosse diferente em cada um para que fossem mais divertidos. Pode-

se citar como exemplo de detalhes identificados que poderiam proporcionar maior diversão em

jogos de nave:

• Localização inicial fixa dos inimigos: quando os inimigos possuem uma localização inicial

fixa, o jogador acaba decorando estas posições e o jogo acaba se tornando repetitivo e pouco

desafiador em alguns casos. Isto pode ser facilmente resolvido bastando acrescentar um

componente de aleatoriedade na posição inicial dos inimigos, tomando cuidado para não

desequilibrar o jogo (por exemplo, tomando cuidado para que o inimigo não apareça muito

perto do jogador repentinamente).

Page 15: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

7

• Sistema de customização da nave: na maioria dos jogos de nave, as naves controladas pelo

jogador se modificam de certa forma através da aquisição de powerups2. Porém esta

modificação não é permanente. A introdução de um sistema de customização da nave do

jogador acrescenta uma nova modalidade ao jogo que é a de administração. Saber gastar os

recursos adequadamente para buscar maior eficiência nas próximas fases. Além disso, com

este sistema, o jogador pode ter uma experiência de jogo completamente diferente a cada

vez que joga, pois a nave se comportará de maneira completamente diferente.

2.3.2 Rascunhos do jogo

É uma fase de game design onde são feitos rascunhos de vários elementos do jogo como

personagens, itens, telas, entre outros (BERTHÊM et al., 2007). Estes rascunhos auxiliam bastante,

pois permitem que se tenha uma noção da jogabilidade e do equilíbrio do jogo.

Por exemplo, em um jogo de nave, rascunhos de inimigos e tipos de projéteis em uma

determinada fase permitem que se tenha uma idéia da dificuldade desta fase, levando-se em

consideração a quantidade de inimigos que irão aparecer simultaneamente e o espaço que jogador

terá para desviar deles.

2.3.3 Detalhamento do jogo

É o momento em que o jogo se torna mais complexo e detalhado. É necessário pensar em

cada detalhe importante e escrever algo a esse respeito, pois se um determinado detalhe não for

programado ele simplesmente não acontecerá (BERTHÊM et al., 2007).

Neste projeto de jogo, o detalhamento pode ser verificado na especificação do GDD (Game

Design Document – Documento de Design de Jogos).

2.4 Uma visão geral da ferramenta Game Maker

O Game Maker é um software proprietário desenvolvido em Delphi por Mark Overmars do

Departamento de Ciência da Computação da Universidade Utrecht situada na Holanda (YOYO

2 Itens que fortalecem a nave de certa forma quando são coletados (tiro mais forte por exemplo).

Page 16: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

8

GAMES, 2009a). Apesar de se tratar de um software de fácil utilização por desenvolvedores

iniciantes permite a realização de tarefas mais complexas, pois oferece recursos opcionais voltados

para programadores mais experientes como o uso da linguagem de script GML (Game Maker

Language).

Pode-se destacar entre algumas das vantagens que ele oferece:

• Possui uma versão gratuita (porém com certas limitações);

• Executáveis criados a partir do Game Maker podem ser distribuídos sob qualquer licença

sujeita à EULA (End User License Agreement) do Game Maker;

• Scripts podem ser escritos usando a sua linguagem de alto nível GML;

• Permite a criação de vários tipos de jogos diferentes; e

• Possui gerenciador de recursos a serem utilizados pelo jogo.

2.4.1 Interface do Game Maker

O Game Maker oferece uma interface simples e intuitiva conforme pode ser observado na

Figura 1. Esta interface permite gerenciar os sprites, fundos de tela, objetos, sons, e todos os demais

elementos usados no ambiente do jogo.

Figura 1. Interface do Game Maker.

Fonte: Yoyo Games (2009a)

Page 17: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

9

Existe uma barra de menus padrão, onde são encontradas funções para salvar ou abrir

projeto, importar ou criar recursos, opções de debug do projeto, visualização do help e materiais de

consultas. Abaixo da barra de menus encontra-se a barra de atalhos, que contém ícones que

disparam as ações mais úteis e usadas com mais freqüência. Após a barra de atalhos podem ser

encontrados dois frames: do lado esquerdo o gerenciador de recursos, e do lado direito o frame

principal onde é mostrado o recurso selecionado, bem como suas opções de edição.

2.4.2 O gerenciador de Recursos

O Game Maker possui gerenciadores dos diferentes recursos utilizados pelo jogo.

O gerenciador de sprites

Em computação gráfica um sprite é uma imagem ou animação que é integrada a uma cena

maior (WIKIPEDIA, 2009f). O gerenciador de sprites permite ao usuário criar novos sprites,

importar sprites de arquivos de imagem, editar os sprites e configurar as propriedades do sprite

(tamanho do sprite, número de imagens caso o sprite seja uma animação, bloco de colisão, etc)

(YOYO GAMES, 2009a).

O Gerenciador de Sons

Qualquer tipo de som a ser utilizado pelo jogo em desenvolvimento estará no gerenciador de

som, que além de organizar e disponibilizar os sons do jogo também permite ao usuário importar

arquivos de som de diferentes formatos, definir o tipo do som (se é um efeito sonoro, ou se é uma

música de fundo), adicionar alguns efeitos no som, etc (YOYO GAMES, 2009a).

O Gerenciador de Planos de Fundo

Os planos de fundo (ou backgrounds) a serem utilizados pelo jogo são controlados por este

gerenciador. É possível importar imagens a partir de diferentes formatos de arquivo bem como

definir algumas propriedades do plano de fundo como o tamanho e a transparência (YOYO

GAMES, 2009a).

O Gerenciador de Trajetórias

Page 18: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

10

Permite a criação e edição de trajetórias. As trajetórias servem para serem associadas a

algum objeto do jogo. Por exemplo, pode-se criar uma trajetória em zigue-zague e fazer com que

diferentes inimigos se movimentem desta forma (YOYO GAMES, 2009a).

O Gerenciador de Scripts

Aqui são definidos os scripts utilizados pelo jogo escritos na linguagem GML (YOYO

GAMES, 2009a).

O Gerenciador de Fontes

Permite criação e edição de fontes personalizadas que podem ser usadas no jogo (YOYO

GAMES, 2009a).

O Gerenciador de Linhas de Tempo

Permite a criação e edição de linhas de tempo. Uma linha de tempo consiste numa série de

associações entre um frame e uma ação. Por exemplo, pode ser criada uma linha de tempo onde a

cada 150 frames o objeto associado dispara um tiro. Mais tarde, esta linha de tempo pode ser

associada à algumas classes de inimigos (YOYO GAMES, 2009a).

O Gerenciador de Objetos

Permite a definição de objetos que participarão do jogo. Um objeto é qualquer elemento do

jogo que irá popular uma sala e executará ações reagindo à eventos. Um objeto pode ou não ser

mostrado na tela através do sprite associado a ele (YOYO GAMES, 2009a).

O Gerenciador de Salas

Permite a criação e configuração de salas que farão parte do jogo, sendo que o andamento do

jogo sempre ocorre dentro de alguma sala. As salas possuem características como o tamanho, plano

de fundo, tipo de scrolling, disposição inicial dos objetos dentro da sala, entre outros. Além disso,

cada sala possui a sua definição de quantos frames por segundo ela renderiza (desenha na tela)

(YOYO GAMES, 2009a).

2.4.3 A linguagem GML

Page 19: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

11

O Game Maker possui uma linguagem de script própria chamada GML (Game Maker

Language). Ela é utilizada para programar jogos mais complexos onde o uso exclusivo de drag-

and-drop (arrastar e largar) de ações não seriam suficientes (GAME MAKER WIKI, 2009). Outra

característica dela é que possui uma sintaxe variável, isto significa que pode ser escrita na sintaxe

de diferentes linguagens de programação embora a mais comumente usada é a do estilo C/C++

(GAME MAKER WIKI, 2009).

A GML pode ser usada na ação “Execute Code” ou pode ser escrita em scripts que podem

ser invocados a qualquer hora (GAME MAKER WIKI, 2009). Neste trabalho, toda a definição de

scripts será feita utilizando-se GML, pois além de facilitar a manutenção de código é menos

trabalhosa para quem sabe programar.

Não se conhece nenhum jogo do gênero shoot ‘em up feito em GameMaker com GML que

utilize alguma técnica de IA para controlar os inimigos. Neste projeto foram utilizadas máquinas de

estados programadas através do uso da GML.

2.5 Análise de soluções similares

2.5.1 Space invaders

O Space invaders foi lançado em 1978 e foi um dos primeiros jogos do gênero Shoot 'em up.

O jogo mostra a nave controlada pelo jogador e as naves inimigas através de gráficos em 2D. O

objetivo é destruir as naves inimigas com tiros de laser e somar a maior quantidade de pontos

possível. Apenas a movimentação horizontal é permitida. Quanto mais inimigos são destruídos,

mais inimigos surgem e mais rápidos eles se movem (WIKIPEDIA, 2009a).

Embora seja um jogo simples para os padrões atuais, introduziu vários conceitos importantes

que fazem parte dos Shoot 'em ups que surgiram posteriormente. Alguns conceitos introduzidos

pelo jogo:

• Acréscimo na pontuação ao destruir naves inimigas;

• Quantidade limitada de “vidas”. Quando as “vidas” do jogador acabam, a pontuação

é registrada e ele deve começar o jogo desde o início;

• Movimentação da nave (apenas horizontalmente) para desviar de naves e tiros

inimigos; e

Page 20: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

12

• Aumento progressivo da dificuldade (surgem mais naves e elas ficam cada vez mais

rápidas).

A Figura 2 mostra uma screenshot do jogo.

Figura 2. Space Invaders

Fonte: Wikipedia (2009a).

2.5.2 Defender

O Defender também faz parte da geração inicial de jogos de nave. Lançado em 1980, não se

tornou tão popular quanto o Space Invaders pelo fato de oferecer uma configuração de controle

complicada, e por se tratar de um jogo bem difícil (WIKIPEDIA, 2009b).

Alguns diferenciais introduzidos pelo jogo:

• Nível de dificuldade muito alto;

• Permitia movimentação, tanto lateral quanto vertical;

• Botões com funções diferentes. Por exemplo: existe um botão que faz a nave disparar

um projétil, outro que faz nave soltar uma mina, outro botão que faz com que a nave mude o sentido

horizontal; e

Page 21: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

13

• Inclusão de outros objetivos além de destruir os inimigos. Por exemplo: o jogador deve

impedir que alguns seres humanóides do jogo sejam capturados por inimigos.

A Figura 3 mostra uma screenshot do jogo.

Erro! Fonte de referência não encontrada.. Defender

Fonte: Wikipedia (2009b).

2.5.3 Gradius

Gradius é um jogo de nave lançado pela Konami em 1985 para o console Nintendo.

Introduziu um melhoramento em gráficos em relação a jogos de naves lançados anteriormente com

sprites coloridos e chefões grandes.

Algumas características interessantes do jogo:

• Divisão por fases: o objetivo é passar por todas as fases e não apenas conseguir uma

pontuação alta;

• Presença de “chefões”, que consistem em inimigos maiores, mais fortes, mais resistentes

e mais elaborados. Geralmente é necessária uma tática para derrotar esse tipo de inimigo;

• Os “chefões” possuem um ponto fraco que geralmente consiste em um núcleo onde o

jogador deve mirar os seus tiros; e

• O jogador escolhe quais aspectos mudar na nave através da ativação de powerups. Isto

dá espaço para certas estratégias em que deve-se levar em consideração a adaptação da nave à

diferentes situações (WIKIPEDIA, 2009c). A Figura 4 mostra uma screenshot do jogo.

Page 22: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

14

Figura 4. Gradius

Fonte: Wikipedia (2009c).

2.5.4 Radiant Silvergun

Jogo desenvolvido pela Treasure, lançado em 1998 para o Arcade e para console Saturn com

grande enfoque na narrativa.

Alguns diferenciais introduzidos pelo jogo:

• A nave possui sete tipos de tiros. Todos os tipos estão sempre disponíveis para uso. O

tipo de tiro disparado depende do botão ou da combinação de botões pressionados;

• Ausência de powerup;

• As armas podem aumentar de nível (tornando-se mais fortes) através do uso da arma

para marcar pontos;

• Incentiva o jogador a pensar sobre a melhor arma a ser utilizada em cada situação; e

• Possui um enredo muito bem integrado ao design das fases (WIKIPEDIA, 2009d).

A Figura 5 mostra uma screenshot do jogo.

Page 23: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

15

Figura 5. Radiant Silvergun

Fonte: Wikipedia (2009d).

2.5.5 Ikaruga

Jogo desenvolvido pela Treasure e “G.rev” lançado em 2001 para o Arcade.

Alguns diferenciais introduzidos pelo jogo:

• Sistema de polaridade: o jogador pode trocar a cor da nave a qualquer momento. Apenas

os projéteis da cor oposta atingem o jogador;

• Projéteis da mesma cor são absorvidos e convertidos em energia para uma arma da nave

controlada pelo jogador;

• A nave do jogador dispara projéteis da cor atual da nave. Projéteis da cor oposta ao

inimigo causam dano dobrado;

• Recompensa o jogador com pontos extras ao destruir uma seqüência de inimigos da

mesma polaridade; e

Page 24: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

16

• Permite ao jogador a estratégia de não atirar em nenhum inimigo, apenas absorvendo

seus ataques e fazendo-os irem embora (WIKIPEDIA, 2009e).

A Figura 6 mostra uma screenshot do jogo.

Figura 6. Ikaruga

Fonte: Wikipedia (2009e).

2.5.6 Conclusões sobre a análise

A maioria dos jogos Shoot 'em up não dá ênfase à Inteligência Artificial dos inimigos. A

movimentação e as ações deles são orientadas por padrões simples e repetitivos que podem ser

memorizados pelo jogador e os combates acabam não oferecendo uma boa dinâmica.

Na Tabela 1 pode ser observada uma comparação das características dos jogos analisados e

do jogo proposto no TCC. Como o enfoque do trabalho é na programação e não na edição de

recursos, os gráficos utilizados não são muito detalhados. Foi buscado um nível mediano de

complexidade no controle da nave para que o jogo não ficasse muito simples a ponto de ser

monótono nem muito complexo a ponto de fazer com que o jogador desista de aprender o jogo.

Chefões foram utilizados, pois fazem parte de um elemento clássico em jogos de nave e

proporcionam um desafio extra. Além disso, foi implementado um sistema diferente dos demais

Page 25: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

17

jogos no que diz respeito ao desenvolvimento da nave ao longo do jogo. Este desenvolvimento

ocorre através da customização da nave entre uma fase e outra gastando as energias coletadas pelo

jogador.

Tabela 1. Comparação dos jogos descritos com o jogo proposto no tcc.

Tabela comparativa

Space invaders

Defender Gradius Radiant Silvergun

Ikaruga Jogo proposto no tcc

Gráfico Simples Simples Simples Detalhado Super detalhado

Simples

Jogabilidade Simples Complexa Razoável Razoável Razoável Razoável Sistema de Powerups

Não possui Não possui Jogador escolhe powerup a ser ativado

Quanto mais utilizada uma determinada arma, mais forte ela fica

Não possui Jogador “compra” os powerups entre uma fase e outra

Chefões no final ou ao decorrer das fases

Não Não Sim Sim Sim Sim

Nível de dinamismo de combate decorrente da IA dos inimigos

Muito baixo

Muito baixo Muito baixo Baixo Baixo Médio

Ano

1978 1980 1985 1998 2001 2009

Page 26: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

18

3 DESENVOLVIMENTO

Este capítulo apresenta as definições quanto ao jogo que este trabalho se propôs a

desenvolver. Na primeira seção é apresentada a documentação do jogo em GDD. O GDD contém os

detalhes da modelagem do jogo incluindo a descrição das máquinas de estados utilizadas nos

inimigos. Na seção seguinte são apresentados os aspectos relacionados ao processo de

desenvolvimento do jogo (programação e busca/edição de recursos utilizados pelo jogo). A terceira

etapa descrita é a do preparo do material instrucional. A quarta etapa consiste na descrição dos

testes realizados em cima do jogo. E por fim, são apresentados os resultados do teste aplicado.

3.1 Game Design Document

O jogo foi modelado seguindo o formato GDD. O GDD é um documento de referência para

que membros de uma equipe de desenvolvimento possam consultá-lo constantemente a fim de

procurar uma informação específica que eles estiverem precisando. O GDD consiste em um

documento passível de alterações ao decorrer do desenvolvimento de um jogo, pois é uma

ferramenta de comunicação entre os membros de uma equipe para que todos possam acompanhar a

evolução do jogo (BALDWIN, 2009).

O modelo GDD utilizado aqui é o proposto por Baldwin e está disponível em seu site

pessoal (BALDWIN, 2009). Para meios didáticos, o modelo utilizado neste trabalho contém

descrições do que deve estar presente em cada um dos itens.

1. Folha de rosto

1.1. Nome do jogo – Pode ser adicionado um subtítulo ou uma sentença que resuma o conceito

principal do jogo.

1.2. Neo Galaga.

1.3. Informações sobre direitos autorais (Copyright Information)

Não se aplica.

[EMM1]

1.4. Número da versão, Autor, Data

Versão 1.0.

Autor: Yuki Eduardo Milano Egawa

Page 27: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

19

Data: 01/10/2010

2. Sumário – Este sumário deve incluir todas as subseções do documento. Se possível, fazer uso de

hyper links.

Não se aplica.

3. Histórico de Design (Design History) – Uma listagem de breves descrições sobre cada versão e

suas mudanças.

v0.1: Implementado o motor do jogo.

v0.5: Implementado 5 inimigos e uma fase do jogo.

v0.6: Implementado todas as fases, os chefes do jogo, powerup de tiro duplo, sistema de

upgrade da nave.

v0.7: Adicionado o último chefe do jogo.

v0.9: Refinamento e balanceamento do jogo.

v1.0: Alterações de balanceamento do jogo levando em consideração os resultado dos testes

e feedback dos testadores.

4. Seção 1 – Visão geral do jogo

4.1. Conceito do jogo (Game Concept)

O Neo Galaga é um jogo feito por apenas um desenvolvedor para o Trabalho de Conclusão

de Curso do curso de Ciência da Computação. O jogador controla uma nave “Anon-

explorer” e deve destruir os inimigos e coletar a maior quantidade possível de energia

liberada por eles para ficar mais forte.

O jogo dá ênfase ao uso do mouse para controlar a direção dos tiros disparados e na

utilização de máquina de estados para controlar as ações dos inimigos.

4.2. Características do jogo (Feature Set)

• Controle da direção dos tiros da nave através do mouse;

• Customização e upgrade da nave entre uma fase e outra. As características da nave

passíveis de modificações são: tipo de tiro primário, velocidade da nave, armadura da

nave, tamanho do ângulo disponível para disparar, tempo de espera necessário entre um

super tiro e outro;

Page 28: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

20

• Ações dos inimigos controladas por máquina de estado;

• Nem todos os inimigos possuem uma posição inicial fixa ao decorrer das fases,

prevenindo a tática do jogador de decorar a posição de onde vêm os inimigos em um

determinado momento; e

• Jogabilidade baseada em combates dinâmicos com o intuito de fazer com que o jogador

tenha de analisar o comportamento dos inimigos e criar táticas de combate para

conseguir progredir.

4.3. Gênero (Genre)

Shoot 'em up vertical.

4.4. Público-alvo (Target Audience)

Fãs de jogos de nave em geral.

4.5. Resumo do fluxo do jogo (Game Flow Summary) – Como o jogador se move durante o

jogo. Tanto na interface quanto no jogo em si.

O jogo apresenta um menu inicial e o jogador seleciona as opções com as setas do teclado.

O controle da nave também é através das setas do teclado e o jogador tem a liberdade para

se mover horizontalmente e verticalmente. O mouse é usado para controlar a direção dos

tiros disparados. O jogador passa para outra fase ao derrotar o “chefão” de uma fase.

4.6. Visual e estilo do jogo (Look and Feel) – Qual o visual e a atmosfera empregada no jogo?

Qual o estilo?

O jogo acontece no espaço sideral. A maioria dos inimigos tem uma aparência engraçada

e/ou esquisita e o jogo em geral tem um estilo que faz lembrar os jogos shoot’em up mais

antigos.

4.7. Escopo do projeto (Project Scope) – Um sumário do escopo do jogo.

4.7.1. Número de locais (Number of locations)

Cinco regiões do espaço de um universo paralelo fictício.

4.7.2. Quantidade de fases (Number of levels)

Page 29: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

21

A versão do jogo para o TCC contém 5 fases.

4.7.3. Quantidade de NPC’s (Number of NPC’s)

Existem doze tipos de inimigos, cada um com uma máquina de estados distinta, resultando

em uma combinação única de movimentação e modos de ataque.

4.7.4. Quantidade de armas (Number of weapons)

Existe uma arma principal que se modificará de acordo com os upgrades realizados na nave

e uma arma secundária especial de uso limitado. A direção dos tiros depende da posição do

cursor do mouse. Exemplo de comportamentos que a arma pode adquirir:

• Projétil maior: maior chance de acertar o inimigo.

• Projétil mais forte: causa mais dano ao acertar o inimigo.

• Projétil mais rápido: mais difícil para o inimigo esquivar do tiro.

• Aumento da taxa de disparos por segundo: mais projéteis lançados ajudam a aumentar o

dano e facilitam acertar o alvo.

5. Seção 2 – Jogabilidade e mecânicas

5.1. Jogabilidade (Gameplay)

5.1.1. Progressão do jogo (Game Progression)

5.1.2. Estrutura das missões/Fases (Mission/challenge Structure)

5.1.3. Como o jogo flui (Play Flow)

O jogo é dividido em 5 fases. Ao começo de cada fase, será criado um objeto responsável

pelo controle dela. Este controlador da fase será o responsável por inserir novos inimigos na

fase de acordo com uma linha de tempo. Além da linha de tempo, é utilizado um algoritmo

para detectar quantos inimigos ainda estão lutando contra o jogador para evitar a inserção de

muitos inimigos na fase ao mesmo tempo.

Ao final de cada fase há um chefão que deve ser derrotado para que o jogador prossiga para

a fase seguinte.

Ao término de uma fase, será apresentada uma interface para o jogador fazer upgrades na

sua nave de acordo com a quantidade de energias coletadas.

Caso o jogador perca todas as vidas, ele deve recomeçar o jogo do início.

Page 30: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

22

5.1.4. Objetivos (Objectives) – Quais são os objetivos do jogo?

O objetivo do jogo é conduzir a nave “Anon-explorer” fazendo com que ela destrua os

inimigos apresentados e capture a energia liberada por eles a fim de ficar forte o suficiente

para capturar o chefão final e extrair a energia dele para salvar o planeta Nahc 4.

5.2. Mecânicas (Mechanics) – Quais são as regras do jogo, tanto implícitas quanto explícitas.

Este é o modelo do universo no qual o jogo funciona. Como todas as entidades deste mundo

interagem?

5.2.1. Física (Physics) – Como funciona o universo físico?

• O jogo é em duas dimensões.

• O jogo funciona em 60 quadros de animação por segundo.

• Todas as entidades destrutíveis possuem uma determinada quantidade de pontos de vida.

• A nave do jogador tem seus pontos de vida decrescidos quando um inimigo ou um

projétil entra em contato com ele.

• Os inimigos têm seus pontos de vida decrescidos quando projéteis disparados pelo

jogador entram em contato com eles.

• Uma entidade destrutível é destruída quando seus pontos de vida chegam a 0 (zero).

• Quando a nave do jogador é destruída, ele perde uma vida e deve começar a fase atual

desde o início.

• O jogador começa com 4 vidas.

• As energias liberadas quando um inimigo morre, podem ser coletadas tanto pelo jogador

quanto por determinados tipos de inimigos.

• Os powerups e as energias são coletados quando entram em contato com a nave do

jogador.

5.2.2. Movimentação (Movement)

5.2.2.1 Movimentação geral (General Movement)

Page 31: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

23

O jogador pode mover a nave em 8 direções (cima, baixo, esquerda, direita e diagonais). A

velocidade de movimentação poderá sofrer variações de acordo com os upgrades da nave e

de outros fatores.

Para a movimentação da mira da nave, o mouse será utilizado.

5.2.2.1 Outras movimentações (Other Movement)

O usuário navegará nos menus do jogo através das setas do teclado e da tecla Enter.

5.2.3. Objetos (Objects)

5.2.3.1 Coletando objetos (Picking Up Objects)

A coleta de energias ou powerups se dá através do contato direto com eles.

Da mesma forma, quando a nave do jogador encosta algum obstáculo, nave inimiga ou

projétil inimigo, ele é penalizado e seus pontos de armadura são decrescidos, podendo levar

à destruição da nave e consequentemente a perda de uma vida.

Descrição dos powerups que podem ser coletados:

5.2.4. Ações (Actions)

5.2.4.1 Interruptores e botões - (Switches and Buttons)

Não se aplica ao jogo.

5.2.4.2 Coletando, carregando e deixando cair (Picking Up, Carrying and Dropping)

O jogador coletará powerups e energias ao entrar em contato direto com eles.

5.2.4.3 Falando (Talking)

Não se aplica ao jogo.

5.2.4.4 Lendo (Reading)

Não se aplica ao jogo.

5.2.5. Combate (Combat) – No caso de existir um combate ou conflito, como ele é

especificamente modelado?

O jogador deverá desviar dos tiros inimigos enquanto atira nos inimigos. Para isso, pode ser

necessário que o jogador analise certos padrões de comportamento dos inimigos. A direção

dos tiros disparados pelo jogador depende da posição do cursor do mouse. Isto faz com que

Page 32: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

24

o jogador preste atenção tanto nos tiros que deve desviar quanto na direção onde está

atirando.

5.2.6. Economia (Economy) – Qual é a economia do jogo? Como ela funciona?

O jogador coletará energias liberadas pelos inimigos ao morrerem. Essa energia servirá para

o jogador fazer upgrades na nave entre uma fase e outra.

5.3. Fluxo de tela (Screen Flow)

5.3.1. Diagrama de fluxo de tela (Screen Flow Chart) – Uma descrição gráfica de como cada tela

se relaciona com as outras.

A relação entre uma tela e outra pode ser verificada na Figura 7.

Figura 7. Screen Flow

O jogo inicia na tela “Menu inicial”. Ao começa a jogar (“Tela de uma das fases”), ele vai

para a “Tela de upgrades” quando passa de fase ou para a “Tela de game over” quando

perde todas as vidas.

5.3.2. Descrições das telas (Screen Descriptions) – Qual o propósito de cada tela?

Page 33: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

25

5.3.2.1. Tela de menu principal (Main Menu Screen)

Possibilita ao jogador iniciar o jogo, entrar na tela de opções ou visualizar o ranking das

maiores pontuações alcançadas.

5.3.2.2. Tela de opções (Options Screen)

Permite o ajuste do nível de dificuldade do jogo. Por se tratar de uma versão para o TCC,

apresenta também a opção de invencibilidade para realização de testes.

5.3.2.3. Tela de upgrades (Upgrade Screen)

Permite que o jogador gaste as energias acumuladas para fazer melhorias em sua nave.

5.3.2.4. Tela da fase (Mission Screen)

Tela onde ocorrerão as fases do jogo. Apresentará um HUD (heads Up Display) e a posição

de cada entidade do jogo (projéteis, inimigos, a nave controlada, etc).

5.4. Opções do jogo (Game Options) – Quais são as opções e de que maneira elas afetarão o

jogo?

O nível de dificuldade selecionado influenciará a agressividade dos inimigos, a capacidade

dos inimigos de esquivar dos tiros e a armadura do jogador. O jogador será invencível caso

esta opção esteja ativada.

5.5. Começando o jogo novamente, mecanismos para salvar o progresso (Replaying and

Saving)

Ao perder todas as vidas, o jogador deverá começar o jogo desde o início. Não haverá

mecanismo para salvar o progresso do jogador, apenas a pontuação alcançada será registrada

no ranking.

Após o jogador perder todas as vidas ou conseguir acabar o jogo, ele pode jogar novamente

sabendo que pode encontrar desafios diferentes (poderá jogar numa dificuldade mais difícil,

inimigos não reagirão da mesma forma e será possível construir a nave de uma forma que

mude a jogabilidade anterior).

5.6. Trapaças e segredos (Cheats and Easter Eggs)

A opção de invencibilidade estará disponível no menu de opções.

Page 34: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

26

5.7. Máquinas de estado – Este item foi inserido para documentar as máquinas de estado

utilizadas no TCC.

5.7.1. Máquina de estados do inimigo 1 (Mutant X)

Este inimigo começa no estado “movimento aleatório cauteloso” que consiste em ficar a

uma certa distância do jogador movendo-se aleatoriamente de um lado para o outro. Quando

um projétil do jogador se aproxima dele, ele tem uma chance de entrar para o estado

“esquiva do tiro mais próximo” que consiste em mover-se rapidamente para o lado esquerdo

ou para o direito conforme a direção do tiro e a posição atual do inimigo. O inimigo fica

impossibilitado de atirar no jogador enquanto está neste estado.

No estado “movimento aleatório cauteloso” é possível que o inimigo decida entrar para o

estado “ataque kamikaze”, no qual ele se move em direção ao jogador tentando atingí-lo. O

estado “ataque kamikaze” é induzido sempre que o jogador entra em um determinado raio

de distância deste inimigo.

O estado final (“explode”) ocorre quando os pontos de vida do inimigo chegam a zero. No

estado “explode”, uma explosão é mostrada e a alma do inimigo é liberada. Este estado é

comum a todos os inimigos do jogo.

O diagrama de máquina de estados desta entidade pode ser verificado na Figura 8.

Page 35: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

27

Figura 8. Máquina de estados do inimigo 1

5.7.2. Máquina de estados do inimigo 2 (Tentacle Alien)

Este inimigo começa no estado “movimento aleatório cauteloso” e entra para o estado

“ataque kamikaze” quando o jogador entra em um determinado raio de distância deste

inimigo.

Além disso, em intervalos aleatórios de frames, ele entra para o estado “ataque circular”

onde realiza um trajeto circular enquanto atira no jogador.

O diagrama de máquina de estados desta entidade pode ser verificado na Figura 9.

Page 36: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

28

Figura 9. Máquina de estados do inimigo 2

5.7.3. Máquina de estados do inimigo 3 (Power Charger)

Este inimigo começa no estado “movimento aleatório cauteloso”. Quando um projétil do

jogador se aproxima dele, ele tem uma chance de entrar para o estado “esquiva do tiro mais

próximo”.

No estado “movimento aleatório cauteloso” é possível que o inimigo decida entrar para o

estado “carregar ataque”, no qual ele começa a piscar e fica quase imóvel enquanto se

prepara para disparar um tiro forte e rápido que exigirá uma atenção extra por parte do

jogador para desviar.

O estado “ataque kamikaze” é induzido quando o jogador entra em um determinado raio de

distância deste inimigo.

O diagrama de máquina de estados desta entidade pode ser verificado na Figura 10.

Page 37: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

29

Figura 10. Máquina de estados do inimigo 3

5.7.4. Máquina de estados do inimigo 4 (Pinky)

Este inimigo começa no estado “movimento aleatório cauteloso” e logo depois assume um

padrão de movimentação repetitivo e fácil de ser previsto (geralmente realiza um trajeto em

zigue-zague e volta no sentido oposto). Sua principal utilidade é distrair o jogador para que

outros inimigos mais elaborados lutem contra o jogador.

O diagrama de máquina de estados desta entidade pode ser verificado na Figura 11.

Page 38: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

30

Figura 11. Máquina de estados do inimigo 4

5.7.5. Máquina de estados do inimigo 5 (Greedy Star)

Logo após nascer, ele irá perseguir o jogador no estado “perseguir jogador”. Porém, caso

exista uma energia vital flutuando na tela, ele tentará “roubar” esta energia vital do jogador

no estado “perseguir energia vital mais próxima” até que não existam mais energias vitais

flutuando na tela.

O diagrama de máquina de estados desta entidade pode ser verificado na Figura 12.

Page 39: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

31

Figura 12. Máquina de estados do inimigo 5

5.7.6. Máquina de estados do inimigo 6 (Shielder)

Este inimigo começa no estado “movimento aleatório cauteloso”. Assim que ele encontra

outro Galaxian pertencente à lista de protegidos, entrará para o estado “proteger aliado” e

tentará ficar na frente deste Galaxian a fim de protegê-lo com o seu escudo capaz de refletir

os tiros normais do jogador.

Quando o seu escudo é destruído (com um super tiro do jogador), ele entra para o estado

“movimento aleatório cauteloso” novamente, mas com a diferença de que se esquivará dos

tiros do jogador (estado “esquiva do tiro mais próximo”) até que o seu escudo seja ativado

novamente.

O diagrama de máquina de estados desta entidade pode ser verificado na Figura 13.

Page 40: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

32

Figura 13. Máquina de estados do inimigo 6

5.7.7. Máquina de estados do inimigo 7 (Evil Shooting Star)

Este inimigo fica no estado “movimento aleatório cauteloso” atirando projéteis teleguiados

no jogador até ser destruído.

O diagrama de máquina de estados desta entidade pode ser verificado na Figura 14.

Page 41: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

33

Figura 14. Máquina de estados do inimigo 7

5.7.8. Máquina de estados do inimigo 8 (Boss 1)

Este inimigo inicia no estado “movimento aleatório cauteloso”. Após algum tempo, entra

para o estado “ricocheteia nas bordas” onde ele assume uma velocidade ampliada e direção

fixa ricocheteando nas bordas da tela até que volta para o estado “movimento aleatório

cauteloso” novamente.

O diagrama de máquina de estados desta entidade pode ser verificado na Figura 15.

Page 42: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

34

Figura 15. Máquina de estados do boss 1

5.7.9. Máquina de estados do inimigo 9 (Boss 2)

Este inimigo fica alternando entre os estados “movimento aleatório cauteloso” e “carregar

ataque”. Após carregar um ataque, lança uma espécie de buraco negro que suga o jogador

para dentro de si e muda a trajetória dos tiros disparados pelo jogador.

O diagrama de máquina de estados desta entidade pode ser verificado na Figura 16.

Page 43: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

35

Figura 16. Máquina de estados do boss 2

5.7.10. Máquina de estados do inimigo 10 (Boss 3)

Este inimigo fica alternando entre os estados “movimento aleatório cauteloso” e “carregar

ataque”. Após carregar um ataque, lança projéteis perseguidores para atingir o jogador. O

estado “movimento aleatório cauteloso” pode ser interrompido quando um projétil do

jogador passa por perto dele, induzindo o estado “esquiva do tiro mais próximo”.

O diagrama de máquina de estados desta entidade pode ser verificado na Figura 17.

Page 44: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

36

Figura 17. Máquina de estados do boss 3

5.7.11. Máquina de estados do inimigo 11 (Boss 4)

Este inimigo possui exatamente a mesma máquina de estados do inimigo anterior, com a

diferença de que funciona de forma mais agressiva, esquiva com mais freqüência e é mais

rápido.

5.7.12. Máquina de estados do inimigo 12 (Wardemon)

Este inimigo inicia no estado “boss 5 aproximar” onde ele se aproxima do jogador por trás.

Logo após, um dos seguintes estados é escolhido aleatoriamente: “boss 5 ataque 1”, “boss 5

ataque 2” e “boss 5 ataque 3”. Depois de executar um destes ataques, ele entra para o estado

“boss 5 recuar” onde invoca o inimigo “Shielder”. Após recuar, volta para o estado “boss 5

aproximar”.

O diagrama de máquina de estados desta entidade pode ser verificado na Figura 18.

Page 45: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

37

Figura 18. Máquina de estados do boss 5

6. Seção 3 – Estória, ambiente e personagens

6.1. Estória e narrativa

6.1.1. Estória

Em um universo paralelo, existe um planeta chamado “Nahc 4”. Este planeta está passando

por uma crise pois suas reservas de energia estão acabando e a raça que habita este planeta

corre risco de extinção. A solução encontrada pelos habitantes deste planeta (conhecidos

como Anons) foi a de criar um dispositivo capaz de armazenar a energia vital de um ser vivo

e usá-la como se fosse uma forma de energia convencional. Este processo chama-se

conversão de ectoplasma e ocorre da seguinte forma: um ser vivo deve ser morto e logo em

seguida a sua energia deve ser sugada e armazenada pelo dispositivo. As pesquisas na área

Page 46: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

38

de sucção de energia vital ainda não estão muito avançadas mas vários experimentos

mostram que os Galaxians (uma espécie de criaturas que podem ser encontrada nas

redondezas do planeta “Nahc 4”) liberam uma quantidade substancial de energia ao

morrerem.

Tendo em vista a sobrevivência de sua espécie, os Anons dedicaram as últimas décadas para

pesquisa e desenvolvimento de sua última esperança, o Anon-explorer.

O Anon-explorer é uma nave espacial capaz de explorar o espaço, possuindo mecanismos

para matar Galaxians e sugar a energia vital da criatura recém morta.

Estudos recentes indicam que existe um Galaxian com energia suficiente para abastecer o

planeta durante um período de aproximadamente 2 anos. Esta criatura foi apelidada de

Wardemon e faz juz ao apelido. Como ela é muito forte, será necessário coletar energia

matando Galaxians mais fracos a fim de fortalecer a nave Anon-explorer o suficiente para

derrotar Wardemon.

Você foi o escolhido para guiar esta nave nesta empreitada que decidirá o destino dos

Anons, pelos menos durante os próximos 2 anos...

6.1.2. Progressão do jogo (Game Progression)

A cada fase será explorada uma região do espaço onde exista uma quantidade significativa

de Galaxians. Ao final de cada fase, o jogador fará investimentos na nave até o confronto

final com Wardemon.

6.2. Personagens (Characters)

6.2.1. Anon

6.2.1.1 Estória

É o piloto anônimo da nave Anon-explorer.

6.2.1.2 Personalidade

Tímido e reservado. Pouco se sabe sobre a vida dele, prefere permanecer no anonimato.

6.2.1.3 Visual

6.2.1.3.1 Sprite da nave que ele controla

Figura 19. Sprite da nave

6.3.1.1.2 Animações

Page 47: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

39

Não possui.

6.2.2. Wardemon

6.2.2.1 Estória

Uma criatura pacífica que tem como objetivo propor paz entre os Anons e as criaturas de sua

própria espécie que estão sendo caçadas pelos Anons. É extremamente poderoso, porém

prefere paz a conflitos. Seu apelido Wardemon foi designado por habitantes do planeta Nahc

4.

6.2.2.2 Personalidade

Pacífico e inteligente.

6.2.2.3 Visual

6.2.2.3.1 Sprites

Figura 20. Sprite de Wardemon

Page 48: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

40

Figura 21. Sprite de Wardemon ao ser derrotado

6.2.2.3.1 Animações

Não possui.

3.2 Programação e busca/edição de recursos utilizados pelo jogo

Nesta etapa ocorreu o desenvolvimento do jogo. Conforme a necessidade, recursos como

sprites, sons, e planos de fundos foram sendo buscados na internet enquanto outros foram criados na

própria ferramenta ou editados.

Foram criados alguns trajetos pré-definidos para serem utilizados em alguns inimigos como,

por exemplo, movimentos circulares e em zigue-zague.

Vários scripts foram definidos para implementar as seguintes funcionalidades no jogo:

• comportamentos de determinados estados do inimigo.

• padrões de disparo de projéteis.

• algoritmos para os inimigos aproximarem da nave do jogador de forma não linear.

• forçar um objeto a não sair da tela do jogo.

• refletir tiros do jogador colidindo com o escudo de força inimigo (a função de colisão e

reflexão já pronta no Game Maker não funcionava de forma elegante com objetos

móveis).

Page 49: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

41

• Comportamentos exclusivos de cada inimigo.

Foram criadas também linhas de tempo com ações programadas para serem atribuídas ao

controlador de cada fase do jogo. Estas linhas definem quando um inimigo aparece, em quais

lugares ele pode aparecer, qual a quantidade máxima de inimigos em um determinado momento e

quando deve aparecer o chefão da fase.

E finalmente, a etapa mais trabalhosa foi programar os comportamentos de cada inimigo

utilizando máquina de estados. Existem doze inimigos diferentes, cada um com características

distintas (sprite, máquina de estados, quantidade de pontos de vida, velocidade, entre outras).

3.3 Preparo do material instrucional

O material instrucional consiste em um vídeo-tutorial composto por uma série de vídeos

mostrando o uso da ferramenta Game Maker para desenvolver um motor semelhante ao do jogo

desenvolvido no TCC. São mostradas várias etapas de desenvolvimento desde à instalação da

ferramenta Game Maker, importação de recursos para o projeto do jogo até a criação de inimigos.

3.4 Testes

Para a realização dos testes, foi montado um questionário tendo como base a leitura do

artigo “What makes a good game? Using reviews to inform design” (BOND, 2009), o qual descreve

um estudo sobre o levantamento de características consideradas “boas” e características

consideradas “ruins” em um jogo.

Estas características são divididas em uma série de categorias. São elas: jogabilidade,

ambientação, enredo, interação com o usuário, customização, interação social, variedade, qualidade

de implementação técnica e coesão.

A amostra escolhida para testar o jogo e responder o questionário foi composta por nove

jogadores. Cinco integrantes do LIA (laboratório de inteligência aplicada) da UNIVALI e quatro

jogadores com uma boa experiência em jogos do gênero shoot ‘em up. Os jogadores receberam uma

breve descrição da história, objetivos e comandos do jogo. Após esta etapa foram instruídos a jogar

o jogo algumas vezes, normalmente para depois jogar uma última vez com a trapaça de

invencibilidade habilitada para que pudessem ver todo o conteúdo do jogo. Na etapa seguinte, os

testadores foram instruídos a preencher o questionário.

Page 50: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

42

3.5 Resultados

Os resultados gerados foram dispostos separados pela categoria ao qual o critério pertence.

Na Figura 22 é possível observar os resultados da avaliação quanto aos critérios

relacionados à jogabilidade.

Figura 22. Resultado do teste na categoria jogabilidade

Page 51: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

43

Verificou-se que é de grande importância que o jogo seja testado por um público variado

antes de estar em seu estágio final de desenvolvimento. No momento da aplicação do teste, vários

jogadores reclamaram da questão da dificuldade do jogo. Apesar de apenas metade dos testadores

discordarem no questionário de que o jogo é balanceado, na prática, observou-se que apenas um

jogador conseguiu passar da primeira fase sem usar trapaças. O restante dos jogadores só conseguiu

ver o conteúdo das fases seguintes quando ativaram a opção de invencibilidade. Este problema

poderia ser evitado se fossem realizados testes com versões anteriores do jogo.

Após os teste, foram feitas algumas alterações no que diz respeito ao balanceamento do jogo

tendo-se como base o feedback dos jogadores. A solução mais prática e coerente encontrada foi a

de aumentar a diferença de dificuldade entre as três dificuldades disponíveis no jogo. Para se

alcançar isso, em vez de alterar os inimigos para deixá-los mais “burros”, foi aumentada a

quantidade de pontos de vida do jogador nos níveis de dificuldades mais fáceis.

Quanto à análise da jogabildiade, pode-se concluir que apesar do jogo ter sido considerado

difícil, a maioria dos jogadores aprovaram a sua jogabilidade e concordaram que ela é divertida.

Acredita-se que a análise de soluções similares e a identificação de características desejáveis e não

desejáveis tenham contribuído com este resultado.

Quatro jogadores discordaram de que o jogo apresenta características inovadoras. Isto pode

ter acontecido por uma série de fatores, entre eles o fato de que o jogador se concentrou demais na

jogabilidade (desviar dos tiros, mirar e atirar com o mouse) e acabou não percebendo certos

detalhes relacionados à IA.

Na Figura 23 é possível observar os resultados da avaliação quanto aos critérios

relacionados à ambientação. Nota-se que a ambientação se adequou ao estilo proposto pelo jogo.

Page 52: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

44

.

Figura 23. Resultado do teste na categoria ambientação

Na Figura 24 é possível observar os resultados da avaliação quanto aos critérios

relacionados ao enredo.

Figura 24. Resultado do teste na categoria enredo

Page 53: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

45

Na Figura 25 é possível observar o resultado da avaliação quanto ao critério relacionado à

interação com o usuário. Este resultado positivo foi influenciado bastante pela ferramenta utilizada

que é otimizada para não consumir muitos recursos computacionais.

Figura 25. Resultado do teste na categoria interação com o usuário

Na Figura 26 é possível observar o resultado da avaliação quanto ao critério customização.

A maioria dos jogadores identificou a possibilidade de customizar a nave ao longo do jogo.

Page 54: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

46

Figura 26. Resultado do teste na categoria customização

O maior ponto negativo do jogo foi a falta de interação social. A única forma de interação

social que o jogo oferece é a de entrar no ranking de maior pontuação e competir com outros que

venham a jogar o jogo. Na Figura 27 é possível observar o resultado da avaliação quanto ao critério

interação social.

Figura 27. Resultado do teste na categoria interação social

Na Figura 28 é possível observar o resultado da avaliação quanto ao critério variedade. A

variedade de comportamentos diferentes dos inimigos foi um dos critérios que mais chamou a

atenção dos jogadores no momento da realização dos testes.

Page 55: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

47

Figura 28. Resultado do teste na categoria variedade

Na Figura 29 é possível observar o resultado da avaliação quanto ao critério qualidade de

implementação técnica. Cuidados básicos no momento da programação do jogo evitaram problemas

de baixa taxa de frames por segundo e de disposição de elementos informativos que atrapalhem a

jogabilidade.

Figura 29. Resultado do teste na categoria qualidade de implementação técnica

Na Figura 30 é possível observar o resultado da avaliação quanto ao critério coesão.

Page 56: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

48

Figura 30. Resultado do teste na categoria coesão

Apesar de não ter sido dado muito enfoque no enredo do jogo, a maioria concordou que ele

possui um enredo coesivo e todos concordaram que o jogo apresentou um enredo ligado à

jogabilidade. Isto ocorreu pois o enredo do jogo gira em torno da energia vital que deve ser

capturada pelo jogador para que ele fique mais forte e isto é uma coisa que é observada do início ao

final do jogo. A ambientação, embora simples, foi coerente com o estilo do jogo.

Além do feedback dos jogadores quanto ao jogo, o perfil deles também foi avaliado. É

possível observar através das Figuras 31, 32 e 33 que a amostra escolhida consistia em jogadores

com uma certa experiência em jogos de nave e jogos de nave em geral e que possuíam preferências

variadas no que diz respeito aos tipo de jogos que gostam.

Figura 31. Perfil do usuário A

Page 57: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

49

Figura 32. Perfil do usuário B

Figura 33. Perfil do usuário C

Page 58: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

50

4 CONCLUSÕES

Neste trabalho foi apresentado o projeto de um jogo de nave desenvolvido na ferramenta

Game Maker que aplica técnicas de IA. O jogo incorpora elementos considerados distintos no

gênero, podendo-se destacar o enfoque nas máquinas de estado das entidades inimigas com o intuito

de evitar comportamentos previsíveis e oferecer um combate mais dinâmico ao jogador. Além do

desenvolvimento do jogo, foi criado também um material instrucional consistindo em vídeos e

instruções com a finalidade de guiar programadores iniciantes nesta ferramenta no desenvolvimento

de um motor semelhante ao do jogo desenvolvido no TCC.

Analisando os objetivos traçados no início deste projeto, conclui-se que todos eles foram

atingidos. Durante a realização da pesquisa foi possível analisar diversos jogos do gênero e verificar

características que deveriam ser incorporadas ao jogo desenvolvido e características que deveriam

ser evitadas para se alcançar a jogabilidade distinta de acordo como foi planejado. Através destes

trabalhos foram estudadas as aplicações de IA neste gênero de jogo, buscando-se sempre um

balanceamento para que o nível da IA aplicado no jogo não deixasse ele simples nem difícil (e

consequentemente frustrante) de mais.

Foi possível concluir que a ferramenta Game Maker permitiu o desenvolvimento do projeto

de forma satisfatória pois agrega várias funções que acabaram permitindo o enfoque da

programação em um nível mais alto, facilitando o processo de implementação das características

mais distintas. Além disso, durante o desenvolvimento do projeto, foi observado que o Game Maker

apresenta algumas extensões interessantes como a possibilidade de rodar o jogo no navegador

Firefox através da instalação de um plugin (YOYO GAMES, 2009c).

Acredita-se que a forma de documentação deste projeto, o GDD, facilitou o processo de

documentação do jogo. Através do GDD, foi possível definir de forma prática e eficiente todas as

funcionalidades do jogo.

Através dos testes realizados com o jogo, foi possível realizar uma análise qualitativa e

verificar que independentemente do jogador ter achado o jogo divertido ou não, o aspecto da IA

nos inimigos chamou bastante a atenção do jogador e a variedade de padrões de comportamentos

presentes foi um ponto positivo no jogo. As principais características apontadas como pontos

Page 59: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

51

negativos do jogo foram a de que os gráficos são muito simples e de que o jogo é muito difícil,

inclusive para jogadores que já possuem certa experiência com este tipo de jogo.

Algumas idéias de trabalhos futuros em cima deste TCC incluem a pesquisa de outras

formas de utilização da ferramenta Game Maker como, por exemplo, a conversão em XNA e a

possibilidade de rodar o jogo em algum navegador. Além disso, é possível refinar o jogo em vários

aspectos, aprimorar a IA dos inimigos, deixar o jogo menos linear e aumentar a interação social

oferecida pelo jogo implementando uma forma de jogar com outro jogador ou cooperando com ele.

Page 60: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

REFERÊNCIAS BIBLIOGRÁFICAS

BRANCHER, Jaques. Introdução aos Conceitos de Jogos de Comutador. In: FERNANDES, A. M. R.; ALVES, L. CLUA, E. W. G; DAZZI, R. L. S (org.). Jogos Eletrônicos: mapeando novas perspectivas.Visual Books, Florianópolis, Brasil. 2009. p.1-36

BERTHÊM, A. C. et al. Desenvolvimento de jogos eletrônicos. 2. ed. São Paulo: Novatec, 2007.

BALDWIN, M. Game Design Document Outline. Disponível em: <http://www-personal.engin.umd.umich.edu/~bmaxim/cis488/BaldwinGameDesignDocumentTemplate.doc>. Acesso em: 01 nov. 2009.

BIELBY, M. The complete YS guide to shoot 'Em Ups’. Your sinclair, London, v. 1, n 55, p. 33, 4 jul. 1990.

BOND, M. What makes a good game? Using reviews to inform design. University of Birmingham, Edgbaston, 2009.

GAME MAKER WIKI. GML. Disponível em: <http://gamemaker.wikicomplete.info/gml>. Acesso em: 22 out. 2009.

GILL, A., Introduction to the Theory of Finite-state Machines. McGraw-Hill, 1962.

GREEN, C. S. Action video games modify visual attention. Journal of experimental psychology: human perception and performance, New York, p.1-2, 4 abr. 2006.

KISHIMOTO, A. Inteligência Artificial em Jogos Eletrônicos. Disponível em: <http://www.programadoresdejogos.com/trab_academicos/andre_kishimoto.pdf>. Acesso em: 22 nov. 2009.

LOBÃO, A. S. Addressing different learning styles with game maker and XNA. In: SIMPÓSIO BRASILIERO DE GAMES, 5., 2008, Belo Horizonte. Anais... Belo Horizonte, 2008.

WIKIPEDIA. Space Invaders. Disponível em: <http://en.wikipedia.org/wiki/Space_Invaders>. Acesso em: 01 out. 2009a.

WIKIPEDIA. Defender. Disponível em: <http://en.wikipedia.org/wiki/Defender_(game)>. Acesso em: 01 out. 2009b.

WIKIPEDIA. Gradius. Disponível em: <http://en.wikipedia.org/wiki/Gradius>. Acesso em: 01 out. 2009c.

WIKIPEDIA. Radiant Silvergun. Disponível em: < http://en.wikipedia.org/wiki/Radiant_Silvergun>. Acesso em: 01 out. 2009d.

WIKIPEDIA. Ikaruga. Disponível em: <http://en.wikipedia.org/wiki/Ikaruga>. Acesso em: 01 out. 2009e.

WIKIPEDIA. Sprite (computer graphics). Disponível em: <http://en.wikipedia.org/wiki/Sprite_(computer_graphics)>. Acesso em: 01 out. 2009f.

Page 61: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

53

YOYO GAMES. Game Maker. Disponível em: <http://www.yoyogames.com/gamemaker>. Acesso em: 02 ago. 2009a.

YOYO GAMES. History of Game Maker. Disponível em: <http://www.yoyogames.com/index.php/History_of_Game_Maker>. Acesso em: 02 ago. 2009b.

Page 62: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

54

APÊNDICES

Page 63: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

A DOCUMENTO INSTRUCIONAL PARA A REALIZAÇÃO DO TESTE

�������������� ���������� ��� ���� ������������������ ������������ �������������������������� �������������� ������������������� �������������!��������������"��#����������������������������������"!��$����"!�����������������������������������%���������� �$���&�'�������������� ��������� �����(������ �(������������ ��������� ���� � ���� )����� ���'����� ��'�� ������������ ���������������������� �)���� ��!���������� �����������������'�� ����� ���� � �� ����� �������� ��������������������� ��������������� �(���������������� ��$����#��������� ��������"!��������� ������������!���!�� ����� ��"������ ��� ��������� ����� ����� �#����*���������%�� ����+���������������#����� ���������������������(��������������������&������� ��� ��#��������������������������������� ���� ��,���� � ���������� � -�������������+������$������������ ����.���� ����+�������������#��������� � �� ���������.���� �������"����$��)�������/ �$��)������+��� ���� �������������(��������������"��������� ������ �������� �����*������������������������ �������������������+� �� ������������������������� �#��������� �*���������� ���������'������������������������������������ ���0���������� ���� ���1��������������������'�������������2 ���� ���'�(���(����������3� ����+�� ����'������ ����� ���������������� ������*���������� ����'�������'�� ���'����������� �$��)���������'������������������2 ���� ���4�-�'��������������������������� ������� ��������#�������� �����������$���������� ������������������ ��1����������5�����"6�������������(�"!���������7������������ ���� ���������������� ��������������#����� �����(� ����������� �������8��������������� ������"6����������� ������9���'������������������"!�*�� �:�������;������������������������ �� ��������� ��;���� ��������� �� �������� ��������� ��;�����!��#������� ������������������������� ����<���� ���������������!��#������������������ ��������;�����!���������� ����������������������������= �������� ������� ��'��������������>���������� ������������ � �� �����= �������� ������� ������������������>���������� ������������ � ����� ������������ ���� ����'��������������>����������'�� ��� �#������������ ���������� ��� ������ ����������������3��������� �������������������� ����#���!�� �����$�'������������'��� �-���������(��������� ����������������� ������������������������� ���?����� �� (��� ����"!��� ����������@�������������#�� �-������ ���������.���������

Page 64: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

56

7�������#����� ����������������� �������AA���������������� A �B '�� C'�� D@E��4 F� 85F,�@::G�81H= ��IJ�(��:4�KL = �

Page 65: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Yuki Eduardo Milano Egawa.pdf · tutorial documentado o processo de desenvolvimento de um jogo semelhante

57

B CÓDIGO FONTE DO EVENTO “STEP” DO INIMIGO “POWER CHARGER”