Como posso garantir que os níveis processuais em um RTS sejam justos?

10

Vi que simetria e coerência são importantes no design de nível do RTS, mas sou preguiçoso e quero fazer níveis gerados proceduralmente.

Como garantir que eu gere um campo de jogo justo ao criar procedimentos para níveis de um RTS?

James Pae
fonte
4
Está gradualmente ficando enterrado com a idade, mas eu recomendo procurar informações sobre como os scripts de geração aleatória de mapas funcionaram nos jogos do Age of Empires. Esses eram arquivos de texto que os jogadores podiam editar descrevendo como gerar mapas de escaramuças de diferentes tipos. Lembro-me de que eles tinham métodos para estabelecer remendos e grupos de terrenos / adereços específicos, para colocar coisas razoavelmente como recursos para garantir a disponibilidade e para abrir caminhos pelo terreno para garantir que os jogadores pudessem se encontrar. Aprender como as receitas funcionaram deve fornecer algumas idéias para você.
DMGregory
2
Você não menciona se o seu RTS é uma pessoa ou multiplayer. Se for uma pessoa, é possível fazer algum equilíbrio de nível alterando o comportamento da IA ​​para combinar com a habilidade do jogador. Em outras palavras, a IA pode ter acesso a mais recursos do que o jogador, mas o jogo ajusta o quão agressivamente usa esses recursos, dependendo de quão agressivo o jogador executa ataques ou explora seus recursos.
Mark Ripley
1
Para adicionar ao que Mark disse, que tipo de equilíbrio você está procurando? O que você está usando os mapas para realizar?
Nicol Bolas

Respostas:

26

Pessoalmente, acho que a simetria no design de níveis é chata, e não acho que seja necessariamente o caso para níveis justos; a simetria é uma maneira de garantir que todos tenham acesso aos mesmos recursos e aos mesmos gargalos em virtude do nível literalmente espelhado para cada jogador de alguma maneira. Eu acho que a parte importante é o acesso (aproximadamente) às mesmas vantagens e desvantagens. Não tanto a simetria em si.

Eu também acho que um jogo equilibrado de forma que todos os lados tenham poder equivalente e tenham oportunidades equivalentes é chato. Obviamente, você não quer um desequilíbrio total desses fatores, mas acho que isso pode criar uma dinâmica de jogo interessante para oferecer a cada lado oportunidades e barreiras ligeiramente diferentes.

Esse é o tipo de contexto de design que estou pensando em enquadrar a resposta real à pergunta:


Se a simetria realmente importa para você, você pode simplesmente gerar proceduralmente um pedaço de nível e espelhar esse nível nos dois eixos. O pedaço que você gera é basicamente um quarto do nível e você o espelha para que cada quadrante seja o mesmo. Por exemplo, um mapa de altura processual com depósitos de recursos dispersos aleatoriamente:

insira a descrição da imagem aqui

Mas como eu disse acima, isso parece chato. Uma abordagem mais interessante pode ser gerar todo o terreno processualmente, mas ao colocar recursos, certifique-se de restringir cada quadrante a ter o mesmo número de cada um (dentro de alguma tolerância para fornecer alguma variabilidade). Você pode influenciar o posicionamento de vários tipos de recursos em várias áreas (aleatoriamente, perto dos pontos de partida, perto das fronteiras) com base na importância dos recursos. Por exemplo:

insira a descrição da imagem aqui

Você pode executar análises na imagem gerada para tentar encontrar arestas de recursos - gargantas estreitas, por exemplo, que podem ser consideradas gargalos. Você pode decidir rolar novamente a geração do terreno para uma parte do mapa se, por exemplo, ele tiver muito mais ou menos gargalos ou recursos de terreno detectáveis ​​da mesma forma que outros. Você também pode fazer análises de terreno semelhantes para garantir que cada recurso colocado seja, de alguma forma, acessível.

Por exemplo, você pode decidir rolar novamente o quadrante inferior esquerdo porque ele tem muita água (em vermelho) ou os quadrantes que contêm o verde porque eles são taticamente vantajosos (possíveis gargalos do canyon):

insira a descrição da imagem aqui

Você também pode optar por orientar manualmente sua geração de recursos; você pode colocar manualmente certos elementos, como um rio, dividindo as seções do nível ou os principais depósitos de recursos, e executar a geração do procedimento posteriormente, de modo a preservar os recursos de balanceamento de chaves colocados à mão e ainda fornecer a variedade interessante e orgânica que você deseja de geração processual.

Por exemplo, um terreno gerado que preserva um rio colocado manualmente, dividindo o mapa ao meio e coberto de floresta, ofereceu uma defesa extra em torno das bases:

insira a descrição da imagem aqui


