Algum design de videogame usou números aleatórios não uniformes de maneiras interessantes?

30

Vários videogames usam números distribuídos uniformemente para decidir o resultado de um evento, como "50% de chance de acertar" quase sempre significa verificar se um número de ponto flutuante aleatório de 0-1 é maior que 0,5. Muitos jogos colocam algumas dessas porcentagens uniformes umas sobre as outras, por exemplo, uma lista de resultados de D&D é um número uniformemente distribuído de 1 a 20, exceto que 1 e 20 têm resultados especiais. Na minha opinião, parece que coisas como hits críticos foram adicionados pelos designers para tentar imitar o fato de que, na realidade, bater / errar ou ganhar / perder não é realmente um resultado binário.

Em muitos casos, a quantidade real de "dano" causado por um ataque provavelmente estaria mais próxima de uma distribuição da curva gaussiana / sino, o que resulta em muitos detalhes no meio, mas ocasionalmente muito excitante e suave e estranha que os liga. Jogos de dados como Settlers of Catan simulam distribuições gaussianas adicionando vários rolos independentes, mas sinto que quase nunca vi esse mecânico em videogames.

Parece que jogos como Civilization (Sid Meier falou extensivamente na GDC sobre a percepção do jogador que não corresponde à matemática real usada no jogo) se beneficiariam de resultados que correspondiam à maneira como as coisas funcionam no mundo real. Algum videogame usou uma distribuição gaussiana ou não uniforme de números aleatórios de maneiras interessantes?

Ben Zeigler
fonte
1
lol @ exemplo Civ. O que um arqueiro batendo em um tanque não é divertido? Haha! Suponho que depende se você é o único com o arqueiro. :-)
paulecoyote
Não consigo encontrar o link no momento, mas a essência era que os jogadores estavam muito chateados quando uma "chance de 70% de ganhar", como mostrado na interface do usuário, levou a uma perda ocasional. Ele culpou o fato de que os humanos são ruins em probabilidade, mas eu culpo o fato de que "70% de chance de vencer" nem sequer faz sentido em um mundo de resultados analógicos para batalhas.
precisa
Na verdade, acho que o problema foi que a probabilidade foi calculada incorretamente, pois era apenas uma previsão heurística. Você teria 90% do previsto quando sua chance era de 98% ou algo parecido com esse efeito. A propósito, o DnD também usa números não uniformes - danos e HP são múltiplos lançamentos de dados.
Superbest

Respostas:

22

Os atiradores costumam usar a distribuição aleatória gaussiana para precisão das armas. (Se você usa números aleatórios lineares e possui decalques com marcadores, é muito fácil para um jogador ver que a distribuição de precisão é quadrada, o que "parece errado".)

Um método interessante de seleção aleatória que você não menciona, mas que aparece com bastante frequência nos jogos, é "aleatório sem substituição". Isso é análogo a desenhar cartas de um baralho; o jogo corre em ordem aleatória, através de um conjunto de resultados possíveis (juntos com a distribuição desejada) e depois "reorganiza". Isso é feito para reduzir a chance de listras de sorte ou azar.

Charlie
fonte
7
O conceito no seu segundo parágrafo também é conhecido como "Shuffle Bag".
Tetrad
2
Também é comum que os atiradores escolham aleatoriamente um ponto em um círculo (ou seja, ângulo e raio) para acertar balas. Isso também elimina o quadrado e garante que mais balas cheguem perto do centro do que não.
Sean James
9

Eu uso bastante as distribuições de Poisson - principalmente ao tentar calcular o número de vezes que um evento aleatório deve ocorrer dentro de um período de tempo.

Isso tem a propriedade legal de que a distribuição de eventos se você tiver dois timestados de 1 segundo é igual a um timestado de 2 segundos, excelente para simulações com etapas de tempo de duração variável.

Mikera
fonte
8

Algo que eu fiz no passado e que o World of Warcraft atualmente faz é aumentar a chance de um evento aleatório com base no número de tentativas desde o último evento bem-sucedido. Por exemplo, um item de missão pode ter uma taxa de queda de 20% na primeira morte de NPC, 22% no segundo, 25% no terceiro, redefinindo para 20% quando ele cair. Eu implementei uma árvore tecnológica em que a chance de descobrir uma tecnologia aumentava a cada turno até atingir 99,9% de chance de ocorrer.

Doug-W
fonte
7

Encontros aleatórios em RPG-s geralmente não são uniformes.

Set X to a random integer between 64 and 255.
For each step in plains, decrement X by 4. 
For each step in forest, swamp, or desert, decrement X by 8.
When X < 0, a fight ensues. Go to step 1.

Isso torna os encontros mais realistas, porque animais / árvores etc. gostam de ter algum espaço entre eles.

Egon
fonte
Eu realmente nunca pensei sobre isso, mas essa é uma abordagem bastante eficiente para muitas randomizações de contagem regressiva.
Kzqai
2

Eu já vi hits críticos em alguns RPGs de ação antes, mas geralmente para jogos baseados em ação, os números são intencionalmente simples por um motivo: o jogador está ocupado correndo, pulando, se esquivando e atirando, e realmente não tem tempo para fazer cálculos de probabilidade em suas cabeças.

Portanto, é mais provável que você veja números não uniformes em coisas como jogos de estratégia baseados em turnos. Um exemplo típico são os jogos "desonestos" (Nethack, Angband) que apresentam danos não uniformes às armas - uma arma pode causar dano 3d5 por exemplo, e outra causa 4d4, e o jogo informa esses números e depende de você decide qual é o melhor (considerando outras variáveis, como peso da arma, proficiência de caráter etc.)

Ian Schreiber
fonte
mesmo Warcraft dano à base de dados 3 utilizações, a maior parte dos danos no editor cenário utilizar a fórmula "X + YdZ"
Henk
2

League of Legends tem um herói chamado Gangplank com um ataque que costumava ter uma distribuição bastante uniforme, que eles mudaram para um gaussiano. Há uma área de efeito circular onde vários hits podem ocorrer e eles decidiram fazer com que ele se agrupasse em direção ao centro.

lathomas64
fonte