the cave crawler

41
SERVIÇO NACIONAL DE APRENDIZAGEM ESPÍRITO SANTO THE CAVE CRAWLER ANDREY ALVARENGA DUARTE MONOGRAFIA DE CONCLUSÃO DO CURSO DE INFORMÁTICA Orientador(a): Thalison Jânio Pelegrini Vitória, 15 de junho de 2015.

Upload: andrey-alvarenga-duarte

Post on 12-Apr-2016

270 views

Category:

Documents


2 download

DESCRIPTION

Trabalho de conclusão de curso para o curso técnico de Tecnologia da Informação do SENAI. O projeto é um jogo desenvolvido com RPG Maker VX e PHP.

TRANSCRIPT

Page 1: The Cave Crawler

SERVIÇO NACIONAL DE APRENDIZAGEM

ESPÍRITO SANTO

THE CAVE CRAWLER

ANDREY ALVARENGA DUARTE

MONOGRAFIA DE CONCLUSÃO DO CURSO DE INFORMÁTICA

Orientador(a): Thalison Jânio Pelegrini

Vitória, 15 de junho de 2015.

Page 2: The Cave Crawler

ANDREY ALVARENGA DUARTE

THE CAVE CRAWLER

Trabalho de conclusão de curso apresentado como parte das atividades para obtenção do título de técnico, do curso de Informática do Serviço nacional de aprendizagem do Espírito Santo.

Prof orientador: Thalison Jânio Pelegrini

Vitória, 2015

Page 3: The Cave Crawler

Errata

Folha Linha Onde se lê Leia-se

Page 4: The Cave Crawler

Autoria: Andrey Alvarenga DuarteTítulo: The Cave Crawler

Trabalho de conclusão de curso apresentado como parte das atividades para obtenção do título de técnico, do curso de Informática do Serviço nacional de aprendizagem do Espírito Santo.

Os componentes da banca de avaliação, abaixo listados, consideram este trabalho aprovado.

Nome Titulação Assinatura Instituição

1

2

3

Data da aprovação: ____ de _____________________ de ________.

Page 5: The Cave Crawler

Dedico esse trabalho a todos os grandes

amigos que me ajudaram com ideias e

sugestões e a todos os incríveis jogos que

criaram minha paixão por progamar.

Page 6: The Cave Crawler

Agradecimentos

Agradeço a todos que me auxiliaram no

desenvolvimento e escrita desse trabalho,

nada disso seria possível sem eles.

Agradecimentos especiais:

Ao meu orientador, Thalison.

Ao Igor, que me ajudou sempre que pode.

Ao João Vitor e ao João Pedro, que jogaram

mais horas do que qualquer um em busca de

erros.

E ao meu pai, por criar em mim a curiosidade

por informática.

Page 7: The Cave Crawler

Now go and do not falter, my child!

Hero's Shade- The Legend of Zelda

Page 8: The Cave Crawler

ResumoO TheCaveCrawler consiste em um projeto para a criação de um jogo de RPG homônimo

que utiliza programação web e desktop. O segundo objetivo do projeto é a criação de umapágina para o jogo que possui funcionalidades como cadastro de usuários, notícias, rankings eoutros. É importante ressaltar que estes objetivos devem ser cumpridos dentro do tempo limitede entrega e com o menor custo possível.

As ferramentas utilizadas são o RPG Maker, uma ferramenta baseada em Ruby, para odesenvolvimento do jogo e PHP para a interação entre jogo-servidor e programação para apágina web.

O jogo consiste em um RPG clássico de “Dungeon Crawling”, gênero caracterizado pelouso de um personagem customizável que explora uma masmorra ou algum local perigoso embusca de tesouros. Neste gênero é comum o uso de “Permadeath”, uma regra de jogo que fazcom que o personagem utilizado possua apenas uma chance o que faz com que o jogadorprecise criar um novo personagem a cada vez que seja derrotado, criando um grande potencialde repetição. Com isso em mente, o jogo é baseado na competição entre os jogadores, que temsuas pontuações obtidas a cada jogo comparadas e colocadas em um ranking que pode seracessado através da página do jogo.

Palavras-chave: jogo, Ruby, RGSS, RPG, TheCaveCrawler.

Page 9: The Cave Crawler

AbstractThe TheCaveCrawler project consists in the creation of an homonyme eletronic RPG

game that utilizes Web and Desktop programing. The second objective of it is the creation ofa webpage about the game that has some funcionalitites like User Signup, Rankings, News,etc. It’s important to mention that these objectives must be achieved within the deadline and atthe lowest possible price.

The used tools are: RPG maker, a game engine that uses Ruby. PHP for client-serverinteration and web programing.

The game consists in a classic “Dungeon Crawler” RPG, a genre that is characterized bycostumized characters exploring dungeons or other dangerous places in a search for treasures.In that genre, a common rule is “PermaDeath”, it states that if a character dies, it ispermanently dead and the player must create another one starting the game again, that kind orule creates a great replay potential for the game. With that in mind, the game will be based inthe competition between players, who will have their scores compared in the end of eachcharacters life. These scores will be posted on a Ranking in the game webpage.

Keywords: game, Ruby, RPG, TheCaveCrawler.

Page 10: The Cave Crawler

Lista de abreviaturas e siglas ● RPG: Role Playing Game

● RPGMK: RPG Maker

