Depois de ler alguns livros de game design, todos parecem iguais, falando praticamente as mesmas coisas. Porém este livro tem algo exclusivo, um sistema criado por um dos autores que é uma espécie de linguagem de programação visual para simular economias internas de jogos.

Nos capítulos iniciais trata de alguns conceitos já conhecidos mas bem explicados.

Certamente vale a pena ler, apesar de algumas coisas mais avançadas e difíceis de seguir, úteis somente na produção de jogos com economias complexas, como simuladores do tipo SimCity, Civilization, card games, etc.

Então este post fala do livro, a teoria que ele aborda e depois este sistema exclusivo que o torna especial (podemos considerar como uma ferramenta para game design).

Esta é a obra:

Game Mechanics – Advanced Game Design

De Ernest Adams e Joris Dormans

0321820274

 

Quando dizem que é game design avançado, não estão brincado! Mas até metade do livro, a teoria inicial é mais light, nada de muito novo na verdade, apesar de bem escrito.

Resolvi detalhar um pouco mais o conteúdo do livro, assim vale para estimular quem quiser ler, e já serve como teoria de game design, deixando o post com mais conteúdo do que uma análise simplificada. Então seguem os assuntos que o livro aborda, lembrando que é um mega resumo e algumas (muitas) coisas acabei pulando (ou só deixei o tópico solto).

 

 

Capítulo 1 – Criando mecânicas de jogos

Aqui o livro fala sobre criação de mecânicas em jogos, que são definidos por regras, etc. Comentam os jogos como sendo máquinas de estado, imprevisíveis em alguns casos. Também fala de jogos híbridos (jogados com controles físicos fora do mundo virtual), como Johann Sebastian Joust.

 

Comenta 5 tipos diferentes de mecânicas: Física (a física tradicional que faz um objeto cair no chão…, isto seria automatizado pelos sistema); Economia interna (todos os sistema de comprar, vender, trocar elementos); Mecânicas de progresso (derrotar boss, alavanca que abre uma porta, etc); Manobra tática (como posicionamento tático de unidade em RTS); Interação social (comunicação entre pessoas como elemento importante no jogo).

 

A diferença de mecânicas discretas vs mecânicas contínuas:

*Discreta = regras de uma economia interna tendem a ser discretas, tratados com números inteiros.

*Contínuas = sistema calculado com número precisos, valores quebrados, como física.

 

Pode haver mistura de mecânicas físicas com gameplay estratégico como em Angry Birds, World of Goo.

 

Fala sobre as etapas do processo de design: fase conceitual (com protótipos), elaboração (muita coisa será ajustada, modificada, importante manter os testes), ajustes (não adiciona novos elementos, só faz polimento do que já existe).

 

Tipos de protótipo:

*Fatia vertical – um pequeno pedaço do jogo com todos os elementos feitos, arte, programação, interface, ex: uma fase completa;

*Fatia horizontal – testa só um elemento, de todo jogo, ex: todo gameplay/regras mas com arte temporária, ou toda interface sem nada mais funcionando, etc.

slices

 

Fazer um protótipo em papel pode ser algo muito útil e prático para testar ideias.

 

Este primeiro capítulo é bem básico, nada de muito novo.

 

Capítulo 2 – Emergência e progressão

Outro conceito conhecido mas importante: Espaço de probabilidades (ou possibilidades) – (já escrevi sobre isso e outras coisas derivadas aqui)

 

Este capítulo fala mais sobre emergência (não no sentido de algo urgente, mas no sentido de emergir comportamentos complexos a partir da mistura de regras simples).

 

Comenta jogos de emergência como Civilization (quando o todo é maior que a soma das partes, semelhante à complexidade emergente, regras simples – como mover peças do xadrez – que geram muitas possibilidades e ações/estratégias secundárias).

Também fala de jogos de progressão, como os que seguem uma história fixa e o gameplay é mais fechado sem possibilidades tão complexas.

 

