Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Mario meets Pareto (mayerowitz.io)
1583 points by superMayo on April 4, 2024 | hide | past | favorite | 177 comments


This great visualization/article highlights one of my pet peeves with current game design--options for the sake of options.

I feel like the common trap for designers is to put too much stock in tag lines like "Over 700,000 different builds!"

You're dumping a combinatorial explosion of overhead onto players. If all those choices don't significantly enhance the core game experience, you as a designer as wasting people's time. Doubly so if most of the choice space can be safely eliminated by savvy players. The internet exists after all and someone is going to do the math. Why would you gate the competitive portion of your game behind convex optimization problems? Certainly not to make things more fun.

Some examples of these trends are load-outs in FPS games. Every gun now has tradeoffs for sights, barrel, under-barrel, magazine, ammo, etc. and these choices only come after you've chosen a class/weapon. When the core of an FPS is tactical positioning and aim, these options feel like a cheap gimmick in order to milk slightly more time out of players. Franchises like Halo and Battlefield fell for this trap and have completely ruined their reputations.

You can still give players choices that _add_ to the core gameplay like counterstrike does with the round economy. If the entirety of a choice you're giving a player happens in a menu, that should be a red flag. The game design industry needs to less emphasis on statistics/combinatorics and more on gameplay/narrative.


It depends on why you play though; the "combinatorial explosion of overhead" is only a problem if you're trying to min/max, if you play for fun it's more "What character do I like" or "What wings do I find pretty".

The most important thing: Don't tell others how to play. Don't tell them "you should pick X because it's the best" unless they explicitly ask for it. Let people play their own way, and don't push how you play games onto others.


I don't think we're on the same page.

> It depends on why you play though; the "combinatorial explosion of overhead" is only a problem if you're trying to min/max, if you play for fun it's more "What character do I like" or "What wings do I find pretty".

Exactly. These choices don't affect players in the same way.

> The most important thing: Don't tell others how to play. Don't tell them "you should pick X because it's the best" unless they explicitly ask for it. Let people play their own way, and don't push how you play games onto others.

I definitely agree with you here.

As a designer, you're defacto telling people how to play by designing choices like this. You're punishing casual, competitively natured players with >700,000 options because they care about performance.