Page 11: The Cave Crawler

Sumário

1 Game Design e Requisitos...................................................................................11

1.1 Conceitos básicos do jogo.............................................................................................11

1.1.1 Requisitos para a Jogabilidade...............................................................................................11

1.1.2 Decisão do gênero do jogo......................................................................................................11

1.1.3 Criação do enredo.................................................................................................................... 12

1.2 Ferramentas e Funcionalidades requeridas...................................................................12

1.2.1 Funcionalidades requeridas....................................................................................................12

1.2.2 Escolha das ferramentas..........................................................................................................13

2 Desenvolvendo o jogo..........................................................................................14

2.1 RPG Maker....................................................................................................................14

2.2 A criação do jogo e suas etapas....................................................................................14

2.3 Criação do Conteúdo de Personagem...........................................................................14

2.3.1 Criando Classes de personagem.............................................................................................15

2.3.2 Criando Habilidades................................................................................................................. 15

2.3.3 Criação de itens........................................................................................................................ 16

2.4 Criação de adversários e seus conteúdos.....................................................................19

2.4.1 Monstros comuns..................................................................................................................... 19

2.4.2 Chefes........................................................................................................................................ 20

2.5 Criação de mapas..........................................................................................................22

2.5.1 Estrutura dos andares..............................................................................................................23

2.5.2 Eventos...................................................................................................................................... 24

2.6 Funcionalidades de apoio..............................................................................................25

2.6.1 Webkit........................................................................................................................................ 25

2.6.2 Diagramas de caso de uso.......................................................................................................26

2.7 Implementação do enredo e Polimento.........................................................................31

3 Desenvolvendo o Banco de Dados.....................................................................33

4 Desenvolvendo o Site...........................................................................................34

4.1 Levantando Requisitos..................................................................................................34

4.2 Desenvolvimento de Funcionalidades............................................................................34

4.2.1 Casos de Uso das Funcionalidades........................................................................................34

4.3 Design do layout............................................................................................................36

4.4 Hospedagem.................................................................................................................37

5 Considerações finais............................................................................................38

Page 12: The Cave Crawler

IntroduçãoEste projeto pretende mostrar que é possível para o desenvolvedor iniciante e

independente criar jogos sem grandes custos e conhecimentos avançados através de

ferramentas simples e de fácil acesso. Para isso, misturamos os conhecimentos de

programação Desktop, através do RGSS, com programação Web, através do PHP. O projeto

se inspira em jogos indies da atualidade e utiliza conceitos dos antigos jogos RPG.

No contexto atual do desenvolvimento de jogos a criatividade e inovação são fatores

muito importantes para o sucesso de um jogo, mas ao mesmo tempo vem crescendo a

aceitação de jogos com temáticas retrô, onde velhos conceitos como o RPG e o Dungeon

Crawling são revisitados e misturados com novas tecnologias.

Sendo assim, o projeto visa explorar as formas de desenvolvimento de jogos

independentes através da criação de um jogo que se utilize dessas tendências para obter uma

ideia do funcionamento dessa industria e dos bastidores do desenvolvimento de um jogo.

Para alcançar os objetivos traçados é preciso encontrar formas de facilitar o

desenvolvimento sem que haja necessidade de grandes gastos ou conhecimento em

desenvolvimento de jogos obtendo a maior quantidade de dados sobre as fases e as

dificuldades de planejar, desenvolver e publicar um jogo.

Page 13: The Cave Crawler

11

1 Game Design e Requisitos

1.1 Conceitos básicos do jogo

Inicialmente é preciso definir como é o jogo em sua essência, quais são seus objetivos, de

que forma é jogado, de que forma os jogadores são atraídos à jogar, qual é o enredo e coisas

do tipo. Tudo isso para maximizar o tempo de jogo dos jogadores e popularidade do jogo,

características extremamente necessárias para o sucesso de jogos desenvolvidos de forma

independente.

1.1.1 Requisitos para a Jogabilidade

A escolha da forma como o jogo é jogado é feito com base em alguns requísitos.

O jogo deve possuir:

1) Jogabilidade simples de ser aprendida, possibilitando que tanto jogadores

iniciantes quanto jogadores experientes possam jogá-lo sem dificuldade;

2) Grande potencial de replay, tornando possível aproveitar ao máximo o

conteúdo criado na fase de desenvolvimento, já que o tempo disponível para tal é

curto.

3) Competitividade entre jogadores, fazendo com que o jogo se espalhe por

grupos de amigos.

4) Um nível de dificuldade razoável, aumentando ainda mais o tempo de jogo e a

competitividade.

A decisão de utilizar tais requísitos veio do estudo de jogos de sucesso na atualidade,

como os jogos para plataforma portátil que prezam pela simplicidade e jogos competitivos

que motivam o jogador a jogar novamente por melhores pontuações e posições de ranking.

1.1.2 Decisão do gênero do jogo

Tendo em mente os requisitos levantados para a jogabilidade, o gênero de jogo escolhido

é o RPG, devido à características como:

● Customização/Evolução de personagem – Contibui para o replay do jogo, permite que

o jogador um personagem diferente toda vez que jogue.

● Combates por turno – Aumenta a simplicidade, já que o combate ocorre através de

comandos simples. Além disso é mais simples de ser codificado, deixando disponível

mais tempo para a criação de conteúdo.

Page 14: The Cave Crawler