Pense em Uncharted vs World of Goo. O primeiro foca em combate, exploração, travessia, resolver puzzles simples (com somente uma possibilidade de resolução), é baseado em história linear. Já o segundo é focado mais em possibilidades de gameplay, um puzzle com regras simples para jogar mas que permite muitas formas de ganhar. É como se o jogador precisasse dar um jeito de passar de fase, ele pode fazer isso com muitas variações, talvez até inventar formas que o criador do jogo nem pensou que eram possíveis. E mesmo assim ele também tem uma história e progressão de níveis. Ou seja, é comum estes conceitos se misturarem, mas o foco maior é em um ou outro.

 

Diferenças entre mecânicas de emergência e mecânicas de progressão:

Estrutura

Emergência

Progressão

Número de regras

baixo

alto

Número de elementos de jogo

alto

baixo – alto

Interações entre elementos

alto

baixo

Espaço de possibilidades

largo, vasto

pequeno, profundo

Fator replay

alto

baixo

Controle do designer do fluxo de jogo

baixo

alto

Comprimento do jogo

tende a ser baixo

tende a ser longo

Curva de aprendizado

tende a ser alta

tende a ser baixa

 

Capítulo 3 – Sistemas complexos e a estrutura da emergência

Aqui fala da ciência da complexidade ou teoria do caos, buscando entender mais sobre a estrutura de sistemas complexos que contribuem para comportamento emergente.

A emergência pode ser criada? Isso é paradoxal – designers podem não saber exatamente o estado final que o seu sistema irá produzir, mas irão criar a experiência de chegar lá.

Algumas estruturas tendem a produzir certos tipos de resultados. Entender estas estruturas ajuda designers a criar os efeitos desejados, mesmo que o processo precise de muito teste. Este livro é focado em identificar estas estruturas, reconhecê-las no seu (e outros) jogos, e usá-las para produzir o gameplay que você quer.

 

Comenta sobre a qualidade estrutural dos sistemas complexos – efeito borboleta – mercado de ações – trânsito – fluxo de pedestres – bando de pássaros – movimento de objetos astronômicos.

 

Outro sistema complexo que o livro fala são os “Cellular automata” – autômatos celulares, que já tinha comentado no final deste post (mesmo que tinha divulgado antes).

CA_rule30s

 

Qualidades críticas de sistemas que exibem comportamento dinâmico:

– Eles consistem de células simples que são definidas localmente. São partes facilmente descritas de forma isolada. Por ex: autômato celular de Stephen Wolfram é composto por 8 regras simples.

 

Extra: Ainda sobre Wolfram, recomendo esta palestra fantástica sobre o sistema de “computação de tudo” que ele fez. É um projeto muito ambicioso que pretende tornar todo o conhecimento do mundo computável. Este aqui.

Pra quem nunca ouviu falar sobre ele, foi o criador do famoso software Mathematica, e se tornou doutor em física teórica aos 20 anos de idade, ou seja, vale a pena ouvir o que ele tem a dizer…

 

-O sistema deve permitir comunicação de longa distância. Mudança do estado de uma simples parte deve causar mudanças em partes distintas no espaço ou tempo. Comunicação de longa distância é o que permite o “efeito borboleta”. No autônomo de Wolfram, cada célula influencia seus vizinhos, e isso dá uma reação em cadeia, está tudo conectado.

O nível de atividade de uma célula é um bom indicativo da complexidade do comportamento do sistema. Se no sistema há somente poucas células ativas, comportamento complexo interessante dificilmente irá emergir. Atividade = troca de estado da célula.

Algumas destas qualidades podem ser lidas das regras que governam cada comportamento das células. O fato que cada célula pega input dela mesma e de dois vizinhos indica que há uma boa chance de comunicação de longo alcance. Quatro das 8 regras fazem a célula trocar de estado, indicando que provavelmente irá ocorrer uma grande quantidade de atividade no sistema.

 

Cellular automata nos mostra que a amplitude para complexidade é surpreendente baixa. Regras relativamente simples podem gerar comportamento complexo, contanto que haja partes suficientes, atividade e conexões. Em jogos, o jogador é uma parte importante de atividade no sistema, mas como o autônomo celular mostra, emergência pode surgir mesmo sem input humano.

 

 