If you don't derive fun from winning the trade-offs are mostly irrelevant and you can simply ignore most of the problem, choose a configuration based on fewer/simpler dimensions (I'm going to pick yoshi and the egg kart because that's awesome), and avoid most of the decision space. This type of player probably wouldn't care if all the configurations performed the same or more likely could be annoyed that their desired configuration performs strictly worse. (If the choices meaningfully affected gameplay, like having an ability to lay eggs or something, that's different).

On the other hand if the dedicated, competitive players are going to solve the optimization problem and coalesce configurations down ~10 choices. The problem space is also irrelevant to this type of player.

But posing this problem negatively affects competitive people who aren't dedicated to the game. Now they have to consider an intractable problem while their friends are waiting on them so they can actually play the game. I know this because I've sat there plenty of times while friends scroll through all the different options wheels/karts/gliders/characters for minutes until they gave up and said something like "Whatever, I just want to race".

So why not just give 10 performance profiles and the same combination of cosmetic choices as before?


In Mario Kart in particular, you might explicitly not want the fastest/highest acceleration cart (kart?) as a new player, especially if you're a younger or older player. Going fast is a handicap if you can't stay on the track at those speeds.


> It depends on why you play though; the "combinatorial explosion of overhead" is only a problem if you're trying to min/max, if you play for fun it's more "What character do I like" or "What wings do I find pretty".

Then why don't you make sure all the pretty wings are on the Pareto frontier?

Back when I was playing D&D 4th edition (fairly casually), I started by assuming that all the fighter "feats" were basically equivalent from a damage perspective, and only differed in application or aesthetics. Then I did the math, and determined that there was a 2-3x difference between the weakest and the most powerful feats; so naturally I chose the most powerful ones. But I didn't really enjoy that process -- I felt obligated to do it because... I mean, I'm trying to increase in power? That's the whole point of the game?

Why should choosing an aesthetically pleasing power mean my character is weaker?I would have had much more fun if they'd balanced the feats such that they were all about the same (or at least, all on the Pareto frontier). Then I could really have chosen based on personal taste or roleplaying reasons, rather than trying to avoid having a nerfed character.

ETA: I feel like StarCraft does this very well overall. If nobody's using a unit, they buff in the next balance update; if everyone's using a unit, they nerf it in the next balance update. The result is that there are millions of potentially successful strategies, even at the grandmaster level, as long as you play efficiently. That's a lot more fun to me than 700,000 strategies, of which only 20 are realistically going to win at high levels.


Yeah, especially for a game like Mario Kart, I'm not too obsessed with making sure I'm picking the most efficient combination of things. I'm picking what I think looks cool or has the most fun personality (in the case of characters) for me in the moment. For that, having more choices is (mostly) better.

Even something like Counter-strike, where a lot of the differences are pretty subtle, I liked having a good amount of choices just to play a couple rounds with a gun that feels slightly different and see how well I do. I had my preferences but I played with them all.

That being said I do think there's something to be said for not just dumping a bunch of options on a player and be like "you figure out how you want to play", even though I've been guilty of that in a couple past games I've designed, thinking more options is better.

Like I remember on of my sequels to a game I tried all sorts of ideas for how to change up options, and instead of pinning down that "okay the hand size is going to be 5 tiles, and if you place next to an ally tile you'll bump them up by X amount, and you can choose what set of numbers the tiles can be (like 1-5, or 1-10, or 1-20)... with my new sequel I've mostly pared it down and I'm taking away game options, because I bet almost no one did anything but use the defaults anyway. At least before I hid them in an options menu you had to choose to open.


Gameplay and narrative don't hook into that acquisitive gambler's streak nearly as well as "all the unlockable things".

I do agree with you, generally, that this is a bit of a cheap trick and far too ubiquitous. However, there is something to be said for giving the player "things to do" like unlocking content. It does add to the experience to have a sense of "this is why I'm still playing".


Indeed, like it or not, the idea that the game of Mario Kart (for example) is exclusively the part where you drive around the track is both simplistic and naive. It comes across as a values statement of the following form: "good games are only concerned with moment-to-moment mechanical execution and tests of reflexes, and not any of that other Skinner-box frippery". But (again, whether we like it or not), for a lot of people the frippery is crucial to the enjoyment of the game. (And these are hardly the only two reasons people play games, e.g. there's socialization, mastery, etc.)

And even in the case of the OP, concluding that most items are useless is not a substantiated conclusion. As the OP notes, a Pareto frontier is N-dimensional, and the number of points lying on the frontier grows exponentially as we expand to consider all the other variables. Just because a meta exists among "top players" doesn't mean that's the only valid choice; different people can optimize for different things (and even top players are frequently irrational, lazy, and/or cargo-culting).


> Indeed, like it or not, the idea that the game of Mario Kart (for example) is exclusively the part where you drive around the track is both simplistic and naive. It comes across as a values statement of the following form: "good games are only concerned with moment-to-moment mechanical execution and tests of reflexes, and not any of that other Skinner-box frippery". But (again, whether we like it or not), for a lot of people the frippery is crucial to the enjoyment of the game. (And these are hardly the only two reasons people play games, e.g. there's socialization, mastery, etc.)

I don't think my comment was implying any of this.

I was mostly trying to say something along the lines of "solving NP-hard problems isn't good gameplay" rather than discuss micro-transactions, progression systems, or variance/competitive purity.


> I was mostly trying to say something along the lines of "solving NP-hard problems isn't good gameplay"

Consider that Tetris is NP-hard. :) Giving the player optimization problems is one of the fundamental pillars of game design. For many, it's more fun to make a deck of cards in Magic or Hearthstone than to actually play the deck against an opponent.


I'm not here to argue about semantics. The first line of my OP said "options for the sake of options" and then "choices don't significantly enhance the core game experience". The comment you're replying to said "something along the lines of" to encourage readers not to get hung up on the exact wording.

I'd appreciate a bit of a more charitable interpretation of my responses.

Given the context, a more charitable interpretation would have been something like:

"solving NP-hard problems isn't good gameplay...*in and of itself*"

> Giving the player optimization problems is one of the fundamental pillars of game design.

Yes, but this is not what I'm talking about at all. I don't know how you're interpreting my position as being against optimization problems in games.

> Consider that Tetris is NP-hard. :)

Would you consider that the choices that make Tetris NP-hard significantly enhance the core game experience?

How about MtG or Hearthstone?

---

> Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith.

https://news.ycombinator.com/newsguidelines.html


Worse than that, it makes marks of some players. The serious player doesn’t just have experience and technique working for them, they can now start with a character that can beat the newbie with one hand tied behind their back.

We all know that guy you can’t play games with because he sucks all the fun out of it for anybody else. As a game seller this isn’t just bad, it’s stupid.


In the ARPG/Diablo genre, Path of Exile is one of the worst offenders. Each character progresses through a 2D locally-connected graph of over 1300 passive skill nodes, of which you only get to pick about 100, where the "undo" action is expensive or impossible.

That said, the sheer amount of options leads to a class of expert players and build-makers that normal players can rely on. I just wish the game itself provided more tools for navigating it (like an ingame build-guide system).


Path of exile is my favourite game and I've played it thousands of hours and have multiple 40/40 leagues, mirrors, and lvl 100 characters. My point, without elaborating, is there are people like me who enjoy the complexity of the game, it's totally fine if you don't but the joy of having almost unlimited things to discover and get over roadblocks is what makes poe amazing to me. It's a game that you're meant to dedicate a lot of you're time to it and it's totally fine if you don't like that, just wish people wouldn't yuck someone else's yum. Lastly, I'm likely not representative of the poe's general population but the game becoming more popular league by league should be a useful indicator that whatever they're doing is working.


A game like mario cart should have two modes. Party mode, where everybody is playing on the same terms. Expert mode, where macro plays a bigger role.

Even during parties, the properties of choosing different characters do make the game more dynamic which in the end means more fun. What sucks is when one of the players have spent the whole week before plugging all the numbers into Excel and knows how beat everyone else optimally. But where do you draw the line? Is this more unfair than practicing driving one track a whole week?

One have to accept that games can not be always fair. Same thing in sports, try playing tennis vs someone who has competed before, a casual player will not stand a chance to even hit a single ball, even if you give the pro a much worse racket.

Balancing a game to allow casual and pro players to compete on equal terms is extremely difficult and can often backfire into making the game extremely trivial, only depending on roll of dice. Knowing if you are playing an excel-game or a reflex-game should be presented clearly to makes things a bit more fair.


It's certainly possible to build a racket that can nerf a pro.

Anything with large bumps will do.


Right, it's like Photoshop shilling itself as "over 1bn builds!"

Well obviously, it's probably actually infinite number of things you can do with it. That... should not really be a selling point.


This is why I preferred Shadow Warrior 2 to Borderlands. Millions of randomly generated guns sounds nice, except they're mostly trash. I'd rather have the 70 hand-crafted options in SW2.


That’s why my go-to Mario kart is the N64 version. No bs just pick a character and go


Nah, Mario Kart 8 is great. You don't _need_ to min/max every stat. Actually, you specifically have to press a specific button to even see the stats at all. Otherwise, everything just appears to be cosmetic.

For the most part, once you've got your kart dialed it. It is still "pick your character and go". It's one of my goto games for "I want to do something for a few minutes to unwind" (which usually ends up with me more frustrated and on edge than unwound haha).


yeah but the new go-kart dynamics are all strange to me with the glider sails and other new gameplay stuff it makes it feel way different then the simplistic N64 version


I have not played many recent games but Scorched Earth was always one of my favorites. The economy allowed you to discover new weapons as you progressed in skill. I do agree as the number of combinations increases that seems like it would take away from the novelty of getting a new item. After all, novelty seeking is what we want, not mindless optimization.

Storyline is nice but if I want to watch a movie I'll pop in a DVD and get popcorn. Cutscenes get in the way after the first play through. Timeless games have some storyline but let you enjoy the game even if you skip the cutscenes.


I always knew those little red tires were the best. Sadly, this misses the most important thing to me: style. And my love of Zelda. So I'm afraid I'll personally have to disregard all of this.


You're just optimizing for a different outcome. You could still apply this thinking, just with "Zelda adjacency" as the primary metric.


There are no grounds on which I can disagree with you.


But you can add that as a dimension to the chart!


Hard to quantify into numbers, no?

I like Luigi more than Mario. But do I love Mario like a 6 and Luigi like an 8?


Time for binary sort or an elimination chart; take every character, compare them to another, sort them as to which one you prefer. Then assign a number to each one of them.


Preferences don't tend to work that way. You know how, if you use a sort function that accepts a user-defined comparator, the documentation will have dire warnings about making sure that the comparator gives consistent results?

The procedure you're suggesting here doesn't comply with those warnings. Sorting will not terminate, or will yield different results from attempt to attempt.


In the original MK8, the Triforce tires and Hylean gliders were pretty good, but the stats in MK8 Deluxe for them are not nearly as good.


Also keep in mind that the 3.0.0 patch for Deluxe changed a bunch of stats.


Well I always pick Koopa, who is apparently the worst. Although in my group of friends I win the most by far… I’ll keep with him to keep it fair :)


