Baixe o app para aproveitar ainda mais
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
Compartilhar