Den beste Mario Kart-karakteren i henhold til data science

Av Henry Hinnefeld

Mario Kart var en grunnleggende rolle i barndommen - vennene mine og jeg tilbragte timer etter skoletid som Mario, Luigi og andre figurer fra Nintendo-universet som løp rundt tegneserieformede spor og lobbet pixelerte bananer på hverandre. En ting som alltid irriterte vår lille gruppe av vinnende speedstere var spørsmålet om hvilken karakter som var best. Noen mennesker sverget av zippy Yoshi, andre hevdet at store, tunge Bowser var det beste alternativet. Da var det bare åtte alternativer å velge mellom; spol frem til den nåværende iterasjonen av Mario Kart-franchisen, og spørsmålet er enda mer komplisert fordi du kan velge forskjellige kart og dekk som passer til din karakter. Mario Kart-refleksene mine er ikke slik de pleide å være, men jeg er bedre på datavitenskap enn jeg var som fjerde klasse, så i dette innlegget skal jeg bruke data for å endelig svare på spørsmålet “Hvem er den beste karakteren i Mario Kart?”

Pareto-effektivitet

Dette er et vanskelig spørsmål fordi det er mange potensielle karakter- / kart- / dekkkonfigurasjoner nå, og de har alle varierende statistikk på tvers av en rekke attributter. Generelt er det ikke mulig å optimalisere på tvers av flere dimensjoner samtidig, men noen oppsett er unektelig dårligere enn andre. Spørsmålet til en håpefull Mario Kart-mester for tiden er "Hvordan kan jeg velge en karakter / kart / dekkkombinasjon som på en eller annen måte er optimal, selv om det ikke er et 'beste' alternativ?" For å svare på dette spørsmålet, snur vi oss til et av Marios landsmenn, det nittende århundre italienske økonomen Vilfredo Pareto som introduserte konseptet Pareto effektivitet og den tilhørende Pareto-grensen.

Pareto-effektiviteten gjelder situasjoner der det er en begrenset ressurspool og flere konkurrerende utfall som er avhengig av hvordan ressursene fordeles. "Pareto-effektive" tildelinger er de der det er umulig å forbedre ett resultat uten å forverre et annet resultat. Dette blir lettere forklart med et bilde (med tillatelse fra Wikipedia).

Hver sirkel er en potensiell ressursfordeling, som i vårt tilfelle betyr en fordeling av statlige poeng over de forskjellige attributtene som vekt, håndtering og trekkraft (tegn i Mario Kart har omtrent det samme antallet totale statlige poeng, og avviker bare i deres distribusjon ). Posisjonen til hver sirkel representerer resultatet av tildelingen på to konkurrerende dimensjoner, for eksempel hastighet og akselerasjon. Tildelingene med rødt ligger på Pareto-grensen: for hver av disse bevilgningene krever en forbedring av det ene resultatet en nedgang i det andre. Tildelinger i grått er ikke effektive for Pareto, fordi du kan forbedre begge resultatene med en annen ressursfordeling. Hastighet og akselerasjon er vanligvis de to viktigste attributtene i Mario Kart, så målet med denne analysen er å identifisere karakter / kart / dekkkonfigurasjoner som ligger på Pareto-grensen for hastighet og akselerasjon.

Utforskende dataanalyse

Vi starter med å undersøke statistikken for hvert tegn, kart og dekk uavhengig av noen fan-kompilert data. Et spesielt særeie av Mario Kart er at selv om det er et par dusin tegn, har mange av dem identisk statistikk. Herfra og ut vil jeg henvise til karakteren (eller kart eller dekk) klassen med navnet til et av medlemmene. I for eksempel varmekartet under raden merket ‘Peach’ beskriver også statistikken for Daisy og Yoshi. De fullstendige klassemedlemskapene er oppført på slutten av innlegget i tilfelle du vil se hvor favorittkarakteren din lander.

Det er syv klasser med karakterer. La oss se på hvordan statistikken deres sammenlignes.

Den mest åpenbare trenden er avveiningen mellom hastighet og akselerasjon: tunge karakterer har god fart, men dårlig akselerasjon, mens lette karakterer har snappy akselerasjon, men lav toppfart. Det er variasjoner i den andre statistikken også, men i stor grad dominerer hastigheten og akselerasjonen ytelsen til et bestemt oppsett, så vi ignorerer resten av statistikken.

Karts og dekk endrer basestatistikken for karakterene: attributtene til den endelige konfigurasjonen er en sum av karakterens statistikk og kart / dekkmodifisererne. Som med tegn, er det dusinvis av karts og dekk, men bare noen få kategorier med ulik statistikk.