Well... that was a seriously impressive presentation. I already knew about Pareto efficiency/the Pareto frontier, but now I'll never be able to forget it. And I'll think of Mario Kart (and poor Koopa being dominated) every time.


Playing with Koopa is MK on hard mode, and you can feel better about winning. You'll be like Piccolo or Rock Lee keeping their weights on while training ;)


If it was Pareto efficient, Koopa would do better too.


I wonder if Koopa does better with different customization?


One thing I noticed is if you set the graph axes to "Speed" and "handling" and the weight slider about 3/4 toward "handling" then Koopa becomes the only member of that 2D slice of pareto front. I suppose this could be a benefit depending on the course design. At least, it's an example of how looking at only 2 dimensions can be limiting.


These are the sorts of articles that a lot of news sites and digital publications dream of when pitching venture capitalists to cultivate this as a new sort of medium. But I've always found that the most compelling stuff, the most compelling digital presentations are often emergent. I think designing around it as a goal is impossible and often comes off as contrived and annoying. However, there are a times like this where it's just stunning as in, "yes, please hijack my scroll, go ahead".


From what I understand of Svelte, it was built by a working data journalist with the dream of enabling these type of rich media articles. So yeah, 'emergent' and 'uncontrived' are in the DNA of this article and the tech beneath it.


