Het beste Mario Kart-personage volgens data science

Door Henry Hinnefeld

Mario Kart was een nietje van mijn jeugd - mijn vrienden en ik zouden uren na school doorbrengen als Mario, Luigi en andere personages uit het Nintendo-universum racen rond cartoonachtige nummers en korrelige bananen naar elkaar lobbelend. Een ding dat onze kleine groep potentiële speedsters altijd irriteerde, was de vraag welk personage het beste was. Sommige mensen zwoeren bij zippy Yoshi, anderen beweerden dat grote, zware Bowser de beste optie was. Destijds waren er slechts acht opties om uit te kiezen; snel vooruit naar de huidige versie van de Mario Kart-franchise en de vraag is nog ingewikkelder omdat je verschillende karts en banden kunt selecteren die bij je personage passen. Mijn Mario Kart-reflexen zijn niet meer wat ze vroeger waren, maar ik ben beter in gegevenswetenschap dan als vierde leerling, dus in dit bericht zal ik gegevens gebruiken om eindelijk de vraag te beantwoorden "Wie is het beste personage in Mario?" Kart?"

Pareto-efficiëntie

Dit is een lastige vraag, omdat er nu veel potentiële karakter / kart / banden-configuraties zijn en ze allemaal zeer uiteenlopende statistieken hebben over een aantal attributen. Over het algemeen is het niet mogelijk om meerdere dimensies tegelijkertijd te optimaliseren, maar sommige opstellingen zijn ontegenzeggelijk slechter dan andere. De vraag voor een aspirant-kampioen van Mario Kart is tegenwoordig: "Hoe kan ik een karakter / kart / band-combinatie kiezen die in zekere zin optimaal is, zelfs als er geen 'beste' optie is?" van Mario's landgenoten, de negentiende-eeuwse Italiaanse econoom Vilfredo Pareto die het concept van Pareto-efficiëntie en de bijbehorende Pareto-grens introduceerde.

Het concept van Pareto-efficiëntie is van toepassing op situaties waarin er een eindige pool van middelen en meerdere concurrerende resultaten zijn die afhankelijk zijn van hoe die middelen worden toegewezen. De 'Pareto-efficiënte' toewijzingen zijn die waarbij het onmogelijk is om één uitkomst te verbeteren zonder een andere uitkomst te verslechteren. Dit wordt gemakkelijker uitgelegd met een foto (met dank aan Wikipedia).

Elke cirkel is een potentiële brontoewijzing, wat in ons geval een verdeling van statistische punten over de verschillende kenmerken zoals gewicht, handling en tractie betekent (tekens in Mario Kart hebben ongeveer hetzelfde aantal totale statistische punten, en verschillen alleen in hun verdeling ). De positie van elke cirkel vertegenwoordigt het resultaat van die toewijzing op twee concurrerende dimensies, bijvoorbeeld snelheid en versnelling. De toewijzingen in het rood liggen aan de grens van Pareto: voor elk van deze toewijzingen vereist een verbetering van de ene uitkomst een afname van de andere. Grijze toewijzingen zijn niet Pareto-efficiënt omdat u beide resultaten kunt verbeteren met een andere toewijzing van middelen. Snelheid en versnelling zijn over het algemeen de twee belangrijkste kenmerken in Mario Kart, dus het doel van deze analyse is het identificeren van de karakter / kart / bandconfiguraties die op de grens van Pareto liggen voor snelheid en versnelling.

Verkennende gegevensanalyse

We beginnen met het afzonderlijk onderzoeken van de statistieken van elk personage, kart en band met behulp van enkele door fans gecompileerde gegevens. Een bijzonder kenmerk van Mario Kart is dat hoewel er enkele tientallen personages zijn, veel van hen identieke statistieken hebben. Vanaf hier verwijs ik naar de personageklasse (of kart of band) met de naam van een van de leden. In de heatmap hieronder beschrijft de rij met het label ‘Peach’ bijvoorbeeld ook de statistieken voor Daisy en Yoshi. De volledige klassenlidmaatschappen worden vermeld aan het einde van de post voor het geval je wilt zien waar je favoriete personage terechtkomt.

Er zijn zeven soorten karakters. Laten we eens kijken hoe hun statistieken zich verhouden.

De meest voor de hand liggende trend is de wisselwerking tussen snelheid en versnelling: zware karakters hebben goede snelheid maar slechte versnelling, terwijl lichte karakters pittige versnelling hebben maar een lage topsnelheid. Er zijn ook variaties in de andere statistieken, maar in hoge mate domineren de snelheid en versnelling de prestaties van een bepaalde opstelling, dus we zullen de rest van de statistieken negeren.