Feedback loops podem estabilizar ou desestabilizar um sistema

Ecossistemas são um exemplo clássico de sistemas complexos. Eles tendam a ser muito bem equilibrados: várias populações de animais dentro de um ecossistema não mudam muito através do tempo. A natureza parece incluir vários mecanismos para manter este balanço. Isto é melhor explicado observando as populações de predador e caça.

Quando há muita caça, os predadores irão encontrar comida mais facilmente, fazendo a quantidade de predadores aumentar. Entretanto, quanto mais predadores surgir, a população de caça diminui. Em um certo ponto, haverá muitos predadores, e a situação reverte: eles não irão achar comida suficiente, e sua população irá diminuir. Quando há menos predadores, mais caça irá sobreviver e se reproduzir, crescendo sua população e continuando o ciclo.ecossistema-aquatico-11

Este balanço entre predador e caça em um ecossistema é atribuído ao que é chamado de feedback loop. É criado quando os efeitos de uma mudança em uma parte do sistema (número de predadores) volta e afeta a mesma parte em um momento posterior no tempo. Neste caso um aumento do numero de predadores irá causar diminuição da caça, que por sua vez irá causar uma diminuição de predadores em seguida. Os efeitos de uma mudança no tamanho da população de predador está literalmente alimentando de volta (feed back) o tamanho da mesma população.

 

Feedback loops que trabalham para manter um balanço dentro do sistema são chamados negativos. São geralmente usados na criação de equipamentos elétricos. Ex: termostato em um aquecedor – detecta a temperatura do ar, se está muito baixo, liga o aquecedor – que irá fazer a temperatura subir – e depois desliga se estiver quente demais, mantendo a temperatura estabilizada.

Feedback loop negativo é usado frequentemente em jogos. Ex: Civilization – a população de uma cidade conforme cresce precisa de mais comida. Isto força a cidade a crescer em tamanho estável que é suportado pelo terreno e o nível de tecnologia atual do jogador.

 

O tipo oposto é o feedback loop positivo. Em vez de criar um balanço agindo contra as mudanças no sistema, um feedback loop positivo irá fortalecer os efeitos. Por exemplo, imagine um jogo de futebol que quando um time faz gol, a equipe que levou o gol perde um jogador. Com isso é mais provável que quem está ganhando continue ganhando, o que não é nada justo neste exemplo. Isso pode ser usado para acelerar uma partida que levaria muito tempo para acabar. Lembram do vôlei quando tinha a regra da vantagem? Era mais justo pois dava mais chance para a outra equipe recuperar a bola, mas demorava demais. Agora quem faz um ponto continua sacando e não há vantagem, acelerando a definição do jogo.

Áudio feedback é outro bom exemplo: microfone captura um som, um amplificador amplifica ele, as caixas de som reproduzem o som original mais alto. O microfone então pega o novo som das caixas, que é amplificado de novo, e assim por diante. Isso resulta em um assobio agudo que é interrompido somente ao mover o microfone para longe das caixas de som.

Feedback positivo também é comum em outros jogos. Ex: se você pega uma peça do seu oponente no xadrez, fica mais fácil pegar outra porque agora você tem mais peças em jogo.

Na maioria dos jogos de emergência, vários feedback loops diferentes operam ao mesmo tempo.

 

Resumindo: em sistemas complexos feedback loops podem existir. Negativo trabalha para manter o sistema em balanço, enquanto positivo pode desestabilizar o sistema.

Obs: não confunda “feedback loop” com somente “feedback” (sobre este último já escrevi aqui)

 

Padrões de comportamento diferentes emergem em escalas diferentes

No cellular automata de John Conway – Game of Life – há somente 4 regras para cada célula, e mesmo assim podem ser observados comportamentos complexos, em grupos que se movimentam no grid.

puffertr[3]