fonte
2
Obrigado, isso funcionará bem com meu sistema de chunk. As pessoas parecem confusas com a minha declaração "mas sou preguiçosa". Não sou artista, e acho a geração de ruído e malha mais interessante.
James Pae
2
@JamesPae: "Não sou artista " O design de nível não é sobre arte . É sobre jogabilidade. Então a pergunta é: você gosta de criar jogos?
Nicol Bolas
8
@JamesPae se você não conseguir criar um nível divertido, será muito difícil tornar divertido o seu nível gerado processualmente. Eu sugiro que você artesanato um nível pelo menos uma para que você possa aprender o que vai ser divertido antes de escrever o seu gerador
Evorlor
2
@Evorlor, ele está dizendo que não gosta, não que ele não possa fazer isso. Por que todo mundo está ignorando esse ponto o tempo todo?
Davor
5
Por que todos encaram tudo tão literalmente? Ele estava claramente fazendo uma piada com essa afirmação. Entendo o ponto de vista do OP, sim, eles poderiam criar alguns níveis manualmente, mas você ainda tem apenas quantos níveis criou. Se você gastar o mesmo esforço criando um bom gerador de nível, terá níveis potencialmente infinitos para usar. As pessoas têm mentalidades e opiniões diferentes. Alguns podem gostar de criar grandes níveis manualmente, outros podem realmente gostar de criar um ótimo gerador de níveis.
JamEngulfer
7

Em alguns casos, pode ser possível confiar nos próprios jogadores para construir mapas assimétricos equilibrados usando a mecânica de manipulação de blocos.

Em uma extremidade do espectro, você pode permitir que os jogadores criem o mapa, parcial ou totalmente, selecionando e posicionando blocos do mapa. Há várias maneiras diferentes de ajustar isso:

  • jogadores selecionam de um baralho comum de peças
  • camadas selecionam de um baralho pessoal de ladrilhos
  • as peças são selecionadas através de uma fase de desenho
  • algumas peças podem ser corrigidas antecipadamente via cenário (ou seja, sempre gera um rio em ponte no meio do mapa)
  • jogadores compram peças de um mercado central com algum recurso
  • jogadores podem ou não ter permissão para manter uma mão de peças

No outro extremo do espectro de manipulação de blocos, está permitindo aos jogadores manipular blocos de mapas. Nesta solução, o jogo começa com um mapa inicial. O mapa inicial pode ser simétrico ou pode ser 'justo o suficiente' usando qualquer uma das outras respostas.

Em seguida, ocorre uma fase de manipulação de mapas, na qual os jogadores podem executar algumas das seguintes ações:

  • girar um azulejo
  • trocar peças (adjacentes ou não)
  • espelhar um azulejo
  • empurre uma linha ou coluna de ladrilhos (ladrilhos que cairiam da borda)

Essas manipulações podem ser executadas uma de cada vez; nesse caso, um jogador terá a chance de reagir às manipulações de outros jogadores, ou o jogador pode enfileirar-se em uma lista de alterações que são executadas. Além disso, você pode permitir aos jogadores manipular o mapa inteiro ou restringir as coisas às áreas de partida.

Uma desvantagem dessa abordagem é que o resultado final precisa ser protegido contra resultados indesejáveis ​​- isto é, manipular uma cadeia de montanhas intransitável, de modo que parte do mapa se torne inacessível. As soluções possíveis para essa desvantagem são:

  • verificação de possíveis movimentos e proibições que levam a resultados ilegais
  • permitindo todos os movimentos, mas desfazendo qualquer coisa que seja ilegal
  • construindo os ladrilhos para que nenhum movimento seja ilegal
  • projetar outras mecânicas de jogo (ou seja, movimento) de modo que nenhum movimento seja ilegal
Pikalek
fonte
2

Faça com que seu algoritmo de geração de mapas gere níveis simétricos, gerando um nível, espelhando-o e colocando cada jogador de um lado. Um mapa de quatro jogadores pode ser criado espelhando-o nos eixos xe y.

Dessa forma, o mapa será igualmente bom (ou ruim) para todos os jogadores. Um efeito colateral do qual você precisa estar ciente é que isso significa que os jogadores estão cientes das posições dos outros jogadores e do layout das outras partes do mapa depois de explorarem os seus.

Outra opção é gerar um mapa sem esse truque de simetria, mas depois mostrar o mapa inteiro aos jogadores e fazer com que cada jogador escolha seu local de partida livremente.

Philipp
fonte
1

Uma abordagem é usar outros fatores para equilibrar o mapa. Você pode automatizar isso usando alguns algoritmos de análise de mapa e fornecendo recursos extras para locais considerados desfavorecidos. Como alternativa, você pode usar os próprios jogadores para esta etapa. Um exemplo atual disso é o uso de leilão reverso no modo de revelação na Offworld Trading Company (OTC) para fundar sua reivindicação inicial (por exemplo, escolher um local base inicial):

Com o passar do tempo, a dívida inicial para a fundação precoce diminui. Isso acabará se transformando em dinheiro inicial, se levar um tempo suficiente para os 2 últimos jogadores serem encontrados. Uma vez que resta apenas um jogador que não tenha fundado seu QG, os valores param de mudar e esse jogador não ganha mais por esperar para encontrar.

Não me lembro se foi a entrevista da 3 Moves Ahead ou da Mesa Redonda de Design de Jogos , mas em uma delas, Soren Johnson (o desenvolvedor) diz que essa mecânica muda essencialmente o problema do mapa de "posso encontrar a melhor localização primeiro" para " quão boa é a segunda melhor localização no mapa ".

Um benefício é que essa solução permite mapas altamente assimétricos. Uma desvantagem é que o mapa inteiro é revelado a todos os jogadores, pelo menos no começo. A abordagem OTC também revela a localização da base de jogadores. Outros mecânicos, como lances às cegas, podem evitar revelar locais de base.

Pikalek
fonte