- As builds de Mario Kart 8 variam de desempenho conforme a combinação de piloto, carroceria, pneus e asa-delta, o que torna difícil escolher a build ideal entre tantas opções
- Considerando apenas velocidade, Bowser ou Wario parecem boas escolhas, mas na prática a escolha para corrida se aproxima mais de uma otimização multiobjetivo que considera velocidade e aceleração juntas
- Opções como Koopa, que são mais lentas com a mesma aceleração ou têm menos aceleração com a mesma velocidade, podem ser filtradas como opções dominadas
- As opções restantes formam a fronteira de Pareto, mas qual delas é a melhor depende do estilo de jogo e dos pesos atribuídos às estatísticas
- Quando as preferências são incertas, a fronteira de Pareto não fornece uma única resposta correta; em vez disso, reduz o espaço de experimentação ao eliminar combinações claramente inferiores
Reduzindo builds de Mario Kart 8 com a fronteira de Pareto
- Uma build de Mario Kart 8 é composta por quatro elementos: piloto, carroceria, pneus e asa-delta, e cada elemento possui estatísticas de desempenho como velocidade e aceleração
- Há dezenas de opções em cada elemento e, embora algumas diferenciem-se apenas no estilo com as mesmas estatísticas, mesmo excluindo duplicatas ainda restam milhares de combinações
- Se você considerar apenas uma estatística, a escolha fica simples
- Por exemplo, se ordenar os pilotos apenas por velocidade, Bowser ou Wario parecem escolhas naturais
- Ao considerar velocidade e aceleração juntas, cada opção passa a ter vantagens e desvantagens, e fica difícil definir a melhor apenas com um ranking simples
- Se uma opção é igual ou pior do que outra em todas as estatísticas consideradas, ela se torna uma opção dominada
- No exemplo, Koopa tem velocidade menor que Cat Peach com a mesma aceleração, e aceleração menor que Toadette com a mesma velocidade
- Essas opções podem ser removidas da lista de candidatas quando o objetivo é vencer
- As opções eficientes que não são dominadas formam a fronteira de Pareto ou Pareto frontier
- A eficiência de Pareto é um critério para filtrar opções objetivamente inferiores, mas isso não significa que todas as opções na fronteira sejam igualmente boas
- Se você quiser um equilíbrio entre velocidade e aceleração, pode evitar pilotos nos extremos da fronteira
- A escolha final depende do estilo de jogo, da habilidade e de quanto peso você dá a cada estatística
Trade-offs que se repetem fora de Mario Kart
- A mesma estrutura de trade-off aparece com frequência fora dos jogos
- uma refeição barata e saborosa
- um trabalho bem remunerado, fácil e satisfatório
- um portfólio de baixo risco e alto retorno
- um material flexível, resistente e fácil de produzir
- uma tributação justa que preserve a eficiência
- um LLM rápido, de alta qualidade e com boa eficiência de custo
- Se você souber os pesos exatos atribuídos a cada dimensão, isto é, a função de utilidade, poderá combinar várias dimensões em um único valor e transformar o problema em uma otimização de objetivo único
- Quando a função de utilidade é desconhecida ou incerta, a fronteira de Pareto é útil para eliminar opções claramente ineficientes
- A fronteira de Pareto não indica, desde o início, uma única melhor escolha; é preciso testar diretamente as opções eficientes restantes e escolher a que melhor combina com você
Hipóteses simplificadas e fontes de dados
- Há hipóteses simplificadas que diferem dos cálculos internos reais do jogo
- As estatísticas são convertidas em estatísticas derivadas dentro do jogo e nem sempre têm relação linear com as estatísticas básicas
- Nos equipamentos, exceto no piloto, existem 4 estatísticas de velocidade e 4 de dirigibilidade, mas o texto usa uma média simples dessas medidas
- A forma específica da função de utilidade fica oculta e pode ter papel importante na escolha real
- Os dados foram baseados em Mario Kart 8 Deluxe in-game statistics e Mario Kart and the Pareto Frontier
1 comentários
Comentários do Hacker News
Esta visualização/texto mostra bem um problema de design de games que eu pessoalmente detesto hoje em dia: opções por opções.
Parece que designers caem na armadilha de dar valor demais a frases como “mais de 700 mil builds!”. Eles empurram o peso dessa explosão combinatória para o jogador, e, se essas escolhas não reforçam muito a experiência central do jogo, acabam fazendo a pessoa perder tempo. Isso vale especialmente quando jogadores experientes conseguem eliminar com segurança a maior parte do espaço de escolhas; e, de todo modo, como existe a internet, alguém vai fazer as contas. Não entendo por que esconder o elemento competitivo atrás de um problema de otimização convexa, e é difícil dizer que isso seja por diversão.
As configurações de equipamento em FPS também são um exemplo dessa tendência. Uma única arma passa a ter compensações entre mira, cano, acessório inferior, carregador, munição etc., e antes disso você já precisa escolher classe/arma. Se o núcleo de um FPS é posicionamento tático e mira, essas opções parecem um artifício barato para sugar um pouco mais de tempo de jogo. Franquias como Halo e Battlefield também caíram nessa armadilha e prejudicaram sua reputação.
Ainda é possível ter escolhas que acrescentem ao gameplay central, como a economia de rodadas do Counter-Strike. Se todas as escolhas dadas ao jogador acontecem apenas dentro de menus, isso deveria ser visto como um sinal de alerta. A indústria de design de games deveria dar mais peso a jogabilidade e narrativa do que a estatística/combinatória.
O mais importante é não impor aos outros uma forma de jogar. A menos que perguntem explicitamente, não diga “X é o melhor, então você tem que escolher”; deixe cada um jogar do seu jeito.
No geral, concordo que esse método é um artifício barato e comum demais. Ainda assim, dar “coisas para fazer” ao jogador, como desbloquear conteúdo, tem seu valor. Isso acrescenta à experiência a sensação de “é por isso que eu ainda estou jogando este jogo”.
Todo mundo sabe que existe aquele tipo de pessoa que, ao jogar junto, suga a diversão de todos. Do ponto de vista de quem vende o jogo, isso não é só ruim; é um design burro.
Por outro lado, a quantidade esmagadora de escolhas cria uma camada de especialistas e criadores de builds em que jogadores comuns podem se apoiar. Eu gostaria que o próprio jogo oferecesse mais ferramentas para explorar isso, como um sistema de guias de build dentro do jogo.
Mesmo numa festa, atributos diferentes entre personagens tornam o jogo mais dinâmico e, no fim, mais divertido. O problema é quando alguém passou a semana inteira colocando todos os números no Excel e chega sabendo como vencer todo mundo de forma ótima. Mas onde traçar a linha? Isso é mais injusto do que praticar uma pista a semana inteira?
É preciso aceitar que jogos nem sempre podem ser justos. Esportes também são assim. Se você jogar tênis com alguém que tem experiência em torneios, um jogador casual mal consegue acertar uma bola direito contra um profissional, mesmo dando a ele uma raquete muito pior.
Equilibrar para que casuais e profissionais possam competir nas mesmas condições é muito difícil, e pode acabar transformando o jogo em algo extremamente simples, decidido apenas por rolagens de dados. Pelo menos, se ficar claro se aquilo é um jogo de Excel ou um jogo de reflexos, a coisa se torna um pouco mais justa.
Eu sempre soube que os pneus vermelhos pequenos eram os melhores. Infelizmente, esta análise deixa de lado o que mais importa para mim: estilo e meu amor por Zelda. Então, pessoalmente, vou ter que ignorar tudo.
Vou continuar com o Koopa para manter a justiça :)
Foi uma apresentação realmente impressionante. Eu já conhecia eficiência de Pareto/fronteira de Pareto, mas agora acho que nunca mais vou esquecer, e toda vez vou lembrar de Mario Kart e do pobre Koopa sendo dominado.
Não dá para projetar isso como objetivo; muitas vezes parece artificial e irritante. Mas, de vez em quando, surge algo tão incrível como este caso que dá vontade de dizer: “tudo bem, pode levar meu scroll”.
Discordo sobre o design. Para mim, esta apresentação foi lenta demais, como assistir a um vídeo tentando encontrar uma informação, e me deixou frustrado o tempo todo. Nesse sentido, o formato original de notebook era bem melhor.
O layout dentro de cada seção é bonito, mas as animações e o layout responsivo ao scroll foram mais difíceis de ler do que um conjunto de gráficos estáticos.
O conteúdo foi excelente, e foi interessante ver como as diferenças entre personagens e karts aparecem.
Na prática, isso não torna a compreensão mais fácil nem melhor; parece apenas design em excesso pelo design.
É um bom texto. A fronteira de Pareto resultante mostra bem como design de jogos é difícil. Mesmo que existam milhões de combinações possíveis, só uma fração minúscula será usada de fato em ambientes competitivos
Com certeza também deve existir uma metafronteira de Pareto no equilíbrio entre a utilidade competitiva de cada combinação e a diversão que ela acrescenta ao jogo
Em um jogo suficientemente complexo, pode-se considerar que toda build está na fronteira de Pareto, porque otimiza alguma função de custo específica
Foi dito “um portfólio de baixo risco e alto retorno? [...] claro, se você já souber os pesos exatos”, mas, nesse caso, a estrutura do problema o reduz a uma otimização unidimensional
Na escolha de portfólio, o que se otimiza não é o retorno de um investimento isolado, mas o retorno dos investimentos ao longo da vida. Graças aos juros compostos, isso se torna uma função de risco e retorno. Assim, é possível encontrar a alocação ótima sem nenhum trade-off: https://two-wrongs.com/the-misunderstood-kelly-criterion.htm...
O critério de Kelly proíbe apostas muito lucrativas com risco significativo de ruína. Isso porque, se o patrimônio chegar a 0, você perde oportunidades futuras de juros compostos. Mas, se você é jovem e o portfólio é pequeno em relação à renda, isso é conservador demais
O texto também sugere isso ao dizer que a soma descontada dos salários futuros faz parte da riqueza atual. Está correto e, se você é jovem, é também a variável mais importante por várias ordens de grandeza. Curiosamente, o autor parece entender isso, mas não se importar
Pensar em usar isso como ferramenta de design me deixa animado. Parece útil ao projetar um jogo em que a fronteira de Pareto de builds divertidas e viáveis seja mais ampla
O texto era muito mais interessante do que o título sugeria. Muito bem feito
Análise e visualização realmente incríveis. Mas há uma variável interessante em Mario Kart 8 + 200cc. A maioria dos jogadores não quer velocidade acima de certo nível, porque fica rápido demais e difícil de controlar
Então, em vez de maximizar o atributo de velocidade absoluta, talvez você queira minimizar a diferença em relação ao atributo de velocidade ideal para você
Muitas vezes é melhor ter uma velocidade máxima menor, mas não precisar desacelerar
A aceleração é importante porque, quando você é atingido ou bate — e isso não é uma questão de “se”, mas de “quando” —, precisa recuperar a distância rapidamente
Sinceramente, é uma das visualizações mais impressionantes que já vi. Com que ferramenta será que o autor fez isso?
O Svelte tem um suporte embutido bem decente para animações acionadas por rolagem: https://svelte.dev/repl/051cd352ce284d15b55c91c8b30fa32f?ver...