12

● Grande quantidade de itens – Faz com que jogadores busquem por itens escondidos ou

raros, aumentando o tempo de jogo e motiva o jogador a subir de nível para poder obter

itens mais fortes.

1.1.3 Criação do enredo

Devido à escolha do gênero de jogo, torna-se necessário criar um enredo que justifique a

a trajetória do jogador. A história deve ser algo que faça referência à busca por melhores

pontuações e a necessidade de subir posições, e assim surge a ideia de utilizar como foco da

história um personagem que sobe uma torre repleta de armadilhas e monstros em busca de um

suposto tesouro escondido no topo.

1.2 Ferramentas e Funcionalidades requeridas

Após a criação do conceito básico, é necessário verificar quais são as ferramentas e os

sistemas requeridos para tornar possível o jogo planejado.

1.2.1 Funcionalidades requeridas

As principais funcionalidades para a execução do projeto estão divididas em três grupos,

que são:

a) Grupo 1 – Jogo

● Possibilitar o envio das pontuações dos jogadores.

● Combates em turnos.

● Mapas gerados de forma procedural.

● Login de usuário para armazenamento de pontuações em contas.

b) Grupo 2 – Banco de dados

● Armazenamento de contas e pontuações para compração.

c) Grupo 3 – Site

● Cadastro de usuários para armazenamento de pontuações.

● Exibir ranking de pontuações.

● Download do jogo.

Page 15: The Cave Crawler

13

1.2.2 Escolha das ferramentas

Tendo em mente as funcionalides requeridas pelo projeto, as ferramentas são escolhidas

com base em três características:

a) Facilidade de uso

b) Adequação ao projeto

c) Preço

Dessa forma foram escolhidas as seguintes ferramentas:

● Jogo:

◦ RPG Maker VX ACE (Criação do conteúdo, mapas e combate).

◦ RGSS WebKit (Para interação do RPGMK com o HTML).

◦ PHP (Interação do HTML com o Banco de dados).

◦ RUBY (Programação dentro do RPGMK).

● Banco de dados:

◦ MySQL Workbench (Projetar o banco de dados).

◦ PHPMyAdmin (Administrar o banco de dados).

● Site:

◦ Notepad++ (Codificar HTML, Javascript e PHP).

Page 16: The Cave Crawler

14

2 Desenvolvendo o jogoApós o planejamento e o levantamento de requisitos é preciso iniciar o desenvolvimento

do jogo. Para isso vamos utilizar o RPG Maker VX ACE.

2.1 RPG Maker

O RPG Maker é uma ferramenta que possibilita a criação de jogos com temática RPG, ele

possui uma grande biblioteca de sprites e tilesets para criação de mapas, itens, classes e

personagens. Além disso, possibilita que sejam criados tanto jogos simples, com pouca

programação, como jogos complexos. com muita programação. Essa programação é feita em

uma linguagem própria chamada RGSS, baseada em Ruby.

Por ser uma ferramenta simples e barata é ideal para o uso no projeto.

2.2 A criação do jogo e suas etapas

Por possuir vários sistemas e grande quantidade de conteúdo, o ideal para o

desenvolvimento de um jogo é dividí-lo em partes. No caso do TheCaveCrawler, a divisão de

etapas é feita da seguinte forma:

1) Criação do Conteúdo de personagem.

2) Criação de Itens.

3) Criação de Adversários e seus conteúdos.

4) Criação de mapas.

5) Funcionalidades de apoio.

6) Implementação do enredo e polimento.

A cada etapa é preciso que sejam executados testes, para evitar o surgimento de bugs que

atrapalhem o jogo.

2.3 Criação do Conteúdo de Personagem

Nesta fase é iniciado o projeto e inicialmente o desenvolvimento se resume a definir as

possíveis escolhas que o jogador pode tomar em relação ao seu personagem. As características

clássica de um personagem de RPG são:

● Classe (Cavaleiro, Bruxo, Ladrão, etc..)

● Atributos (Força, inteligência, agilidade, etc...)

● Habilidades (Curar, Usar magia, etc...)

Page 17: The Cave Crawler

15

No sistema do RPG Maker existe um modelo padrão para a criação de personagens. Neste

modelo, cada personagem possui no mínimo:

● Uma classe.

● Oito atributos (Vida, Pontos de Magia, Agilidade, Ataque, Ataque mágico, Sorte

Inteligência, Defesa e Defesa mágica).

E essa é a base da criação de personagens, sendo que os atributos e habilidades estarão

vinculados à classe.

2.3.1 Criando Classes de personagem

As classes de personagem são baseadas em três arquétipo de personagens de RPG. Nestes

jogos é comum existir o personagem que é treinado em combate corpo-a-corpo, o personagem

inteligente treinado em magia e o personagem rápido que utiliza subterfúgios para superar

obstáculos. Sendo assim, as três opções de classes são: Cavaleiro, Bruxo e Ladino.

Atributos principais de cada classe:

● Cavaleiro: Vida, Ataque e Defesa.

● Bruxo: Pontos de magia, Ataque mágico e Defesa mágica.

● Ladino: Agilidade, Sorte e Inteligência.

Outra decisão em relação às classes é que o ladino, por ser um personagem ágil, não

pode usar escudos, mas para compensar, este pode equipar duas armas ao mesmo tempo.

2.3.2 Criando Habilidades

