Buscar

04 prototipagem

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

introdução
Introdução
PROTOTIPAGEM RÁPIDAPROTOTIPAGEM RÁPIDA
Me. George Santiago Alves
IN IC IAR
Durante o desenvolvimento de protótipos, é necessário a criação de diversos parâmetros para
realizar testes no jogo e re�nar esses dados a �m de que o protótipo possa encontrar o
balanceamento adequado a sua proposta. Durante esta unidade, estudaremos o processo de
parametrização de jogos, como ela afeta o processo de tomada de decisões durante a produção,
como estes parâmetros de�nem a progressão do jogo e o balanceamento. Logo após, falaremos
sobre as diferenças em balancear jogos single e multiplayer, conhecendo os principais jogos destes
gêneros e as di�culdades em equilibrá-los. Por último, falaremos de algumas abordagens na
realização do playtest em jogos digitais.
O processo de desenvolvimento de jogos passa por testes constantes, assim é fundamental re�nar
todos os aspectos envolvidos neste processo. Os trabalhos de Tonéis (2012) e Tonéis e Corral
(2013) demonstram experiências na produção de um jogo, nos quais fazem uma análise dos
elementos envolvidos, sendo eles design de interface e ambientação. Esses dois parâmetros são
considerados a “janela” entre o mundo virtual e o digital. Como assim? A interface é onde os
jogadores manipulam as informações, interagem com elementos que norteiam a jogabilidade e, ao
mesmo tempo, recebem um feedback das suas ações. A ambientação é o que está atrás da “janela”;
quanto mais elementos aquele mundo virtual possui e for simples de mostrar suas informações ao
jogador, mais imersivo ele é.  Os trabalhos de Neto e Alves (2010) buscam avaliar a in�uência da
interface no processo de aprendizado de um jogo. A avaliação demonstrou que a interface
in�uencia de forma signi�cativa no ensino e aprendizagem. Fazendo uma ponte para os jogos em
geral, notaremos que uma interface bem elaborada pode contribuir para uma boa jogabilidade. Os
sentidos humanos são a percepção do meio, por eles nós recebemos informações sobre o que nos
rodeia, possibilitando a interação com o mundo exterior. A interface são os sentidos do jogador no
mundo virtual.
No processo de parametrização de um protótipo é preciso levar em consideração os diversos
elementos que representam aquele mundo. O caminho é analisar o impacto deles no jogador, seja
visual ou não. Se a interface é os sentidos do jogador, então todos os parâmetros passam por ele.
Mas por que a parametrização é importante? Porque ela permite criar um registro dos eventos
importantes para o desenvolvimento do protótipo. O registro é feito em detalhes para que todos os
envolvidos possam analisar e implementar o que foi proposto. O trabalho de Petry (2011) propõe
um modelo para a parametrização de puzzles , criado durante a realização do Projeto Ilha Cabu, ele
pode ser adaptado para outros jogos bem como os seus protótipos. As informações contidas no
documento deixam claro para todos os desenvolvedores os aspectos mecânicos, design,
implantação do protótipo e a conexão com a narrativa.
ParametrizaçãoParametrização
Quadro 4.1 - Modelo para parametrização de puzzle em games 
Fonte: Tonéis (2016).
A criação de um diagrama facilita o processo de parametrização, permitindo criar facilmente uma
visualização de elementos importantes no jogo. Pode ser criado um diagrama separado, por
exemplo, para os níveis, menus , inteligência arti�cial etc. ou criar um que contemple o jogo como
um todo. A Figura 1.2 demonstra um diagrama com a máquina de estados �nito do jogo Pac-Man .
O que é uma máquina de estados �nito? Do Inglês Finite State Machine (FSM), é um modelo
matemático utilizado para representar softwares ou circuitos lógicos. A lógica consiste na máquina
estar em apenas um estado por vez, chamado de estado atual; para a mudança de estado, é
preciso uma condição para realizar esta transição.  Antes de prosseguir, faça uma análise da Figura
4.1, veja todos os estados e condições de transição; lembre-se do projeto realizado.
Puzzle <Nome do puzzle >
Tópico
Tema do puzzle , assunto ou área de
conhecimento.
Problema original:
Transcrição do problema original.
Adaptação à narrativa do jogo:
Adaptação à história do game adequada à
proposta narrativa e do design .
Mecânica do puzzle :
Seu funcionamento e seus feedbacks . Se
possui testes lógicos ou funções matemáticas
especí�cas que podem ser citados para
facilitar sua programação. Especi�cação do
level design (fácil/médio/difícil/épico) e
possíveis incrementos em fases.
Referências:
Fontes bibliográ�cas consultadas. É
importante para realizarmos transposições de
puzzles clássicos para versões digitais.
<Brasão ou logotipo>
Comentários ou observações
Relevância do tema para narrativa do game.
Resolução do puzzle:
Apresenta-se a resolução do problema para
esclarecer o programador dos processos
envolvidos.
Elementos presentes no puzzle:
matemáticos/lógicos; conhecimentos
biológicos ou das ciências sociais etc. é uma
descrição detalhada do tópico proposto no
puzzle .
Caracterização do level design e possibilidades
para ajustes em novas fases (se ocorrerem).
<Universidade/Empresa><departamento>
Puzzle <nome do puzzle > foi desenvolvido por
<autor> para o game <nome do game >.
Após o jogo iniciar, o jogador precisa procurar os pac-dots. Este seria o estado ideal, mas existem
inimigos no labirinto, ele precisa evitá-los. Dependendo do tipo de fantasma, o jogador precisa
manter uma certa distância; caso sofra colisão com um deles, o jogo reinicia. Se pac-man pegar um
poder, ele pode caçar os fantasmas por um curto período de tempo; quando este tempo acaba, ele
precisa fugir dos inimigos ou caçar os pac-dots. Este é o ciclo básico do jogo.
Dentro dos parâmetros do jogo, podemos dividi-los em ajustáveis ou �xos. E a Inteligência Arti�cial
pode dividir em duas categorias: determinísticos ou não determinísticos. Na computação, um
algoritmo não determinístico, dependendo da entrada de dados, pode apresentar
reflita
Re�ita
Os sentidos humanos são a percepção do meio. Por eles, nós recebemos
informações sobre o que nos rodeia, possibilitando a interação com o mundo
exterior. A interface são os sentidos do jogador no mundo virtual.
Figura 4.1 - Máquina de Estado – Pac-Man 
Fonte: Mitchel (2016).
comportamentos diferentes com diferentes ações, o oposto do determinístico. Ao projetar um jogo,
é preciso de�nir os agentes e suas respectivas interações.  Entende-se como agente:
[...] um elemento de uma sociedade que pode perceber aspectos (frequentemente
limitados) de seu ambiente e afetá-lo, quer diretamente ou através da cooperação com
outros agentes. (LUGER, 2004, p. 37).
Os parâmetros do jogo clássico Pac-Man são determinísticos, os inimigos (fantasmas) do jogador
seguem o estado atual do jogo. Lembra-se da máquina de estados? Só pode haver um estado por
vez! Com esta característica, os jogadores conseguem memorizar padrões no arcade de Pac-Man.
Qual foi a consequência disso? Para uma época que lucrava com os arcades ? As máquinas caça-
níqueis não podiam permitir que um jogador permanecesse por um longo período no mesmo jogo.
Mas, com este padrão memorizado, os jogadores podiam passar horas jogando. Os
desenvolvedores colocaram um elemento não determinístico para solucionar este problema,
algumas vezes os fantasmas escolhiam sua direção aleatoriamente. Com isto, o jogador precisa
focar no tempo de reação. Por isso é preciso ter um balanço no jogo. Falaremos sobre isso com
mais detalhes no próximo capítulo.
praticar
Vamos Praticar
“O problema desta abordagem é que se faz necessário prever todas as ações possíveis em um
determinado momento, fazendo-se uso de muitas regras do tipo “se-então”; além disso, após pouco tempo
saiba mais
Saiba mais
Quer saber mais sobre Inteligência Arti�cial em jogos?
ACESSAR
https://www.cin.ufpe.br/~tsr/tcc-Eduardo_Fujita-2005.pdf
de jogo, o jogador consegue prever facilmente o comportamento da máquina.” (FUJITA, 2005, p.19 ). Qual o
nome desta abordagem?
a)Não determinística.
b) Máquina de Estados Finito.
c) Determinística.
d) Diagrama.
e) Parâmetros.
Mesmo em um jogo simples como Pac-Man , o processo de equilíbrio pode tornar-se complexo se
não for planejado desde o início. Começaremos discutindo as variáveis mais simples, como a
velocidade de pac-man e dos fantasmas. Este elemento permite que o jogador se desloque pelo
labirinto e fuja dos fantasmas. Lembre-se, pac-man possui velocidade igual ou maior que os
fantasmas, e por quê? Se ele tiver uma velocidade menor, os fantasmas vão pegá-lo facilmente, se
pac-man tiver uma velocidade relativamente maior, vai fugir com facilidade dos inimigos. Perceba
que, durante o jogo, alguns fantasmas se deslocam em uma certa velocidade, percorrendo um
caminho padrão, ao localizar pac-man , ele entra em estado de alerta, aumentando sua velocidade
(normalmente igualando com a do jogador). Este parâmetro precisa ser testado manualmente, mas
ele depende da Inteligência Arti�cial e do próprio labirinto.
Estima-se que o jogo original de pac-man apresentava 255 fases; na fase 256, o jogo travava. Essa
quantidade de estágios não é tão grande em um jogo, se levarmos em consideração Angry Birds 2
com 2.180 levels. Imagine projetar cada fase separadamente? Desenho por desenho? A quantidade
de tempo seria bastante grande. Atualmente a utilização de algoritmos procedurais é comum para
a criação de fases, inimigos, itens etc.; eles permitem criar o conteúdo do jogo por meio da
programação. Segundo Araújo (2018), os benefícios da programação procedural envolvem:
[...] agilidade na produção; redução dos custos; alto valor de rejogabilidade; alta
variação no jogo proporcionando novas experiências aos usuários; adaptação
automática da di�culdade do jogo de acordo com o jogador [...]; redução do custo de
memória [...]; e auxílio aos designers servindo como fonte de inspiração. (MOGHADAM;
RAFSANJANI, 2017).
Além de acelerar o processo do desenvolvimento do jogo, escolher uma abordagem dinâmica para
o projeto consiste em prover mecanismos que identi�cam a habilidade do jogador e
automaticamente equilibra o nível de di�culdade. Independente da escolha de di�culdade
escolhida pelo jogador ou do seu nível de habilidade, o objetivo deste processo é manter-se na
BalanceamentoBalanceamento
região balanceada do jogo (Figura 1.3). Para atingir esse equilíbrio é preciso a realização de diversos
testes, seja manual ou dinâmico. A modi�cação dos parâmetros ocorre durante todo o jogo; nem
todas as variáveis podem ser estáticas, algumas funcionam em determinado nível, mas em outros
não. O objetivo do balanceamento é garantir níveis aceitáveis de desa�o, pois, se muito difíceis,
pode resultar em insatisfação, ou se forem muito fáceis, o jogador �ca entediado. Agora perceba
que, independente da di�culdade, existem momentos no jogo que são difíceis ou fáceis, é preciso
criar uma progressão para atingir os resultados necessários (KOSTER, 2004). 
Como podemos criar um balanceamento manual, dinâmico ou híbrido em pac-man?
Balanceamento Manual
Precisamos testar todas as variáveis isoladas, tais como velocidade, labirinto (tamanho e
posicionamento), número de pack-dots , limite de tempo, bônus e Inteligência Arti�cial. Cada um
destes parâmetros precisa ser testado com diferentes tamanhos de labirinto e inimigos em tela;
sim, podemos aumentar a quantidade de fantasmas, os tipos e estratagemas individuais. Lembre-
se de que o design original dos labirintos de Pac-Man continham algumas regras, dentre elas: �leira
única, apenas um caminho por vez, não existem �las duplas, a exceção é o espaço onde os
fantasmas iniciam, não existem becos sem saída, não há curvas fechadas, os tipos de paredes são
em I, L , T ou +. No manual, precisamos criar todas as fases isoladas, em esboços ou direto em
softwares. Os elementos em tela ( pak-dots ) preenchidos um a um, variáveis como velocidade,
testada em cada fase para obter uma progressão e assim equilibrar o jogo.
Balanceamento Dinâmico
Criar algoritmos procedurais para gerar o labirinto. 
Figura 4.2 - Representação do balanceamento de jogos 
Fonte: Andrade (2006).
Na movimentação do personagem ou dos inimigos, o} algoritmo A* (PENTON, 2002) é usado para
achar um caminho entre dois pontos; a sua fórmula é representada por:
Na qual F é o custo total para abertura do nó, G é o custo para se mover em linha reta, ou a
quantidade de passos do ponto A até a posição atual, e H para se mover de um quadrado até o
destino. Segundo Cruz (2014, p. 26 ), o algoritmo A* “[...] se baseia no conceito de exploração e
descoberta de nós para se guiar e utiliza-se de heurísticas para determinar qual o melhor caminho
de se expandir e evitar o desperdício de processamento, garantindo um provável caminho na
direção certa.”
Este algoritmo é muito utilizado em jogos; o foco é dizer onde é o menor e o melhor caminho
(utilizado em GPS). No Unity, podemos utilizar o seguinte algoritmo: 
saiba mais
Saiba mais
O site acessível no link <
https://shaunlebron.github.io/pacman-mazegen/ >
 disponibiliza um gerador de labirinto para pac-man . No