Assim como o comportamento de um bando de pássaros, que se movimentam como um grande grupo, com um formato, objetivo, direção, definidos.

 

Em jogos podemos ver efeitos semelhantes. Em Pac-Man os fantasmas parecem criar uma estratégia para caçar o jogador, mas na verdade eles não colaboram entre si, e seu comportamento coletivo parece ser mais esperto do que realmente é. Os fantasmas são simples e seguem regras simples. O jogo alterna entre dois estados: espalhar e perseguir. No estado espalhar os fantasmas não procuram o jogador, mas cada um procura um canto diferente do labirinto. Entretanto na maior parte do tempo o jogo está no modo perseguir, quando seguem o jogador. Para isso cada fantasma toma uma decisão a cada esquina do labirinto. O algoritmo usado escolhe a direção que o aproxima do jogador. Cada fantasma tem um comportamento diferente. O vermelho tenta ir para a posição atual do jogador, o rosa tenta ir para uma posição a frente do jogador, o azul combina a posição do jogador com a posição do vermelho para determinar onde ir, o laranja persegue o jogador quando ele está longe mas tenta ir para a posição inferior esquerda quando está perto. Combinados, os efeitos dos movimentos parecem ser inteligentes, demonstram ser um grupo de eficientes caçadores, mas eles só tem estratégias complementares.

 

Categorias de emergência (do paper “Types and Forms of Emergence” de Jochen Fromm)

 

*Emergência intencional: a mais simples, quando não há feedback entre os elementos do sistema ou somente ente agentes do mesmo nível de organização. Ex: a maioria das ferramentas feitas pelo homem, onde a função da máquina é uma propriedade emergente intencional (criada) dos seus componentes. É um comportamento determinístico e previsível mas falta flexibilidade. Ex: um termostato.

 

*Emergência fraca: quando há feedback de cima para baixo entre diferentes níveis dentro do sistema. Um grupo de pássaros voando é um exemplo desde tipo de comportamento. Um pássaro reage ao pássaros vizinhos (feedback entre agentes) e ao mesmo tempo percebe todos como um grupo (feedback entre grupo-para-agente). O grupo inteiro é uma diferente escala dos pássaros individuais. Um pássaro percebe e reage a ambos. Cardumes de peixes também se comportam de forma similar.

 

*Emergência múltipla: nestes casos múltiplos feedback transpassam diferentes níveis da organização. Por exemplo emergência interessante que pode ser encontrada em sistemas com feedback positivo a curto prazo e feedback negativo a longo prazo. O mercado de ações é um sistema que exibe este comportamento. Quando a ação vai sendo valorizada, as pessoas notam e compram mais, aumentando ainda mais o preço (feedback positivo a curto prazo). As pessoas sabem que em algum momento a elevação do preço irá estagnar, e planejam vender quando chegar neste ponto, então puxando o preço para baixo (feedback negativo a longo prazo). Isto também pode funcionar ao contrário.

 

*Emergência forte: a vida como propriedade emergente do sistema genético e a cultura emergindo da linguagem e escrita. Quando há grande diferença entre as escalas em que a emergência opera e há existência de escalas intermediárias dentro do sistema.

 

Estas categorias sugerem que em jogos diferentes níveis de comportamento emergente também existe, muitas vezes ao mesmo tempo. Mostra que características estruturais das mecânicas do jogo (como feedback loop e a existência de escalas diferentes) contribuem de forma vital na emergência de comportamentos complexos e interessantes.

 

Emergência em jogos

Jogos são sistemas complexos que podem produzir resultados imprevisíveis mas devem entregar uma experiência natural e bem montada ao usuário. Para conseguir isso, os designers precisam entender a natureza do comportamento emergente em geral e do seu jogo em particular.

Nós devemos considerar as várias partes ativas e interconectadas, feedback loops, e diferentes escalas como qualidades estruturais do jogo como um sistema. Nos jogos estas estruturas tem um papel vital na criação de gameplay emergente. Estudar estas mecânicas de jogo irá revelar estas e outras estruturas em maior detalhe. O resto deste livro é dedicado a este estudo.