Para que cada classe possúa uma jogabilidade única é preciso que possuam habilidades

que as diferenciem umas das outras, assim, a forma como são criadas as habilidades são de

extrema importância. Outro ponto importante que deve ser observado ao serem criadas as

habilidades é a recompensa por nível que o jogador avança, quando o jogador recebe ao

menos uma habilidade nova por nível é comum que este se sinta mais motivado a avançar no

jogo, em busca de novas habilidades e melhorias do personagem. Com isso em mente, cada

classe possui uma habilidade nova a cada nível até nível 3 (nível médio em que o jogador

atinge o chefe final).

2.3.2.1 Cavaleiro

O conjunto de habilidades do cavaleiro é planejado para que ele possa melhorar a sua

habilidade de luta com ataques simples, que é o seu ponto forte. Além disso, essa dá a ele uma

Page 18: The Cave Crawler

16

possibilidade de cura e aumento na defesa, permitindo a ele sobreviver a ataques de inimigos

mais fortes.

● Habilidades:

• Recuo Estratégico: Permite ao personagem recuar e recuperar vida.

• Postura Agressiva: Aumenta o ataque mas diminui a defesa.

• Postura Defensiva: Aumenta a defesa mas diminui o ataque.

2.3.2.2 Bruxo

O conjunto de habilidades do bruxo dá a ele a maior quantidade de dano de todas as

classes, porém antes de conseguir a segunda habilidade o bruxo é o personagem mais frágil de

todos.

● Habilidades:

• Míssil mágico: Conjura um míssil de magia que causa dano.

• Barreira mágica: Cria uma proteção em volta do mago, aumenta a defesa.

• Lançar Chamas!: O Mago lança chamas pelas mãos e causa dano de fogo a

todos os inimigos.

2.3.2.3 Ladino

O conjunto de habilidades do ladino dá a ele formas de sobreviver aos perigos como

inimigos e armadilhas. No nível 3 o ladino recebe uma habilidade de combate, tornando

possível que ele derrote inimigos fortes em conjunto com sua habilidade de esconder.

● Habilidades:

• Esconder: Aumenta a defesa e diminui a chance de acerto dos inimigos.

• Detectar armadilhas: Dá 50% de chance do ladino perceber armadilhas no

mapa antes de ativá-las.

• Ataque rápido: Ataca duas vezes rapidamente.

2.3.3 Criação de itens

Os itens do jogo são divididos em 3 tipos:

● Consumíveis – Itens que são gastos aos serem usados.

● Armas – Itens equipáveis para melhorar a Ataque ou Ataque mágico.

● Armaduras - Itens equipáveis para melhorar a Defesa ou Defesa mágica.

Page 19: The Cave Crawler

17

2.3.3.1 Consumíveis

Os consumíveis são itens que ao serem usados são gastos, entre eles estão as poções de

cura e ponto de magia, que são extremamente importantes para a sobrevivência do jogador.

Além das poções existem também os tomos, estes são ótimos para aumentar a customização

dos personagens, dando a eles habilidades diferentes:

• Poção – Recupera a vida do jogador.

• Elixir – Recupera os pontos de magia.

• Tomo do Ladino - Ensina a habilidade “Esconder” ao personagem. Caso ele já

conheça essa habilidade, melhora ela.

• Tomo do Bruxo - Ensina a habilidade “Míssil mágico” ao personagem. Caso ele já

conheça essa habilidade, melhora ela.

• Tomo do Cavaleiro - Ensina a habilidade “Postura defensiva” para magos e “Postura

agressiva” para ladinos. Caso seja um cavaleiro, ensina a habilidade “Fúria”.

2.3.3.2 Armas

Foram criadas várias armas para possibilitar a customização dos personagens.

Page 20: The Cave Crawler

18

• Adaga – Arma inicial do ladino.

• Espada longa

• Cajado – Arma inicial do Bruxo.

• Arco e flecha

• Espada Curta - Arma inicial do Cavaleiro.

• Florete

• Bola de cristal

2.3.3.3 Equipamentos

Os equipamentos foram divididos em três tipos: Armadura de corpo, Escudo e

Acessórios.

As armaduras em ordem crescente de defesa são:

• Roupas de viagem – Armadura inicial de todas as classes.

• Armadura de couro

• Meia armadura de placas

• Armadura de placas

Os escudos em ordem crescente de defesa são:

• Escudo de braço – Um escudo leve.

• Escudo médio – Um escudo mais pesado.

Os acessórios são equipamentos muito importantes para a costumização do personagem

já que adicionam grandes bônus ou permitem que personagens usem habilidades diferentes:

• Anel da Cura – Um anel que permite o uso da habilidade “Curar”.

• Luvas da maestria – Uma luva que melhora a habilidade de luta corpo a corpo do

personagem.

• Botas anti-armadilha – Botas que permitem o uso da habilidade “Detectar

Armadilhas”.

• Água-benta – Faz com que os ataques do personagem causem mais dano à criaturas

morto-vivas.

Page 21: The Cave Crawler

19

2.4 Criação de adversários e seus conteúdos

Uma das partes mais importantes na criação do jogo é a criação dos adversários, que são

responsáveis por boa parte dos desafios enfrentados pelo jogador.

Adversários são divididos em dois tipos: Monstros comuns e Chefes.

2.4.1 Monstros comuns