Unity , existem geradores que você pode utilizar em seus
jogos, um deles é o Maze Generator , que gera labirintos não
cíclicos complexos com algoritmos de árvore. Acesse este
link para saber mais:
ACESSAR
Para uma análise mais aprofundada sobre a utilização de
geração procedural de labirintos com Unity , sugiro a leitura
do artigo/tutorial disponível em:
ACESSAR
F(n) = G(n) + H(n)
https://shaunlebron.github.io/pacman-mazegen/
https://assetstore.unity.com/packages/tools/modeling/maze-generator-38689
https://www.raywenderlich.com/82-procedural-generation-of-mazes-with-unity
Quadro 4.2 -  Algoritmo A 
Fonte: Elaborado pelo autor. 
Perceba que este algoritmo armazena as informações de g e h, além de calcular o F quando
solicitado. E qual caminho seguir? Podem existir mais de um, para isso é preciso criar uma função
que calcule a melhor rota: 
class Path:object 
{ 
public int g;         //  Passos de A até este ponto 
public int h;         // Passos de B até este ponto 
public Path parent;   // Nó principal do caminho 
public int x;         // Coordenada X 
public int y;         // Coordenada Y
public Path (int _g, int _h, Path _parent, int _x, int _y) 
{ 
g = _g; 
h = _h; 
parent = _parent; 
x = _x; 
y = _y; 
}    public int f // Pontuação total 
{ 
get 
{ 
return g+h; 
} 
} 
}
Quadro 4.3 -  Caminhos percorridos pelo algoritmo A 
Fonte: Elaborado pelo autor. 
Na criação dinâmica de jogos, precisamos de�nir alguns parâmetros, ou o jogo pode tornar-se
previsível ou injusto. Lembre-se de que ele precisa estar balanceado. O jogo poderia estudar a
habilidade do jogador, quanto tempo ele leva para pegar todos os pac-dots ? Quantas vezes ele
morreu naquele nível? Quantos fantasmas ele capturou (com bônus)? Quantas vezes ele foi
perseguido? Você pode criar um sistema que se adapte a essas variáveis. Se o tempo ideal para
pegar todos os pac-dots é de 2 minutos e o jogador faz em 1 minuto, a próxima fase poderia
resultar em maior quantidade de inimigos, inimigos com padrão de movimento diferente, menor
quantidade de bônus, labirinto maior, inimigos patrulhando juntos uma determinada região etc.
Outro sistema é o baseado em pesos, onde:
SE(Distancia do jogador = perto)
ENTÃO ação X = continuar caminho padrão
PESO = 0
SE(Distancia do jogador = perto)
private List<Path> GetAdjacentSquares(Path p) { 
List<Path> ret = new List<Path> ();    int _x = p.x; 
int _y = p.y; 
for (int x = -1; x <= 1; x++) { 
for (int y = -1; y <= 1; y++) { 
int __x = _x + x; (_x + x) 5 times 
int __y = _y + y; (_y + y) 5 times 
if ((x == 0 && y == 0) || (x != 0 && y != 0)) 
continue; 
else if (__x < GameManager.instance.numCols && 
__y < GameManager.instance.numRows && 
__x >= 0 && 
__y >= 0 && 
!CheckForCollision(new Vector2(_x,_y),new Vector2(__x,__y))) 
ret.Add(new Path(p.g+1, BlocksToTarget(new Vector2(__x,__y), target.position),p, __x, __y)); 
} 
} 
return ret; 
}
ENTÃO ação Y = perseguir o jogador diretamente
PESO = 6
SE(Distancia do jogador = perto)
ENTÃO ação Z = perseguir o jogador com outra rota
PESO = 4
SE(Distancia do jogador = perto)
ENTÃO ação Y = perseguir o jogador e aumentar a sua velocidade
PESO = 2
SE(Distancia do jogador = perto)
ENTÃO ação Z = alertar outros fantasmas da presença de pac-man (ataque em dupla, trio etc.)
PESO = 1
Perceba que, ao usar este sistema, permite-se uma tomada de decisão mais e�ciente por parte da
Inteligência Arti�cial. Ao encontrar pac-man , é impossível que ele continue o caminho padrão
(probabilidade 0), ou seja, ele vai persegui-lo, agora como? No jogo clássico, as formas de
movimento eram similares. Lembra-se do padrão memorizado pelos jogadores? Aqui, dependendo
do peso, os fantasmas podem assumir uma postura mais agressiva. Mas esse algoritmo depende
apenas da proximidade entre o jogador e os fantasmas. Veja este outro:
SE(Distancia do jogador = perto E número de pac-dots capturados for maior que X )
ENTÃO ação X = perseguir o jogador com rota A
PESO = 10
SE(Distancia do jogador = perto E número de pac-dots capturados for maior que Y )
ENTÃO ação X = perseguir o jogador com rota B
PESO = 30
Perceba que utilizar a quantidade de pac-dots capturados como forma de alterar as direções pode
ser interessante no �nal do nível, aumentado a di�culdade de maneira progressiva na fase. Você
pode utilizar isso em conjunto com uma série de outras variáveis, como o tempo, bônus, tipos de
inimigos, inimigos capturados, pac-dots especiais, pontuação, número da fase etc. Agora quais
outros elementos poderiam ser adicionados ao jogo? Pense, anote e implemente no protótipo
desenvolvido.  Aqui está um brainstorm para você se inspirar: 
Quadro 4.4 - Brainstorm Pac-man 
Fonte: Elaborado pelo autor.
Balanceamento Híbrido
A utilização das abordagens manual e dinâmica é o aconselhável na maioria dos jogos, pois permite
mesclar as duas abordagens, criando assim uma progressão melhor. Alguns elementos no cenário
não precisam ser dinâmicos, você pode acrescentar algoritmos dinâmicos com a evolução do
personagem. Explore os 10, 20 ou 30 primeiros níveis com padrões de movimento, não signi�ca
que por ser determinístico que o jogo é fácil, existe a possibilidade de explorar diversos caminhos.
A diferença é o trabalho que a equipe vai ter para criar cenários e os seus elementos manualmente.
Por isso, explore as duas abordagens. Mescle fantasmas com padrão e outros com
imprevisibilidade, o mesmo cenário com distribuição dos elementos em diferentes posições etc. 
FASE INIMIGOS JOGADOR
Armadilhas (lentidão, preso
por x tempo, se apertar
direita, vai para esquerda,
ou ao contrário etc. ).
Vírus (encontrando um
determinado elemento, ele
se multiplica x vezes a cada
x tempo).
Habilidades especiais
(atravessar paredes,
prender fantasmas, destruir
o chão, assustar etc.).
Teletransporte passivo
(jogador sabe aonde vai
aparecer no mapa).
Teletransporte passivo:
jogador é mandado
aleatoriamente no mapa.
Habilidades Especiais
Quantidade de vida, pac-
man vai perdendo vida com
o passar do tempo, precisa
capturar pac-dots para
aumentar a sua vida.
praticar
Vamos Praticar
Analise o algoritmo a seguir:
(A) SE(Distancia do jogador = perto && Tempo < 60)
ENTÃO ação X = perseguir o jogador diretamente
PESO = 5
(B) SE(Distancia do jogador = longe && Tempo < 30)
ENTÃO ação Y = perseguir o jogador diretamente
PESO = 1
(C) SE(Distancia do jogador = perto && Quantidade de pac-dots no cenário < 50)
ENTÃO ação Z = perseguir o jogador com outra rota
PESO = 4
(D) SE(Distancia do jogador = perto && Quantidade de pac-dots no cenário < 30)
ENTÃO ação Y = perseguir o jogador e aumentar a sua velocidade
saiba mais
Saiba mais
Para se aprofundar melhor quanto ao uso de algoritmos
para balanceamento em jogos, acesse o link:
ACESSAR
https://www.cin.ufpe.br/~tsr/tcc-Eduardo_Fujita-2005.pdf
PESO = 3
(E) SE(Distancia do jogador = longe && Quantidade de pac-dots no cenário < 10)
ENTÃO ação Z = todos os fantasmas perseguir pac-man
PESO = 1
Agora, escolha qual deles perseguirá pac-man com maior agressividade. Observação: o tempo da fase é
igual a 120 segundos e a quantidade de pac-dots no mapa é 100.
a) Algoritmo (A).
b) Algoritmo (B).
c) Algoritmo (C).
d) Algoritmo (D).
e) Algoritmo (E).
No balanceamento de jogos digitais é preciso levar em consideração um cenário em particular, o
multiplayer. Vivemos na era dos jogos competitivos, de esportes eletrônicos (e-Sports), Segundo a
Newzoo, empresa especializada em análise de mercado, estima-se que o faturamento, em 2018,
dos e-Sports foi de US$ 906 milhões de dólares. Com todo este dinheiro, as empresas investem
pesado em modos multiplayer para os seus jogos, outros já fazem o jogo 100% on-line. Atualmente
as modalidades que se destacam são:
Battle Royale: modalidade que une sobrevivência, exploração e coleta de equipamentos.
Neste gênero de jogo, o jogador ou equipe precisa sobreviver o máximo de tempo que
puder. Ex: Fortnite (Figura 1.4) e PUBG - PlayerUnknown's Battlegrounds. Estes dois jogos
são 100% on-line, projetados para serem multiplayer. Jogos consagrados como Battle�eld
, que mescla o single e o multi, já consta de um modo battle royale ( Battle�eld V: Firestorm
). 
BalanceamentoBalanceamento
Figura 4.3 - Fortine 
Fonte: PSU (2018).
MOBA (Multiplayer Online Battle Arena): atualmente é o gênero multiplayer que mais chama
atenção, contendo campeonatos, transmissão e milhares de telespectadores. O jogo
consiste em uma partida entre equipes de 5 jogadores (5 x 5), que busca objetivos
durante a fase e demanda muita estratégia. A equipe de Dota 2 “OG e-Sports ” venceu o
campeonato mundial ( The International ) em 2018 e faturou US$ 11 milhões (R$ 41,9
milhões). Exemplo: League of Legends e DOTA 2 (Figura 1.5). 
FPS (First Person Shooter): jogos de tiro em primeira pessoa. Contém diversas
modalidades, como eliminar toda equipe adversária, capturar locais no mapa, transportar
itens, explodir alvos etc. Ex: Counter Strike (Figura 1.6) e Battle�eld. 
RTS (Real-time strategy) : jogo de estratégia em que o jogador precisa coletar recursos,
gerenciar, construir, eliminar os adversários, defender. Esta modalidade popularizou os e-
Sports. Ex: StarCraft 2 (Figura 1.7) e Warcraft 3. 
Figura 4.4 - DOTA 2 
Fonte: Steam Powered (2019).
Figura 4.5 - Counter-Strike: Global O�ensive 
Fonte: Othenin-Girard (2018).
Quando falamos de jogos single-player , o equilíbrio afeta diretamente a sua complexidade, cada
nível no jogo deve ser mais difícil que o anterior, então o jogador precisará melhorar sua
habilidade, buscando itens, missões secundárias, ou até mesmo pagando (na compra de itens,
desbloqueando fases, habilidades etc.). O balanceamento torna o jogo equilibrado, a sua
progressão passa a criar progressivamente os desa�os.  O equilíbrio em jogos single player
determina a complexidade do jogo, a complexidade da relação entre os seus elementos.
Nos jogos multiplayer , o processo é mais complexo; é preciso, a depender do jogo, determinar as
vantagens de todos os jogadores, das equipes, da posição de entrada no cenário. Quando os
jogadores escolhem armas diferentes, escolhem personagens de diferentes classes, o local que
escolhe entrar no cenário, todos esses pontos precisam ser equilibrados, independente destes
pontos escolhidos. Ao planejar este tipo de jogo, é preciso criar um diagrama com as possibilidades
de interação. Perceba que elas precisam ser em tempo real. Esta é a diferença entre single e
multiplayer , a interação. Qualquer sistema multijogador pode ser dividido em uma cadeia de
interações, que pode ser entendida como qualquer ação de um jogador em relação a outro jogador
(golpear, falar, trocar itens, mostrar status etc.).
Quando dois jogadores interagem entre si, devemos considerar as possibilidades desta interação.
Podendo conversar, mostrar status, vender ou trocar itens,combate etc. Durante um combate 1 x
1, o que seria equilíbrio? Signi�ca que ambos os jogadores têm chances similares de vitória. Se os
níveis dos personagens são parecidos, eles precisam ter equilíbrio. Vamos considerar o cenário: 
1. Níveis similares: personagens ganham pontos de habilidades e atributos iguais, têm
liberdade para distribuir. Em RPGs, é importante saber escolher qual atributo evoluir, de
acordo com a classe selecionada. Neste ponto, a experiência do jogador dá a vantagem.
2. Equipamentos: ponto bastante controverso. Atualmente os jogadores podem comprar
armas, armaduras, itens, montarias etc. para melhorar o seu personagem, em alguns
pontos, causando grande desequilíbrio ao jogo (os chamados jogos pay to win, ou pague
para vencer). Para amenizar este ponto, alguns jogos dão possibilidade ao jogador não
pagante de conseguir os mesmos itens, ou itens similares, apenas jogando. Em alguns
jogos de gerenciamento, como Clash of Clans , você compra tempo, evolui
Figura 4.6 - Starcraft 2 
Fonte: McWhertor (2018).
instantaneamente suas unidades, um jogador não pagante também evolui, mas levará
um tempo adicional para fazer o mesmo.
Em jogos como Conter Strike e Clash Royale (Figura 1.8), o balanceamento se dá pelos recursos do
jogo. A cada temporada, itens (armas, cartas ou equipamentos) aumentam ou diminuem o poder,
alteram o seu status, permitindo a rotatividade dos recursos do jogo, alterando o chamado de
metagame . O meta pode ser entendido como o “ecossistema” atual do jogo, as estratégias mais
poderosas, itens mais usados, mais e�cientes, combinações etc. Alterando o status desses
elementos, o equilíbrio do jogo também é alterado, então o seu meta muda. Qual a vantagem? O
jogo muda, os desa�os são novos, é preciso aprender a lutar com novos personagens ou aprender
a enfrentá-los. 
Em jogos nos quais o combate entre jogadores não é o foco principal, ou existem outras formas de
interação, o balanceamento é similar aos jogos single player . No jogo World of Warcraft , os
jogadores podem escolher o PVE (jogador contra ambiente), podendo fazer missões, interagir com
NPCs, participar da narrativa, buscar itens etc. Jogos on-line atualizam constantemente os seus
desa�os, prendendo o jogador pelo maior tempo possível, existindo também a caçada em grupo,
em que os jogadores se unem para enfrentar um inimigo poderoso ( BOSS ).
Quando falamos em equilíbrio, o jogador solo vai enfrentar a complexidade do jogo, a progressão
dos desa�os. Em jogos multiplayer com assimetria, em que os jogadores começam com recursos e
posições diferentes, o equilíbrio se dá pela maior chance de vitória a partir de uma posição inicial.
Nas partidas on-line, podem existir diversas maneiras de obter vitórias, independente do número
de jogadores; o equilíbrio consiste em ter diversas opções para escolher, diversos caminhos que
levem a alcançar os objetivos. Quando existem milhares de itens, cartas, classes, etc., o equilíbrio
precisa existir entre os seus elementos, o custo-benefício de cada um.
Mesmo com centenas de possibilidades de vitória, os jogadores vão encontrar a melhor alternativa
de obter vantagens, eles vão criar o metagame. Com o tempo, todos vão usar esta estratégia, o jogo
perde os desa�os, perde o seu equilíbrio. Por isso,o  balanceamento em jogos on-line é relativo; é
Figura 4.7 - Clash Royale 
Fonte: Silnasci (2018).
preciso analisar o jogo e alterar os seus elementos constantemente, mantendo um jogo com um
nível satisfatório de desa�os.
E em Pac-Man ? Poderia ser implementado um nível multiplayer ? Pense um pouco. Em 2016, a
Bandai Namco lançou o Pac-Man 256 (Figura 1.8), contendo um modo multijogador; 4 jogadores
poderiam participar da partida, cada um controlando um pac-man . Como equilibrar um jogo
assim? Não basta apenas multiplicar por 4 a di�culdade, é preciso entender que 4 jogadores estão
na partida, cada um deles pode escolher um estilo de jogo, mais agressivo ou passivo. Neste ponto,
o balanceamento dinâmico é importante, e se apenas um jogador for habilidoso? Como equilibrar
os desa�os? Lembra-se dos pesos? Esta seria uma boa alternativa, criar pesos de acordo com as
habilidades do jogador.
SE(Jogador A está próximo && pontuação do jogador > XX )
ENTÃO ação X = perseguir o jogador com o uso do poder X
PESO = 6
SE(Jogador B está próximo && pontuação do jogador > XX )
ENTÃO ação X = perseguir o jogador com o uso do  poder X
PESO = 4
SE(Jogador C está próximo && pontuação do jogador > XX )
ENTÃO ação X = perseguir o jogador com o uso do  poder X
PESO = 2 
Figura 4.8 - Pac-man Multiplayer 
Fonte: Playstation (2015).
praticar
Vamos Praticar
Cada nível no jogo deve ser mais difícil que o anterior, então o jogador precisará melhorar sua habilidade,
buscando itens, missões secundárias, ou até mesmo pagando (na compra de itens, desbloqueando fases,
habilidades etc.). O balanceamento torna o jogo equilibrado, a sua progressão passa a criar gradualmente
os desa�os.  O equilíbrio em jogos single player determina qual característica fundamental no
balanceamento?
a) Assimetria.
b) Metagame.
c) Complexidade.
d) Interações.
e) MOBA.
saiba mais
Saiba mais
O balanceamento de jogos é complexo, é preciso testar
todos os parâmetros para criar níveis equilibrados e com
uma boa progressão. Em jogos multiplayer, é necessário
um cuidado maior, pois um erro ou um balanceamento
incorreto pode tornar um jogo competitivo injusto ou criar
apenas uma estratégia de vitória.  Para melhor
aprofundamento em balanceamento de jogos on-line,
acesse o link disponível em:
ACESSAR
http://www.sbgames.org/sbgames2018/files/papers/ArtesDesignFull/187737.pdf
Um playtest pode ser entendido como um processo de teste de um protótipo ou jogo digital com
objetivo de testar elementos do jogo à procura de falhas e bugs. Pode ser dividido em aberto,
fechado e beta (SCHELL, 2011). No primeiro momento, os testes precisam ser feitos com a equipe
de produção no protótipo do jogo, em fases, testando elementos isolados, como a mecânica ou
jogabilidade. Fullerton (2008) sugere a criação de uma lista dos elementos a serem testados, um
documento informal para analisar ponto a ponto do jogo.
Em seguida, ter testadores pro�ssionais é fundamental para minimizar as falhas do jogo, eles
passam horas e horas tentando encontrar os bugs. Normalmente esses pro�ssionais entendem de
game design, programação e arte.  Com essa etapa �nalizada, é aberto um teste beta, onde um
número limitado de jogadores pode testar e jogar, contribuindo com o re�namento do jogo.
Segundo Fullerton (2008), existem pelo menos seis tipos de testadores, sendo eles: entrevista,
discussão aberta, data hooks , em grupos e teste um-a-um.
Para schell(2011) é preciso responder algumas perguntas antes de preparar um playtest:
1. Por quê?  Qual o motivo do playtest ? Quais objetivos pretendo alcançar? Estas perguntas
são de fundamental importância, pois a partir delas responde-se às demais.
2. Quem? Quais pessoas vão realizar o teste, qual o seu nível com relação ao jogo? É
desenvolvedor ou faz parte do público-alvo? Pro�ssional ou amador?
3. Onde? Que parte do jogo será testada? E por quem? Onde será feito? No estúdio? No
ambiente pessoal do testador? Em local público?
4. O quê? Diretamente ligado ao porquê, o que você está procurando naquele local do jogo?
5. Como? De�nir as regras para procurar os bugs; você pode dar informações ao testador,
ou deixá-lo com liberdade de ação.
O trabalho de Sztajer (2011) propõe uma divisão similar ao de Schell (2011), contendo: propósito,
quem e o quê, o que medir, como medir quantitativamente, como medir qualitativamente e no dia.
Já o trabalho proposto por Mourão e Junior (2017) foi dividido em quatro etapas, sendo o primeiro
PlaytestPlaytest
(Quadro 4.5) responsável por coletar o maior número de dados possível do jogo, mas com
propósito. Nesta primeira etapa, o teste é dividido em 4 blocos: o primeiro de�ne o propósito, o
segundo as características dostestadores, o terceiro, coleta de dados, e quarto, as regras para
realizar o teste.
Cód. Nome
P01
P02
P07
P09
P11
P12
P14
De�na o porquê.
Faça um roteiro.
Conheça seu testador.
Explique o que está acontecendo.
Não apresente o jogo.
Realize vários testes.
Produza os resultados a tempo.
Q05
Q08
Q09
Q10
Q14
Teste com cinco ou seis pessoas.
Teste com pessoas próximas.
Teste com outros desenvolvedores.
Teste com jogadores experientes.
Teste com seu público-alvo.
O06 Teste onde será jogado.
C02
C03
C05
C07
C08
Anote tudo.
Anote apenas o que está acontecendo.
Anote detalhes “técnicos”.
Anote os problemas e suas consequências.
Não inter�ra.
E01
E02
E03
E04
Não faça perguntas de “sim” ou “não”.
Comece com perguntas fáceis.
Reserve um espaço para comentários.
Parafraseie o entrevistado.
Quadro 4.5 
Fonte: Mourão e Junior (2017).
Após realizar esta etapa, acrescenta-se alguns parâmetros (Quadro 4.6). Perceba que um dos
pontos centrais é resolver os problemas antes de outro teste. Ao realizar um playtest e obter seus
dados, é necessário resolver os eventuais problemas, e dependendo do resultado, realizar um
playtest especí�co para um determinado problema (na mecânica, no multiplayer , na jogabilidade,
no sistema de save & load etc.). Outro ponto refere-se ao nível do jogador, se este jogo é uma
continuação; testar com jogadores que conhecem aquele universo, é fundamental para construir
uma experiência nova, mas que não fuja da temática. Muitas vezes, estes jogadores já conhecem os
bugs do outro jogo, já sabem das brechas e pontas soltas.
Quadro 4.6 
Fonte: Mourão e Junior (2017).
Na terceira parte (Quadro 4.7), acrescenta-se regras para realizar as etapas do playtest, criando
assim uma abordagem personalizada. Lembre-se, não é preciso seguir todas as regras propostas,
cada jogo ou protótipo é diferente, você pode acrescentar ou eliminar as que não se adaptarem
aos seu “Por quê”.
E07
E08
E09
E12
E13
E14
E15
Comporte-se de forma semelhante ao entrevistado.
Seja receptivo.
Anote a ordem dos comentários.
Considere que todas as mudanças podem ser realizadas.
Busque informações precisas.
Não �que na defensiva.
Vá além das sugestões.
Cód. Nome
P15 Resolva os problemas antes de outro teste.
Q02
Q03
Q11
Teste com jogadores �éis.
Teste com jogadores novos.
Teste com jogadores medianos.
Quadro 4.7 
Fonte: Mourão e Junior (2017).
Na última etapa, acrescenta-se (Quadro 4.8) duas variáveis importantes ao playtest , é a experiência
que o jogador vai ter. Não explicar nenhuma regra, apenas deixar que ele experimente o jogo
desde o início, e que seja realizado em seu ambiente pessoal, será o teste de como o seu público
vai receber. As únicas informações serão obtidas dentro do jogo, as suas dúvidas precisam ser
tiradas nos canais o�ciais do jogo, na internet, em fóruns, este seria o simulador ideal.
Quadro 4.8 
Fonte: Mourão e Junior (2017).
Esta abordagem criada por Mourão e Junior (2017) contempla a check-list de um playtest , contendo
mais parâmetros que podem ser testados nos mais diversos jogos. A literatura mostra que existem
diversas abordagens, não existe um padrão na indústria. O objetivo é minimizar os erros
Cód. Nome
T04
T05
T06
T07
T09
T10
T12
T13
T14
T15
T16
Comece com perguntas fáceis.
Divida as perguntas em assuntos.
Prepare questionários pequenos.
Seja claro e direto.
Não faça perguntas tendenciosas.
Abra espaços para comentários.
Utilize uma quantidade ímpar de opções.
Seja consistente.
Use em momentos de pausa.
Utilize poucas questões dissertativas.
Leia rapidamente as respostas dissertativas.
Cód. Nome
P06 Deixe o jogador à vontade.
O05 Teste na casa do jogador.
existentes. Trata-se de uma busca constante no jogo, quanto mais complexo ele for, maior a
probabilidade de existir bugs.
praticar
Vamos Praticar
Utilizando a abordagem proposta por Mourão e Junior (2017), faça a check-list proposta nas �guras 1.9, 1.10
, 1.11 e 1.12 para o protótipo de Pac-Man. Encontre os bugs do jogo, veja se o balanceamento está
adequado, resolva os problemas encontrados na check-list.
Após realizar a primeira etapa, você criará um módulo multiplayer para P ac-Man. Com as regras abaixo,
faça um diagrama, um algoritmo e uma implementação no Unity de uma nova fase de Pac-Man:
Regras:
4 jogadores na fase;
3 jogadores controlam os fantasmas;
caso o jogador que controla pac-man tenha uma colisão com o fantasma, eles trocam de função
(jogador que controla pac-man agora controla o fantasma, e o jogador que controlava o
fantasma vira pac-man );
tempo limite como pac-man (o jogador atual que controla pac-man tem um tempo limitado para
buscar pac-dots ; terminado o tempo, ele volta a ser fantasma).
OBS.: crie um sistema para gerenciar os pac-dots e outro para os jogadores virarem pac-man após o tempo
acabar.
praticar
Vamos Praticar
O trabalho proposto por Mourão e Junior (2017) foi dividido em quatro etapas, sendo a primeira (Quadro
4.5) responsável por coletar o maior número de dados possível do jogo, mas com propósito. Nesta primeira
etapa, o teste é dividido em 4 blocos. Quais são os blocos?
a) Por quê, quem, onde e o quê.
b) Propósito, quem e o quê, o que medir, como medir quantitativamente.
c) De�na o porquê, teste com cinco ou três pessoas, anote tudo e vá além das sugestões.
d) Resolva os problemas, teste com jogadores �éis, com novos e com medianos.
e) Propósito, característica dos testadores, coleta de dados e regras.
conclusão
Conclusão
Nesta unidade, estudamos o processo de parametrização de jogos digitais, a sua importância
desde o início da produção do protótipo. Criar parâmetros é fundamental para programar os
protótipos e realizar testes de desempenho no jogo. Durante o brainstorm, é possível de�nir quais
os parâmetros mais relevantes para o projeto, criando uma ligação com balanceamento,
progressão e desa�os no jogo. Estudamos as di�culdades em balancear jogos multiplayer , quando
é preciso pensar nas interações entre os principais elementos do jogo. Para testar todos estes
procedimentos é necessária a criação de um playtest que contemple todo o protótipo. A check-list
proposta por Mourão e Junior (2017) é uma ferramenta que pode ser usada para criar esse playtest.
Mais importante do que o teste é saber o propósito da sua realização, é preciso saber aonde quer
chegar e o que procurar.
referências
Referências Bibliográ�cas
ANDRADE, G. D. Balanceamento Dinâmico de Jogos: Uma abordagem basead em aprendizagem por
reforço. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de
Pernambuco, Recife, 2006.
ARAUJO, W. O. de. Geração procedural de conteúdo para criação de fases de jogos educativos.
2018. 105 f. Dissertação (Mestrado em Sistemas e Computação) - Departamento de Informática e
Matemática Aplicada, Universidade Federal do Rio Grande do Norte, Rio Grande do Norte, 2018.
CRUZ, G. J. Estimativa da qualidade de mapas procedurais para jogos do gênero roguelike.
Monogra�a (Graduação em Engenharia de Software) – Universidade de Brasília. Brasília, p. 26.
2014.
FASTEIN, E. S. The �ow channel. Game Developer Magazine, [S.I.], v. 11, n. 5, 2004.
FUJITA, E. Algoritmo de IA para jogos. 2005. 80 f. Monogra�a (Bacharel em Ciências da
Computação) - Departamento de Computação, Universidade Estadual de Londrina, Londrina, 2005.
FULLERTON, T. Game design workshop: a playcentric approach to creating innovative games. 2.
ed. [S.I]: Elsevier, 2008.
KORN, O. et al. Procedural content generation for game props? A study on the e�ects on user
experience. Computers in Entertainment, New York, v. 15, n. 2, apr. 2017.
KOSTER, R. Theory of fun for game design. Phoenix: Paraglyph Press, 2004.
LUGER, G. F. Inteligência arti�cial: estruturas e estratégias para a solução de problemas
complexos. 4. ed. Porto Alegre: Bookmann, 2004.
MITCHELL, J. pac-man-player-state-machine. 1 �gura. JPEG. Disponível em: <
https://jaredmitchell.�les.wordpress.com/2016/05/pac-man-player-state-machine.jpg>. Acesso em:
7 ago. 2019.
MOGHADAM, A. B.; RAFSANJANI, M. K. A genetic approach in procedural content generation for
platformer games level creation. In: CONFERENCE ON SWARM INTELLIGENCE AND EVOLUTIONARY
COMPUTATION, n. 2, Kerman, 2017. Proceedings… Kerman, 2017.
MOURÃO, A. M; JUNIOR, G. M. M. Boas práticas para a realizacão de playtest de jogos.  In:
SBGAMES, [S.I.], 2017. Proceedings… [S.I]: Instituto UFC Virtual, 2017.
NETO, F. S.; ALVES, L. Jogos digitais e aprendizagem: um estudo de caso sobre a in�uência do design
de interface. In: SBGAMES, Florianópolis, 2010. Anais… F lorianópolis: Artes & Design Track, 2010.
OTHENIN-GIRARD, L. CS GO. 1 imagem. JPEG. 2018. Disponível em: <
https://culturedvultures.com/counter-strike-global-o�ensive-is-free-without-multiplayer-now/ >.
Acesso em: 7 ago. 2019.
PLAYSTATION. pacman-256-screen-03-ps4-us-01jun16. 1 imagem. JPEG. [2015?]. Disponível em: <
https://www.playstation.com/en-us/games/pac-man-256-ps4/ >. Acesso em: 7 ago. 2019.
PENTON, R. (Ed.). Data Structures for Game Programmers. [S.l.]: Muska & Lipman/Premier-Trade; 1
edition (November 25, 2002), 2002. Citado 2 vezes nas páginas 26 e 36.
PETRY, A. dos S. A produção do game acadêmico Ilha Cabu, In: Gamepad Level 4 - seminário de
games, comunicação e tecnologia, Novo Hamburgo, 2011.
PSU. Fortnite-Account-Merging-02-768x432. 2018. 1 imagem. JPEG. Disponível em: <
https://www.psu.com/app/uploads/2018/11/Fortnite-Account-Merging-02-768x432.jpg >. Acesso
em: 7 ago. 2019.
MCWHERTOR, M. Blizzard starts selling StarCraft 2 mods made by the community. Polygon , 26 abr.
2018. Disponível em: < https://www.polygon.com/2018/4/26/17272080/starcraft-2-premium-arcade-
mods-maps-community >. Acesso em: 08 ago. 2019.
SCHELL, J. A arte de game design: o livro original. Burlington: Elsevier, 2011.
https://jaredmitchell.files.wordpress.com/2016/05/pac-man-player-state-machine.jpg
https://culturedvultures.com/counter-strike-global-offensive-is-free-without-multiplayer-now/
https://www.playstation.com/en-us/games/pac-man-256-ps4/
https://www.psu.com/app/uploads/2018/11/Fortnite-Account-Merging-02-768x432.jpg
https://www.polygon.com/2018/4/26/17272080/starcraft-2-premium-arcade-mods-maps-community
SILNASCI, D. melhores-jogos-cartas-para-android-clash-royale. 1 imagem. JPEG. 2018. Disponível
em: < https://www.segredosgeek.com/2018/01/melhores-jogos-gratis-para-android-2018.html >.
Acesso em: 7 ago. 2019.
STEAM POWERED. Disponível em: < https://store.steampowered.com/app/570/Dota_2/ >. Acesso
em: 7 ago. 2019.
STEPHENSON, M.; RENZ, J. Procedural generation of complex stable structures for angry birds
levels. In: IEEE COMPUTATIONAL INTELLIGENCE AND GAMES, 2016.
SZTAJER, P.  Playtesting 101: Finding the purpose. Gamasutra , 14 jul. 2011. Disponível em: <
https://www.gamasutra.com/blogs/PaulSztajer/20110714/89813/Playtesting_101_Finding_the_Purpose.ph
>. Acesso em: 08 ago. 2019.
TONÉIS, C. N. Experiência estética e a interface nos jogos digitais: a produção de um edutainment
game: Lua. Revista Tecnologia e Sociedade , [S.I], v. 8, n. 15, 2012.
TONÉIS, C. N. O design de Puzzles nos jogos digitais, In: XV SBGames – São Paulo – SP – Brazil,
Setembro, 2016.
______; CORRAL, F. C. O game como fonte de diálogo no ambiente escolar. In: SBGAMES, São Paulo,
2013. Anais… São Paulo: Arte & Design Track, 2013.
IMPRIMIR
https://www.segredosgeek.com/2018/01/melhores-jogos-gratis-para-android-2018.html
https://store.steampowered.com/app/570/Dota_2/
https://www.gamasutra.com/blogs/PaulSztajer/20110714/89813/Playtesting_101_Finding_the_Purpose.php

Continue navegando