Trendene her er mindre åpenbare, men de er generelt enige i det vi så i karakterstatistikken: forbedringer i hastighet kommer på bekostning av akselerasjon, og omvendt.

Målet vårt er å finne alle konfigurasjonene som har en optimal kombinasjon av hastighet og akselerasjon, så neste trinn er å beregne statistikken for hver unike (karakter, kart, dekk) kombinasjon.

Finne de optimale konfigurasjonene

Med litt Python kan vi oppregne alle karakter / kart / dekkkombinasjoner og beregne attributtene deres ved å legge opp verdiene i figurene over. Utstyrt med statistikken for hver mulig kombinasjon, kan vi plotte hastigheten kontra akselerasjonen av hvert mulig oppsett, og identifisere de som ligger på Pareto-grensen.

I henhold til diagrammet ovenfor utgjør de optimale konfigurasjonene en ganske liten delmengde av de totale mulige oppsettene. Vi kan tallfeste dette ved å telle alle de forskjellige kombinasjonene (merk at noen kombinasjoner overlapper hverandre i figuren). Bare for moro skyld, la oss også telle opp de mulige kombinasjonene, inkludert alle tegn, karts og dekk med identisk statistikk.

Mulige kombinasjoner: 149760
Unike statskombinasjoner: 294
Optimale kombinasjoner: 15

De optimale konfigurasjonene utgjør bare 5% av de potensielle unike statskonfigurasjonene! La oss se på hvordan disse optimale konfigurasjonene ser ut.

Med mindre du går all-in på akselerasjon, ser det ut som en tung karakter er veien å gå; de to tyngste karakterklassene (Wario og Donkey Kong) står for 11/15 av de Pareto-optimale konfigurasjonene.

Vi kan også se på den andre hovedstatistikken for hver av disse konfigurasjonene.

Så der er det, hvis hastighet og akselerasjon er hovedproblemene dine, så er en av disse 15 konfigurasjonene det beste alternativet.

Utforske alle konfigurasjonene

Noen ganger er ikke en optimal konfigurasjon det du leter etter (si fordi romkameraten din truet med å slutte å spille hvis det ikke var et slags handikap, for å velge et tilfeldig eksempel). I så fall kan vi utforske alle mulige konfigurasjoner med en rask interaktiv grafikk.

Noen få observasjoner:

  • Tunge karakterer er mer allsidige enn lette karakterer. Mens Warios mulige konfigurasjoner kan oppnå omtrent 77% av maks akselerasjon, kan Baby Mario bare få opptil 50% av maks hastighet.
  • Metal Mario / Pink Gold Peach er de eneste karakterene som ikke har noen konfigurasjoner på Pareto-grensen.
  • Badwagon er virkelig dårlig. Nesten hver konfigurasjon på ‘anti-Pareto-grensen’ (dvs. de verste mulige kombinasjonene) involverer kart fra Badwagon-klassen.

Hvis du ønsker å se koden bak denne analysen, kan du finne den her. Og til slutt, i tilfelle du har et bestemt tilknytning til en av karakterene (eller kartene / dekkene), kan du slå opp hvilken klasse han / hun / det tilhører nedenfor.

Karakterklasser
*****************
- Baby Mario, Baby Luigi, Baby Peach, Baby Daisy, Baby Rosalina, Lemmy Koopa, Mii Light
- Toad, Shy Guy, Koopa Troopa, Lakitu, Wendy Koopa, Larry Koopa, Toadette
- Fersken, Daisy, Yoshi
- Mario, Luigi, Iggy Koopa, Ludwig Koopa, Mii Medium
- Donkey Kong, Waluigi, Rosalina, Roy Koopa
- Metal Mario, rosa gull fersken
- Wario, Bowser, Morton Koopa, Mii Heavy

Kroppsklasser
*****************
- Standard Kart, Prancer, Cat Cruiser, Sneeker, The Duke, Teddy Buggy
- Gold Standard, Mach 8, Circuit Special, Sports Coupe
- Badwagon, TriSpeeder, Steel Driver, Standard ATV
- Biddybuggy, Landship, Mr. Scooty
- Rørramme, Standard Bike, Flame Ride, Varmit, Wild Wiggler
- Sportssykkel, Jet Bike, Comet, Yoshi Bike

Dekkklasser
*****************
- Standard, Blå Standard, Offroad, Retro Offroad
- Monster, Hot Monster
- Slick, Cyber ​​Slick
- Roller, Azure Roller, Button
- Slank, Crimson Slim
- Metall, gull
- Tre, svamp, pute