Monstros comuns são fracos ou medianos em força e oferecem razoável ou pouca ameaça

ao jogador, mas também não possuem grandes recompensas. Os monstros comuns são:

2.4.1.1 Gosma

Descrição: A gosma é uma forma gelatinosa que se arrasta pelos corredores da torre.

Batalha: A gosma é o inimigo mais fraco do jogo, possui 80 pontos de vida e apenas

raramente usa a habilidade “Míssil mágico”. Quando está com 20% ou menos da vida ela se

divide em duas gosmas menores com 20 pontos de vida cada.

Page 22: The Cave Crawler

20

Recompensas: Ao derrotar a gosma o jogador recebe 7 pontos de experiência e 10

moedas de ouro. Existe 10% de chance de encontrar uma Poção e 20% de chance de encontrar

um Elixir ao derrotar a gosma.

2.4.1.2 Goblin

Descrição: O goblin é uma criatura verde que rouba acentureiros desavisados.

Batalha: O goblin possui 85 pontos de vida e uma quantidade razoável de ataque que o

torna medianamente perigoso. Existe uma pequena chance de durante a batalha o goblin usar a

habilidade “Esconder”.

Recompensas: Ao derrotar o goblin o jogador recebe 17 pontos de experiência e 15

moedas de ouro. Existe 10% de chance de encontrar uma Poção e 6.6% de chance de

encontrar Botas Anti-Armadilhas ao derrotar o goblin.

2.4.1.3 Esqueleto

Descrição: Os esqueletos de aventureiros derrotados ainda andam pela torre.

Batalha: O esqueleto é o mais forte entre os inimigos comuns, possui 95 pontos de vida e

as vezes usa a habilidade “Ataque rápido”. Além disso, ele possui a capacidade de usar

“Defender” para ganhar um bônus de defesa contra o próximo ataque.

Recompensas: Ao derrotar a gosma o jogador recebe 20 pontos de experiência e 20

moedas de ouro. Existe 10% de chance de encontrar uma Poção, 6.6% de chance de encontrar

um Tomo do cavaleiro e 6.6% de encontrar as Luvas da maestria ao derrotar o esqueleto.

2.4.2 Chefes

Os chefes são adversários maias raros de serem encontrados. Oferecem um grande risco

ao jogador, mas também possuem uma grande recompensa.

2.4.2.1 Os irmãos Goblin

Descrição: Inicialmente a batalha é iniciada e apenas dois dos irmãos goblins estão

visíveis o jogador os enfrenta normalmente até o quarto turno quando um terceiro irmão

goblin gigante chamado “Robbie” entra na batalha.

Batalha: Os primeiros irmãos goblins são goblins comuns. Já Robbie possui 150 pontos

de vida e 20 pontos de ataque, o tornando o segundo monstro com mais ataque do jogo.

Apesar da grande quantidade de ataque, Robbie possui uma chance de 20% de errar o ataque

devido ao seu grande tamanho.

Page 23: The Cave Crawler

21

Recompensas: Ao derrotar os irmãos goblin o jogador recebe 17 pontos de experiência e

15 moedas de ouro por cada goblin mais 30 pontos de experiência e 50 moedas de ouro por

Robbie. Além das chances de itens dos goblins, existe 100% de chance de encontrar um Tomo

do cavaleiro, 50% de chance de encontrar uma Armadura de placas e 50% de encontrar um

Escudo médio ao derrotar o os Irmãos Goblin.

2.4.2.2 O Arcanista Enlouquecido

Descrição: O arcanista é um aventureiro que ficou preso por um tempo inimaginável na

torre. Após tantos anos a loucura tomou conta de sua mente e agora ele vaga por seus

corredores em busca de alvos para seus experimentos.

Batalha: O Arcanista é uma espécie de Bruxo, possui 130 pontos de vida e uma grande

quantidade de ataque mágico, tornando suas magias altamente perigosas. Apesar da grande

quantidade de ataque mágico, a defesa contra ataques corpo-a-corpo é baixa. O Arcanista

conjura sempre “Míssil mágico” como ataque, quando está com 75% ou menos pontos de

vida, ele também pode usar “Curar” e ao chegar a 50% ou menos pontos de vida ele também

conjura “Lançar chamas”.

Recompensas: Ao derrotar o Arcanista Enlouquecido o jogador recebe 50 pontos de

experiência e 50 moedas de ouro. Além disso, existe 100% de chance de encontrar um Tomo

do Bruxo, 50% de chance de encontrar uma Bola de Cristal e 50% de encontrar um Anel de

cura.

2.4.2.3 O Mímico

Descrição: O mímico é uma criatura que vive dentro de baús vazios, ao ter o baú aberto

por algum aventureiro ou goblin desavisado, o mímico ataca com seus dentes afiados.

Batalha: O mímico é uma criatura morto-vivo, possui 135 pontos de vida e uma grande

quantidade de defesa e sorte, o que faz com que possua uma grande chance de conseguir

ataques críticos, que causam grande dano ao jogador. Apesar da grande quantidade de defesa,

o Mímico é altamente vulnerável a magia e ataques de jogadores equipados com Água benta.

O Mímico frequentemente usa “Barreira mágica” para se proteger e ao atingir 50% ou menos

de vida, ele pode conjurar “Fúria”.

Recompensas: Ao derrotar o Mímico o jogador recebe 50 pontos de experiência e 50