A dissenting opinion on the design - for me, this presentation was like watching a video to find information; too slow paced, and it made me impatient the whole time. The original notebook format was far better in that regard. The layout within each section is beautiful, but the animation and the scroll-sensitive layout (vs. just having a series of static diagrams) makes it unpleasant for me to read.

The content's excellent and it was fascinating to see how the differences between characters and karts play out though!


> the animation and the scroll-sensitive layout (vs. just having a series of static diagrams) makes it unpleasant for me to read.

I totally agree; I don't understand the fascination HN has with these types of sites. It all feels like extraneous design just for the sake of it, rather than actually making anything easier or better to understand.


I think sites/pages like this hold an important role, presenting information to people who have trouble visualizing concepts or need visual aid to better assimilate information is important and sometimes, a simple 2D rendering or a dry graph just isn't enough.

And if you need a 3d graph, you're only a handful of lines away from smoothing out your presentation, so why not?

There's also the more subjective aspect, I think adding the effort to make something look nice and slick, animated well, could be both an interesting challenge and a relaxing pass-time. It's pleasing both to make and digest, in a way, it sits in an intersection of design, art and technique and as an added bonus, could help capture the attention of someone who struggles with short attention spans even better!


Nice article! The resulting Pareto front really highlights how hard game design is. You can get millions of possible combinations but the reality is that only a handful of them will ever happen in a competitive environment.


That doesn’t mean that the other combinations are worthless. Presumably there’s value in the cosmetics, plus the puzzle aspect of creating and optimizing the builds along the different dimensions. Surely there’s a meta-Pareto-front of the balance between usefulness of each combination in competitions and amount of fun it adds to the game!


Seconded.

As a game designer, you want to add silly and suboptimal things to your game. Don't fall into the trap of thinking that every decision must be perfectly balanced and equally weighty, because your game will turn out bland and textureless. And beyond the considerations of "optimal" play, putting suboptimal options into your game can serve as both a way of naturally selecting difficulty without having to implement ungainly difficulty sliders, and also accommodate fun/silly challenges for people who just want to mess around.


Keep in mind that the pareto front is not a two-dimensional line, but a surface in a some high dimensional vector space. In every game there are many, many aspects to min/max. As others pointed out even Mario Kart doesn't boil down to speed and acceleration.

In a sufficiently complex game every build is on the pareto front as it optimizes some specific cost function.


I was refering here to playing competitively, that is, playing with the only goal of winning. Of course, it is perfectly acceptable to play for style or to manage a podium with the worst configuration or anything you fancy [].

However, if your one and only goal is winning I suspect that the high dimensional vector space will end up not looking so high dimensional once you account for the correlations between the different features you use. This is already clear from the very strong correlation between speed and accelaration.

[]I myself have played MK64 a lot and sometimes the goal was simply to see the world burn, standing on a corner with a shell waiting for the what would've been the winner of the race. Fond memories.


> playing with the only goal of winning

Even if you're only optimizing for race times, in the case of Mario Kart, the choice of track will have a huge impact on the optimal kart selection. Tool-assisted speedruns pick different karts for different tracks.


The min/max cost functions make a lot of sense(easiest to visualize). It also can do a lot when you do multi-objective optimization. But I have always wondered how you go about evaluating other cost functions. I mean mathematically the concept is intuitive. i.e. just swap it for a quadratic or exponential, but which cost functions are useful in the real world?


Agreed! But it also depends on the goals for the game--- min-maxing isn't the only way to play and not everyone is super competitive.


> A portfolio with low risks and high returns? [...] Of course, if you already know the exact weights

Or! In this case, it reduces to a one-dimensional optimisation thanks to the structure of the problem.

What we're optimising in portfolio selection is not the return of a single investment, but of a lifetime of investments. And thanks to compounding, that is a function of both risk and return. So we can find the optimal allocation without making any tradeoff: https://two-wrongs.com/the-misunderstood-kelly-criterion.htm...


Not quite, because one big input is the ratio of your investments to your annual savings. Large drawdowns are bad late in life, early in life they're not such a big deal. Kelly prohibits very profitable bets when they come with considerable risk of ruin (because you lose out on any future compounding when you zero out your wealth), but that is too conservative when you're young and your portfolio is small relative to your income.

The article even hints at this by observing that the discounted sum of future salaries are part of your current wealth. Which is exactly correct and also -- if you're young -- the most significant variable by several orders of magnitude. Curiously, the author understands this but doesn't care.


This excites me to consider using it as a design tool. When trying to design a game with a more large pareto front of fun and viable builds.


This article was way more interesting than the title suggested. Well done!


The submission originally had a much more descriptive title, but it was changed to match the article's title as per the rules.