Karts en banden wijzigen de basisstatistieken van de personages: de attributen van de uiteindelijke configuratie zijn een som van de statistieken van het personage en de kart / bandenmodificaties. Net als bij personages zijn er tientallen karts en banden, maar slechts enkele categorieën met verschillende statistieken.

De trends hier zijn minder voor de hand liggend, maar ze komen over het algemeen overeen met wat we zagen in de karakterstatistieken: verbeteringen in snelheid gaan ten koste van versnelling en vice versa.

Ons doel is om alle configuraties te vinden die een optimale combinatie van snelheid en versnelling hebben, dus de volgende stap is om de statistieken te berekenen voor elke unieke (karakter, kart, band) combinatie.

De optimale configuraties vinden

Met een beetje Python kunnen we alle karakter / kart / bandencombinaties opsommen en hun attributen berekenen door de waarden in de bovenstaande figuren op te tellen. Uitgerust met de statistieken voor elke mogelijke combinatie, kunnen we de snelheid versus de versnelling van elke mogelijke opstelling plotten, en identificeren die op de grens van Pareto liggen.

Volgens de bovenstaande grafiek vormen de optimale configuraties een vrij kleine subset van het totaal aantal mogelijke opstellingen. We kunnen dit kwantificeren door alle verschillende combinaties te tellen (merk op dat sommige combinaties elkaar overlappen in de figuur). Laten we voor de lol ook de mogelijke combinaties tellen, inclusief alle personages, karts en banden met identieke statistieken.

Mogelijke combinaties: 149760
Unieke statistische combinaties: 294
Optimale combinaties: 15

De optimale configuraties vormen slechts 5% van de potentiële unieke stat-configuraties! Laten we eens kijken hoe deze optimale configuraties eruit zien.

Tenzij je all-in gaat op versnelling, lijkt het een zwaar karakter te zijn; de twee zwaarste karakterklassen (Wario en Donkey Kong) zijn goed voor 11/15 van de Pareto-optimale configuraties.

We kunnen ook kijken naar de andere hoofdstatistieken voor elk van deze configuraties.

Dus daar is het, als snelheid en versnelling uw belangrijkste zorgen zijn, dan is een van deze 15 configuraties uw beste keuze.

Alle configuraties verkennen

Soms is een optimale configuratie echter niet wat je zoekt (bijvoorbeeld omdat je huisgenoot dreigde te stoppen met spelen als er geen handicap was, om een ​​willekeurig voorbeeld te kiezen). In dat geval kunnen we alle mogelijke configuraties verkennen met een snelle bokeh interactieve afbeelding.

Enkele opmerkingen:

  • Zware karakters zijn veelzijdiger dan lichte karakters. Hoewel de mogelijke configuraties van Wario ongeveer 77% van de maximale versnelling kunnen bereiken, kan Baby Mario slechts tot 50% van de maximale snelheid halen.
  • Metal Mario / Pink Gold Peach zijn de enige personages die geen configuraties hebben op de Pareto-grens.
  • De Badwagon is echt slecht. Bijna elke configuratie op de ‘anti-Pareto-grens’ (d.w.z. de slechtst mogelijke combinaties) betreft karts uit de Badwagon-klasse.

Als u de code achter deze analyse wilt zien, kunt u deze hier vinden. En tot slot, in het geval dat je een bepaalde bijlage hebt bij een van de personages (of karts / banden), kun je hieronder opzoeken in welke klasse hij / zij / het hoort.

Karakterklassen
*****************
- 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
- Perzik, Daisy, Yoshi
- Mario, Luigi, Iggy Koopa, Ludwig Koopa, Mii Medium
- Donkey Kong, Waluigi, Rosalina, Roy Koopa
- Metal Mario, Pink Gold Peach
- Wario, Bowser, Morton Koopa, Mii Heavy

Lichaamsklassen
*****************
- Standaard Kart, Prancer, Cat Cruiser, Sneeker, The Duke, Teddy Buggy
- Gouden standaard, Mach 8, Circuit Special, Sport Coupe
- Badwagon, TriSpeeder, stalen driver, standaard ATV
- Biddybuggy, Landship, Mr Scooty
- Pijpframe, Standaardfiets, Flame Ride, Varmit, Wild Wiggler
- Sportfiets, Jet Bike, Comet, Yoshi Bike

Bandenklassen
*****************
- Standaard, Blauw Standaard, Offroad, Retro Offroad
- Monster, heet monster
- Slick, Cyber ​​Slick
- Roller, Azure Roller, knop
- Slank, Crimson Slim
- Metaal, goud
- Hout, spons, kussen