moedas de ouro. Além disso, existe 100% de chance de encontrar um Tomo do Ladino, 50%

de chance de encontrar uma Florete e 50% de encontrar as Botas Anti-Armadilha.

Page 24: The Cave Crawler

22

2.4.2.4 A Quimera

A Quimera é o chefe final da torre e por isso é extremamente poderosa.

Descrição: Ao ver o jogador a Quimera avança em sua direção e o ataca. Ela possui

corpo e cabeça de leão, Asas de morcego, Cauda de cobra e Chifres de cabra.

Batalha: A Quimera é extremamente poderosa, possui 500 pontos de vida e uma grande

quantidade de defesa física e mágica, além disso, possui 10% de chance extra de executar

ataques críticos, que causam grande dano ao jogador. A Quimera possui algumas ações

especiais:

• Curar – Cura a Quimera, 60% de chance de ocorrer.

• Atacar com cauda – Ataca com a cauda de cobra, causa envenenamento, acontece com

frequência.

• Rugido assustador – Ruge de forma assustadora, atordoa o jogador, 60% de chance de

ocorrer.

• Ataque rápido – Ataca duas vezes rapidamente, 30% de chance de ocorrer.

• Fúria – Aumenta em 50% o ataque e diminui em 50% a defesa, ocorre quando a

Quimera possui menos de 50% dos pontos de vida.

• Defender – Aumenta a defesa para o próximo ataqe recebido, 60% de chance de

ocorrer.

• Recompensas: Ao derrotar a Quimera o jogador recebe 300 moedas de ouro, 200

pontos de experiência e termina o jogo.

2.5 Criação de mapas

Nessa etapa são criados os mapas e inseridos os “eventos” responsáveis pelos

personagens que representam as criaturas, baús e armadilhas da torre.

Seguindo um dos requisitos, os mapas são criados de forma que a cada vez que o jogador

inicie um jogo, as posições de tais eventos e a própria estrutura do mapa sejam modificadas.

A respeito da quantidade de andares, para manter o tempo de jogo razoável, a torre possui

3 andares, sendo que existira em média um chefe por andar e o último chefe no terceiro.

Page 25: The Cave Crawler

23

2.5.1 Estrutura dos andares

Os andares são criados de forma procedural através de um algorítmo de criação de

labirintos incluso no próprio RPGMK, assim, são criadas salas interligadas por corredores.

Para tornar possível a distrubuição dos eventos de forma que não apareçam em locais

indesejados do mapa (como um baú aparecer no meio de um corredor) os locais do mapa são

divididos com “áreas”.

O algoritmo responsável pela distribuição dos eventos é detalhado nas Funcionalidades de

apoio.

Para que exista a diferenciação dos mapas a cada vez que o jogador inicie um novo jogo,

existem 4 versões de cada andar, assim a cada vez que um jogador passa de andar ele é

enviado a uma dessas 4 versões do mesmo mapa.

Page 26: The Cave Crawler

24

2.5.2 Eventos

Eventos são objetos colocados no mapa que podem interagir com o jogador ao serem

acionados. No RPGMK os eventos contém comandos que se se assemelham à uma linguagem

de algorítmos genérica, assim, é possível utilizá-los para modificar coisas no jogo, iniciar

batalhas, abrir lojas, etc.

Os eventos presentes nos mapas são:

• Inimigos – Inimigos possuem os gráficos correspondentes a cada inimigo. Eles são

programados para perseguirem o jogador e ses comandos se iniciam ao tocar o mesmo.

• Armadilhas – Armadilhas ficam escondidas até que o jogador toque nelas, nesse

momento são reveladas e causam dano ao jogador. Podem ser geradas em qualquer

área do mapa.

• Baús – Baús possuem gráficos de baús de madeira que se abrem ao serem ativados.

Eles são ativados através do botão de ação. Não são gerados em corredores.

• Subida – A subida possui o gráfico de uma escada, ela é ativada pelo botão de ação e

leva o jogador ao próximo andar. Não é gerada em corredores.

Page 27: The Cave Crawler

25

• Descida – A descida possui o gráfico de uma escada descendo, ela é ativada pelo botão

de ação mas não permite a descida do jogador. Não é gerada em corredores.

2.6 Funcionalidades de apoio

Aqui são detalhadas as funções mais técnicas do jogo, como a distribuição dos eventos

pelo mapa e o login do jogador. Além disso, é explicada a forma como funciona o WebKit,

que é responsável pela comunicação do jogo com os arquivos PHP no servidor.

2.6.1 Webkit

O WebKit é um Add-on desenvolvido pela comunidade de desenvolvedores do RPGMK

e foi inicialmente criado por Guilherme Bicalho e editado por vários outros desenvolvedores,

atualmente é distribuído em Creative Commons 3.0.

Basicamente a sua função é criar uma comunicação HTTP para o uso do RGSS, ele

permite que o desenvolvedor crie uma função que leia o conteúdo de uma determinada página

web. Assim, em conjunto com arquivos PHP em um servidor é possível criar a comunicação

do RGSS com um Banco de dados.

Page 28: The Cave Crawler

26

Esse sistema é utilizado para várias funcionalidades dentro do jogo:

• Login – Permite ao usuário acessar o jogo com uma conta pessoal.

• Envio de pontuação – Envia a pontuação do jogador ao sevidor.