Really cool analysis and visualizations! Although there’s an interesting wrinkle with Mario Kart 8 + 200cc - most players don’t want speed over a certain level because you’re too fast to control. So rather than trying to maximize absolute speed stat you may want to minimize the delta from your optimal speed stat


That sounds not so different from building a race car irl. There's no point in a big engine if you have to brake so early that you get passed in the corners. Plus all that braking will cook the brakes. It's often letter to have a lower top speed and never have to slow down.


Exactly. Handling and Acceleration are the most important factors at 200cc.

Acceleration because when (not if) you get hit/crash, you need to be able to catch up quickly.


This is seriously the most impressive visualization I've ever seen. What tool did the author use to do this?



Looks like svelte + three.js

Svelte has some pretty nice built-in scroll animation support: https://svelte.dev/repl/051cd352ce284d15b55c91c8b30fa32f?ver...


Author here. I'm using Svelte, which is great for interactive applications. For the event handling I'm very influenced by what https://mlu-explain.github.io/ does. The 3d plot is made with Threejs through the Threlte wrapper. One challenge was animating the 20k points in the 3d plot, which is handled by a custom vertex shader.


Thanks for sharing the tech stack. It's a really impressive site.


more specifically it's using the svelte wrapper of three.js called Threlte: https://threlte.xyz/


Looks like Svelte (https://svelte.dev/)


Do professionals use different builds per map? For example, a map has long straightaways (favoring top speed) vs a map with more sharp turns (preferring acceleration)?


For time trials, yes that is true. There are also other concerns such as that the speed stat is actually comprised of 4 different stats that have different values depending on the terrain: Ground, Air, Water, and Anti-Gravity. Some tracks that have a lot of water and so for that you would be better going for a kart that has high water speed. There are other less important statistics at play too that aren't mentioned here such as handling, traction, and also the hitbox of the vehicle is also important since it might change how tightly you can hug a turn against a wall or how wide you have to steer to collect coins.

In practice when playing online however, you won't know what track is about to be played, and so the meta right now prioritises mini-turbo stat much higher than speed. Having a high mini-turbo can also overcome the lack of speed by performing additional mini-turbos even on straight sections. Also when playing online you also will be hit by items a lot and need to try dodge other items being thrown at you, and for that having higher acceleration helps too.


> the speed stat is actually comprised of 4 different stats that have different values depending on the terrain: Ground, Air, Water, and Anti-Gravity

Weirdly, this has a huge impact on the game, and it's also not mentioned anywhere. To find it out, you have to go to mariowiki and look up the part statistics. The kart that looks like a boat has great water statistics. That makes sense, but without even documenting that water speed exists, it's mostly just an in-joke by the developers. Why did they do this?


If you look at the first place (after clear cheaters) time trials for different tracks, you'll see different choices but clear patterns. The main mode of the game has you race a set of four different tracks, and the online mode throws in all of the tracks; So in those modes the choices are going to be more constrained towards an average good.

For my part, I got the best rank in single player on all pre-DLC tracks with only toad and the default kart, so it's a part of the game you can entirely ignore if you're not competing against other humans.


The breakdown is actually bagging vs. front running tracks. Bagging favors speed and front running favors mini turbo.

Bagging means purposefully being far from first to get good items which allow you to come back hard.


to add to this, "bagging" tracks are determined by how many shortcuts they have (ones that require good items to take, such as mushrooms or stars).


Tends to just be yoshi on one of two karts for nearly all tracks on 150cc because miniturbo speed is the same as top speed of the fastest build in the game.


"professionals"? This is Mario Kart we are speaking about, not formula 1 or counter strike.


Mario Kart has a large and flourishing competitive scene[1][2], including numerous competitions with prize money. In 10 days, Nintendo is hosting the Mario Kart World Championships where they are flying in the best players across the world to Tokyo for it. Obviously, not on the same level as F1 or CS, but there absolutely is a competitive scene for this with dedicated players.

[1] https://www.mariokartcentral.com/ [2] https://www.mk8dx-lounge.com/


This is not the point.

How many players are making a living competing mario karts?

Taking part in competitions with prize money doesn't make you a professionnal player. When I was a road racing cyclist in the upper amateur echelon I was making a decent amount of money in finish prizes, was sponsored, was given a high end bike, clothing and enough tires to last a season, and the mechanic wouldn't charge me for his work, all non local travels were paid. Yet I wasn't a professionnal cyclist as I didn't have a salary nor would I have made enough yearly money to support a family and leave a job.

So what are the highest, median and average income of those so called 'Mario Kart pros"?


Beautiful presentation. I love when visualizations serve the goal and not the other way around. Tufte would be proud.


The switch from 2D to 3D was so seemless and beautiful I actually gasped.


Thanks a lot! That was my goal. It's a trick I learned: if you zoom in from a distance, everything appears flat. The effect is achieved by zooming out while simultaneously moving the camera closer to the subject!


In cinematography that is called a dolly zoom [1] and it is best known for being used in Vertigo [2] and Jaws [3].

[1] https://en.wikipedia.org/wiki/Dolly_zoom

[2] https://www.youtube.com/watch?v=G7YJkBcRWB8

[3] https://www.youtube.com/watch?v=_eO_5q5dR9M


I love how that transition is relative to the scroll position rather than working off a breakpoint. Did you consider doing the same thing with the first bar chart? I think it would be nice to slowly reveal the standings :)