Estes elementos estruturais são os pontos iniciais que levaram a construção do framework teórico chamado Machinations que lida com emergência em jogos.

O Machinations pode ser usado para visualizar mecânicas de jogos e como qualidades estruturais das mecânicas podem ser lidas destas visualizações.

 

Capítulo 4 – Economia interna

 

Economia é um sistema em que recursos são produzidos, consumidos, e trocados em quantidades definidas. A economia interna em jogos pode incluir todos os tipos de recursos que não fazem parte de uma economia na vida real, por exemplo: vida, XP, habilidade. Em Doom pode não haver dinheiro, mas há armas, munição, vida, pontos de armadura. Em Mario Galaxy você coleta estrelas e power-ups para ter vida extra e evoluir no jogo. Praticamente todos os gêneros de jogos têm uma economia interna.

 

Para entender o gameplay de um jogo, é essencial entender sua economia, algumas são pequenas e simples, mas sempre é uma tarefa importante de design.

 

Exemplos de economia interna em vários tipos de jogos:

  • Ação – power-up, colecionáveis, pontos e vidas;
  • Estratégia – construção de unidades, mineração de recursos, upgrades, arriscar unidades em combate;
  • RPG – equipamento e XP para customizar um personagem;
  • Esportes – gerenciar time;
  • Simulação de veículos (corrida) – Ajustes de todos os atributos das peças do carro (tuning);
  • Adventure – administrar o inventário do jogador.

 

Elementos de uma economia interna

*Recursos

Qualquer economia é sobre o fluxo de recursos, como dinheiro, energia, tempo, unidades que o jogador controla, itens, power-ups, inimigos, ou qualquer outra coisa.

Qualquer elemento que o jogador produza, coleta ou destrói é provavelmente recurso de algum tipo, mas nem todos recursos então no controle do jogador.

*Entidades

O local onde são armazenados recursos (em programação seria uma variável).

Por exemplo uma entidade chamada relógio poderia guardar o recurso tempo – talvez os segundos que faltam para acabar o jogo.

 

Quatro mecânicas clássicas encontradas em economias – fonte, dreno, conversor, trocador:

*Fonte – cria novos recursos do zero. Em algum momento, em certas condições, uma fonte cria um novo recurso e armazena em alguma entidade. Fontes podem ser acionadas por eventos no jogo ou podem operar de forma contínua, produzindo recursos em uma certa frequência. Também podem ser ligados ou desligados. Ex: RTS – mina de gás gera unidades de gás a cada X tempo.

*Dreno – contrário da fonte. Ex: em um FPS, munição é descartada quando atira com as armas.

*Conversores – transformar um tipo de recurso em outro. Ex: RTS gasta X quantidade de minério para criar uma nova unidade de batalha.

*Trocador – troca um recurso por outro, ou seja, move um recurso de uma entidade para outra, e vice-versa. Ex: dois jogadores trocam de itens em um MMO, ou faz uma venda, o dinheiro vai para um, o item comprado vai para outro.

 

Formas/tipos de economias

Nesta parte o livro mostra vários gráficos de como recursos flutuam com o passar do tempo, como o valor de ações flutuam no mercado, preços em lojas, etc.

E volta a lembrar a importância dos feedback loops nestes casos: negativo tende ao equilíbrio / positivo cria uma corrida, uma curva exponencial.

 

Importante considerar os investimentos de longo prazo vs curto prazo. Ex: em um RTS posso gastar criando mais unidades mineradoras, que a longo prazo irá compensar o valor investido pois conseguirei mais dinheiro com a mineração mais rápida.

 

É possível usar a economia interna para adicionar estratégia ao gameplay, ex: a quantidade limitada de areia do Prince of Persia – Sands of Time, que permitia voltar no tempo.

O uso de uma economia interna pode gerar grandes espaços de possibilidades para o gameplay.

 

E agora o coração do livro, o elemento que o torna exclusivo, o maior motivo de eu ter lido ele – Machinations Framework…

… CONTINUA …