• Verificação de versão – Verifica a versão do jogo com o servidor.

• Obter Notícias – Obtem as notícias do servidor.

• Verificar Ranking – Verifica os Ranking de pontuações.

2.6.2 Diagramas de caso de uso

Aqui estão listados os diagramas de caso de uso das funcionalidades de apoio do jogo.

Diagramas de caso de uso são importantes para enteder a funcionalidade de sistemas e a

forma como interagem com o usuário.

● Sistema de login

Caso de uso: Sistema de login.

Page 29: The Cave Crawler

27

Fluxo principal:

● O usuário preenche os campos de nome de usuário e senha.

● Sistema verifica se a senha e nome são existentes e correspondem.

● Sistema verifica versão do cliente do jogo.

● Sessão de jogo é iniciada.

Fluxo alternativo:

● Caso o usuário não preencha os campos, é pedido que ele os preencha.

● Caso o nome de usuário não exista, um erro alerta o usuário disso.

● Caso a senha não corresponda, um erro alerta o usuário disso.

● Caso a versão do jogo esteja errada, um erro alerta esse problema e indica um link

para download da nova versão, o cliente é fechado.

● Envio de pontuação

Caso de uso: Envio de pontuação

Fluxo principal:

● O cliente do jogo obtém a pontuação do jogador.

Page 30: The Cave Crawler

28

● O cliente verifica que o servidor está acessível.

● O cliente se certifica que o usuário continua logado.

● A pontuação é enviada ao servidor.

Fluxo alternativo:

● Caso o servidor não esteja acessível, o cliente alerta isso com uma mensagem de erro

e a pontuação não é enviada.

● Caso o cliente verifique o jogador não está logado, a pontuação não é enviada ao

servidor.

● Verificação de versão

Caso de uso: Verificação de versão

Fluxo principal:

● O cliente obtém seu número de versão.

● O cliente obtém o número de versão do servidor.

● Os números correspondem.

Page 31: The Cave Crawler

29

● Sessão de jogo é iniciada.

Fluxo alternativo:

● Caso o cliente ou o servidor não tenham versão, o cliente alerta esse problema com

um erro e um link para o download do jogo, o cliente é fechado.

● Caso os números não sejam correspondentes, uma mensagem de alerta informa o link

para download da nova versão, o cliente é fechado.

● Obter notícias

Caso de uso: Obter notícias

Fluxo principal:

● O cliente verifica que o servidor está acesível.

● O cliente obtém as notícias do servidor.

● As notícias são exibidas

Fluxo alternativo:

● Caso o servidor não esteja acessível, as notícias não são exibidas.

Page 32: The Cave Crawler

30

● Caso não existam notícias no servidor, nenhuma notícia é exibida.

● Verificar Ranking

Caso de uso: Verificar ranking

Fluxo principal:

● O cliente verifica que o servidor está acesível.

● O cliente obtém as pontuações do servidor.

● Pontuações são ordenadas.

● Pontuações são exibidas.

Fluxo alternativo:

● Caso o servidor não esteja acessível, as pontuações não são exibidas.

● Caso não existam pontuações no servidor, o ranking não é exibido.

Page 33: The Cave Crawler

31

● Posicionar evento

Caso de uso: Posicionar evento

Fluxo principal:

● O cliente gera uma posição aleatória no mapa.

● O cliente verifica se essa posição está em uma área válida para este evento.

● O cliente posiciona o evento.

Fluxo alternativo:

● Caso a área da posição não seja válida para o evento, o processo é reiniciado.

2.7 Implementação do enredo e Polimento

Por fim, para finalizar o desenvolvimento é inserido o enredo do jogo através de cenas

programadas e um sistema de geração de história do personagem. Nesse sistema, o jogo gera

aleatóriamente uma história de 3 paragrafos de acordo com a classe do personagem, existem

no total 12 parágrafos que são ordenados de forma que façam sentido com a história.

Page 34: The Cave Crawler

32

Logo depois é feito o polimento, onde são corrigidos bugs e é feito o equilíbrio das

classes, para que não exista uma classe que seja muito mais forte que as outras. Além disso, é

escolhida a cor de fundo das janelas, imagem da tela de login e menu, fonte gráfca dos textos

e trilha sonora.

Page 35: The Cave Crawler

33

3 Desenvolvendo o Banco de DadosPara o desenvolvimento do banco de dados devem ser seguidos os requisitos do projeto, o

banco deve ser reponsável por armazenar:

● Nome de usuário e senha

● Pontuações e o nome dos jogadores que as fizeram

● Notícias

● Variáveis e switches do RPGMK para funcionalidades diversas.

Com isso em mente, o banco é desenvolvido em MySQL, através do MySQL Workbench

e possui a estrutura:

As tabelas foram organizadas da seguinte forma:

● Accounts – Guarda o nome de usuário e senha das contas dos jogadores.

● Score – Guarda as pontuações e o nome de quem as fez.

● News – Armazena o título, corpo e id das notícias.

● Switch – Armazena as Switches do RPGMK.

● Variables – Armazena variáveis do RPGMK.

Page 36: The Cave Crawler

34

4 Desenvolvendo o SitePara facilitar o acesso do jogo e fornecer um local onde os jogadores possam baixar o

cliente do jogo é necessária a criação de um site.

4.1 Levantando Requisitos