Could you not just use a parallel projection (which should be the default for this kind of 3d scatter plot)?


Yes, I could have been using THREE.OrthographicCamera(), however, it makes the effect way less cinematic, and most importantly, it makes the depth harder to see (particularly for a scatter plot).


Same. What a beautiful plot twist.


Maybe it was 3D the entire time. :)


Yep same, I let out an audible "nooooo....".


Honestly, I was so impressed.


Bugs out for me in Firefox at around 2/3. Works fine in Safari.

My kid (6) crashes all the time, and she is naturally attracted to picking Peach. I'd say because of that, a character with high acceleration is going to be better. Though she also just likes to push the gas.

Though we're playing the one from GBA on Analogue Pocket. Which is probably a lot less advanced as the one in question here (a game for Wii U from 2012), it does resemble Wacky Wheels quite a lot.


FYI Mario Kart for the Switch has a handful of accessibility options that help less experienced/younger/elderly players stay in the game and on the course without taking away from the fun.


Bugged out for me around 2/3 on Firefox/iOS (which is really Safari) with Lockdown mode.


Gotta teach the kid about using the brake and the "poomp" slide (called boost after N64) on the corner. I race Mario but when she's on, mine (8), can get me on the 150 tracks (switch). I'm still crushing on the 200 tho (for now) ;)


> would

Tufte is still alive!


Of course, but I'm not inside his head :)


My 9 yo is better than me at Mario Kart but not by much. This knowledge may make the difference for me. Thank you!


In case you aren't aware, you can select a few builds and quickly compare the stats using: https://mk8dxbuilder.com/

Another thing is the coins. Collecting them gives you a speed boost for each coin you collect.


this one groups the characters/cars by identical stats: https://www.bettermk8dxbuilder.com


In summary: the difference between raw talent and experience.

Your kid has likely better reflexes and motor skills than you have, but on your side you have experience and wisdom accumulated over the years :)


Couple points:

1. Skill absolutely matters, more than the kart, etc. that you pick. Watch some expert players on YouTube playing with weird builds and you'll see that they are still able to do well even when playing with significant disadvantages.

2. In practice, you don't really need to know the value of the hidden mini-turbo stat because higher acceleration == higher mini turbo. For 99% of players, acceleration can just be used as a proxy for mini-turbo.


I really like the article and the presentation!

With that in mind, is this style of presentation (i.e. different elements jumping out or moving into focus as you scroll down the page) easily doable OOTB with any JS libs? Or is this pretty much a custom job?


keyword you want is “scrollytelling”. lots of tutorials here and on youtube. easy to start hard to master like with most things.


This is all very webdesign-y and might be good for a less techy audience, but tbh I think the original article with its notebook format provides a lot more useful information

https://hinnefe2.github.io/python/tools/2015/09/21/mario-kar...


I don't think it's fair to disparage this article. The other one is perhaps good for a "deeper dive" but I'd say TFA is better overall at illustrating the concept.


that one doesn't have mini-turbo, which has largely superseded acceleration as a stat (it correlates but isn't 1:1)


Indeed. MK8 courses are absolutely loaded with mini turbo opportunities— every drift, jump, or bump in the road is a chance to get that little boost. I’m not at all surprised it can make the difference in competitive play.


When buying a bike, I kind of used this method by looking at the cost-vs-spec-level plot on 99Spokes. Although it should be taken with a grain of salt, as spec level is a heuristic and not always very accurate. Found a nice MTB for a good price that way, but struggled with other types of bicycles.


I haven't played this series since the SNES 30 years ago. Do the different characters still get different power-ups from the cubes? Because that was always what I picked based on.


This is the case on Mario Kart: Double Dash!! (GameCube), on the Arcade GP series and Mario Kart Tour (smartphone).

In all other games, character choice doesn't affect item distribution.


The items you get are the same, but maybe the frequencies are different? I never heard of that being the case, only that the weapons you get depend on your position in the race (you get better weapons when doing worse in the race).

But I also didn't realize this was the case on SNES. I only ever played the SNES version as a young kid, and it was a Japanese NTSC version on a PAL television through a cartridge adapter and it was pretty janky.


If the creator happens to come by here:

Very cool and I see the vision

Unfortunately on firefox for Android 13 on my nothing phone (2a) almost all on-screen assets flicker non-stop. I thought I was a style decision at first but now that I'm further down it's very clearly a bug.

Still very cool, learned about pareto efficiency from a video about this exact topic a few years ago that only computed the pareto front for accel and speed because they couldn't represent higher dimensions well. Maybe same author?


Thank's for the info, will fix asap !


This is great, but like many casual players I’m very wedded to my character but not their build. Be great to pin the character and then get the best build for them.


I hope your character is not Koopa


I once messed with using linear programming to approximate this, and I have to say you did an excellent job explaining it!

Worth noting that the tires and gliders are independent, so one can first find their pareto frontiers, then combine that with those of the drivers for all dimensions


I just partook in a finance class not too long ago and learned about the concept of an "efficient portfolio".

=> https://en.wikipedia.org/wiki/Efficient_frontier

While reading this article, I saw those graphs and thought, "Where have I seen this before?"


Love the application and visualization!

Having spent the past year building a journey planner algorithm, which heavily builds on pareto optimality/sets, from scratch, I was waiting for the full set of pareto optimal solutions. I.e. all kart combinstions that are best in at least one way.

Should be doable by iterating through all possible stats and merging[1] into a set for each one. We might get a lot of solutions, but it should be somewhat managable.

Has anyone tried this?

1: Merging is to take the new entry and 1) removing any existing entry that is dominated by it, and 2) adding the entry if it is not dominated by any existing entry.


Isn't this what the last part of TFA covers?


Nice analysis and visualisation! I used a Pareto approach for my exercise and a project I’m working on - https://limitgym.com


If I'm optimizing for 'weight' is it supposed to be heavier or lighter? At the moment it seems the more weight I put on 'weight' the heavier the build is.


Pretty sure weight mostly affects how badly you're knocked by other players when they hit you. So heavier is better (although it's often correlated with slow acceleration or poor handling). You want an EV... heavy as hell but with amazing acceleration.


Excellent article! Super approachable and relatable, making it very good at explaining a useful model.

It immediately has me looking for other places to apply this. This'll be top of mind for a while!


What I wish this article had was a simulation that generated the best kart for each variety of stats. The article doesn't really address that different karts suit different driving styles, so as a Mario Kart lover I was hoping there would be a list of the best karts for each of a variety of different driving styles.

But this isn't _really_ about Mario Kart I suppose...


Wait, Bowser and Wario are the fastest? I thought it was the other way around. I guess it's reversed from Mario Kart 64.


I'm not sure, but it kind of makes sense as a choice, since acceleration and speed should be negatively correlated and since Bowser and Wario are both massive they should accelerate more slowly than others (given constant force). So they get to have the highest top speeds to compensate.