Para que o site cumpra a sua função de propagar e facilitar o acesso ao jogo, são

necessários certas funcionalidades:

● Cadastro de usuário – Permite aos usuários criarem contas de jogadores.

● Download do jogo – Permite que seja feito o download do jogo.

● Visualização de ranking – Dá a opção aos jogadores de visualizarem o ranking de forma

mais clara.

● Layout atraente – Aumenta a atratividade do jogo.

Com esses requisitos como objetivo é possível dividir o desenvolvimento do site em duas

etapas: Desenvolvimento de funcionalidades e Design de layout.

4.2 Desenvolvimento de Funcionalidades

As funcionalidades do site são feitas assim como no jogo, através de Scripts PHP que

interagem com o banco de dados, o que facilita a criação de um banco de dados

compartilhado.

4.2.1 Casos de Uso das Funcionalidades.

Aqui estão os casos de uso das funcionalidades do site.

● Visualização do Ranking

Caso de uso: Visualização do Ranking

Page 37: The Cave Crawler

35

Fluxo principal:

● O site verifica que o servidor está acesível.

● O site obtém as pontuações do servidor.

● Pontuações são ordenadas.

● Pontuações são exibidas.

Fluxo alternativo:

● Caso o servidor não esteja acessível, o ranking não é exibido.

● Caso não existam pontuações no servidor, o ranking não é exibido.

Page 38: The Cave Crawler

36

● Cadastro de usuário

Caso de uso: Cadastro de usuário.

Fluxo principal:

● O usuário preenche os campos de nome de usuário e senha.

● Site se certifica que senha e nome são válidos.

● Conta é inserida no banco de dados

Fluxo alternativo:

● Caso o usuário não preencha os campos, é pedido que ele os preencha.

● Caso o nome de usuário já exista ou seja inválido, um erro alerta o usuário disso.

● Caso a senha não seja válida, um erro alerta o usuário disso.

4.3 Design do layout

Para o design do layout se tornar algo atrativo é preciso fugir ao modelo padrão de

páginas estáticas.

Page 39: The Cave Crawler

37

Com isso em mente, o layout do site é feito de forma que tanto seus gráficos quanto a

forma como usuários navegam por ele sejam o mais próximo possível do jogo.

Os gráficos de background, gráfico do mouse e sprite de personagem são todos retirados

dos gráficos do próprio jogo. Além disso, o controle do personagem que se encontra sobre o

background do site pode ser feito com as setas do teclado. Ao tocar as estruturas assinaladas

com placas que estão no background, o personagem abre as páginas correspondentes a elas.

4.4 Hospedagem

Para que o site e o banco de dados funcionem da forma esperada, é preciso que estes

sejam hospedados em um servidor.

Os parametros usados na escolha do Host são:

1) Custo

2) Tempo online

3) Funcionalidades oferecidas

Assim, o mais indicado é um plano de hospedagem gratuito, e por isso a escolha é o plano

gratuido do “Hostinger.com”. Esse plano possui as características necessárias para rodas o

banco de dados e os scripts PHP e resiste ao stress esperado para o público do jogo.

O domínio escolhido é também um domínio público gratúito:

“www.thecavecrawler.hol.es”.

Page 40: The Cave Crawler

38

5 Considerações finaisApós todas essas etapas é possível jogar e distribuir livremente o jogo. Mas não só a isso

precisa limitar-se o futuro, durante o desenvolvimento, houve sempre o cuidado de manter o

projeto aberto modificações, de forma que seja possível no futuro adicionar novas

funcionalidades e conteúdos, as ideias para o futuro do projeto são o único limite do que ele

pode ser tornar, afinal, com criatividade e um pouco de esforço é possível adequar qualquer

ideia que venha a ser concebida para a melhoria do jogo.

Além disso, as funcionalidades criadas para esse projeto não serão limitadas apenas a ele,

assim como ele utiliza recursos cirados pela comunidade e distribuídos sób a licença de

Creative Commons, os recursos criados para ele, como o sistema de ranking, distribuição de

enventos e envio de pontuação, serão publicados sob a mesma licença para que outros

desenvolvedores possam utilizá-los e melhorá-los como quiserem.

Page 41: The Cave Crawler

Referências bibliográficasBECKER, Fernando, FARINA, Sérgio, SCHEID, Urbano. Apresentação de trabalhos escolares. Orientação para datilografia e digitação. Porto Alegre: Multilivro, 2000.CHEMIN, Beatriz Francisca. Guia Prático da UNIVATES para trabalhos acadêmicos. Lajeado: UNIVATES, 2005.FARINA, Sérgio. Referências bibliográficas e eletrônicas. São Leopoldo: UNISINOS, 1997.ROCHA, José Antonio Meira da. Modelo de Trabalho de Conclusão de Curso (TCC). Modelo de documento digital do programa OpenOffice 2.0 disponível em <http://www.meiradarocha.jor.br/uploads/1021/196/modelo_de_projeto_de_TCC-2006-06-12a.sxw>. Acesso em: 12 jun. 2006.THUMS, Jorge. Acesso à realidade: técnicas de pesquisa e construção do conhecimento. Porto Alegre: Sulina/Ulbra, 2000. Divulgação do WebKit para RGSS disponível em<http://forums.rpgmakerweb.com/index.php?/topic/2990-rgss-webkit/>. Acesso em: 15 jun. 2015