In a real kart a heavier driver would have lower top speed and acceleration, in exchange for better handling (more body weight means you can more easily shift weight to the wheels that need more traction, unlike a car where the driver's weight is insignificant).

But they seem to have ignored kart physics and made it more like a car, where bigger cars might accelerate slower but can accommodate a more powerful engine.


Why would the top speed be lower? Because of increased friction with the ground due to the weight? Ignoring friction, I think what I said would be true.

I hadn’t actually thought about it before but as an incredibly skinny person what you said lines up with my experience in a kart. I could seemingly go slightly faster than others but more easily span off and lost control.


Given two equal karts I guess top speed would be the same but most courses don't have long enough straights to let you reach full speed.

When I wrote that comment I was thinking one might tune the kart for the driver to make up for lack of acceleration which would reduce top speed.


Actually, I'm talking rubbish since without friction there wouldn't even be a top speed. It's true that having a high top speed is only useful if you have enough time to accelerate up to it!


They have the highest top speed. It was that way in Mario Kart 64 as well. They have the worst acceleration though.


This is not true. The lighter characters Yoshi and Peach and Toad had higher top speed in 64. https://tasvideos.org/GameResources/N64/MarioKart64#:~:text=...


Yes, but higher-speed characters have lower acceleration and less mini-turbo, which disadvantages them in many situations.


It’s exactly as in Mario Kart 64! Remember, heavy characters have the higher top speed, but light characters have the higher acceleration!


I distinctly remember that the light characters had the highest top speed in Mario Kart 64. And according to this table, I'm right: https://tasvideos.org/GameResources/N64/MarioKart64#:~:text=...


That'd make the heavy characters completely useless, once you're behind, there's no way to catch up anymore!


Heavy characters in Mario 64 have tighter handling than lighter characters and can cause them to spin out when bumping into them.


How, if both your acceleration and your top speed is worse?


I'm not sure what exactly "how" is referring to, but by "tight handling" I mean having a smaller turning radius and losing less speed when turning.


It's not a big difference and you can't be at top speed for long.


Yes, except for items and doing better in the pack.


It was similar in the original Mario Kart of the SNES. I clearly remember always choosing toad or koopa because they "felt" the more average to me. Donkey Kong was difficult to handle and also had slow acceleration, same with bowser.


Yes, but with their poor acceleration, and given how chaotic some Mario Kart races are, it is hard to achieve their maximum speed.


How to calculate a Pareto front world take me some thought.

I wonder, in practice, does defining my preferences and weights and then using a genetic algorithm find the optional solution? That would take me less thought, because I already know exactly how to define a score function and use a random API.


Yes, indeed. There are quite a few “nature inspired metaheuristic algorithms” which do exactly this. When I say “quite a few”, I mean countless.

Look up NSGA and NSGA-II for a good starting point. Then Kagi your way deeper into the rabbit hole.


If by “optional” you mean “optimal” then no, a GA is not guaranteed to find the optimal solution in the general case.


In reality, the number of dimensions will always be more than 2, often several magnitudes more. Is there a good way to visualize the Pareto front for higher dimensions?


From the site:

"all elements on the frontier are not equally good."

Peach is just as good as Daisy, for example, so I'd say: "Not all elements of the frontier are equally good."


How would this mesh with Halo Kart (2)?

2. https://www.youtube.com/watch?v=9K0IcawLpCE



Something not mentioned in this analysis is that after summing the stats from the different components, the value is rounded down, giving 7 possible outcomes per stat.


Why is it rounded down?


That's just something the game does. I don't know why. But it shows you the little ticks in the stat bar that it rounds down to.


I did not know the drivers and carts made a difference at all.


One thing this should mention is what game version it uses. Updates frequently change the stats and thus what builds are “best”.



Mario Kart 8 is now frozen, no more patches to come.


The first paragraph mentions this: "In Mario Kart 8, ..."

If this was more than a tool for teaching multi-objective optimization, I'd like to see how the Pareto front changes over Mario Kart releases!


Yes, but there have been many versions (updates/patches) of the game. I don't know how many changed character stats:

https://www.mariowiki.com/Mario_Kart_8_Deluxe_update_history


This is absolutely brilliant! Bookmarked and I’m sure I’ll be revisiting this and sharing this broadly!


This is superb. Really great work!


Missed a unique opportunity to title the article: It's-a-me, Vilfredo!


This is the kind of content I'm here for. Thank you, superMayo!


if racing with items, acceleration should be ranked higher than speed


This is so darn good!


Very cool love the design of the site and now I know which cart to win with


Mario kart doesn't have weight as a metric for speed in turns?


Cool, great!


_The_ Pareto? The thin-voiced lawyer who was the victim of Brazil's best prank call in the 80s?

No, A Pareto, the excellent economist.


I was disappointed by the lack of a radar chart


Now this is ~~pod racing~~, uh, game theory


This is so neat! MOO has been a integral part of my work yet it has never occurred to be that Pareto optimization could be applied in kart picking.


tl;dr: use peach with teddy buggy, roller tires and the cloud glider.


God I am so disappointed, I thought he disassembled Mario Kart 64 into C and refactored the codebase. Fuck my life


No, just go get one. Don't be a PL obsessing over a video game.


So sorry I've disappointed you, but don't fuck your life plz


It's too late. I already fucked it.


You have a lot of options to choose from. How to pick the truly best option? Let me show you a method, in which you arbitrarily pick 3 out of 6 attributes and then use an artificial, unintuitive interface to choose an optimum trade-off between them. And once you do, my super-amazing method will tell you what combination to use, easy!

OK I might be an old bitter cynic, but the beginning got my hopes up for something clever. The only value I see here is explaining the Pareto frontier, but it doesn't take a genius to independently figure out, if you have 2 attributes, and someone else has one of the attributes at least equal, and another higher, that someone else is a better pick…

Of course, what the article doesn't even touch, is that some attributes could get worse results as they get higher: imagine having an acceleration and speed so high that you effectively can't steer your car.

Also a pedantic argument could be made on the cosmetics possibly actually affecting performance…


Not entirely sure what you're looking for.

If you don't want to use the "artificial, unintuitive interface" (bit rude IMO) you could just google "best mario kart setup".

The selection of attributes is not exactly arbitrary. AFAIK speed has always been by far the dominant stat in mario kart, then acceleration. Choosing e.g. better handling at the expense of speed is an immediate disadvantage. If your problem is that this doesn't help you to choose atteibutes in the general case, take it up with the chaos of the natural world...

This article solves a problem people have (not knowing what setup to pick) in a very stylish way (subjective) and teaches the reader something along the way (what a Pareto frontier is).

Not a particularly constructive comment if you ask me.


Just because the selection is "correct" (e.g. gives best results in practice) doesn't mean it's not arbitrary.

The article starts with the premise and fails to deliver. The visual layer of the article is nice. But ultimately the example of using the Pareto's frontier is a FAIL because it doesn't deliver on its promise of finding the best kart setup.


I thought it was a clever relatable way to explain the concept of the Pareto frontier. And that of the 703560 builds, you can pick just 14 and choose among those depending on what you prefer was a surprise to me.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: