Top
Best
New

Posted by theanonymousone 9 hours ago

Mario Meets Pareto(www.mayerowitz.io)
759 points | 138 comments
Velocifyer 2 minutes ago|
This doesn't account for vehicle size (important for red shell wall breaking[0]) and drifting style[1].

[0] A redshell wall break is when you point your vehicle near a wall to break a redshell without using a defense item. [1] Drifting style is either inward or outward. Inward drift has more intuitive controlls and is way better for intermidiate players, but pro players dislike it because is removes various difficult tricks.

jerf 7 hours ago||
This is a really important concept for developers.

One aspect for developers that I see quite often is the assertion that "We can't have X without giving up more Y", most commonly "we can't have more security without giving up on user experience". With the Pareto idea in mind, we can see that that statement is true, if and only if you are in fact on the Pareto frontier of security and user experience already.

However, many times these confident pronouncements are being made when the system under question is quite evidently not on the Pareto frontier in the first place and indeed you can get more of one without giving up the other.

Making it more tricky is that in business, you can never discard "money" as a dimension, so unless you're taking "money" as one of the dimensions in the original comparison you want to do, it sneaks its way in. Or, a composite time/money, or "cost to business", or some other similar concept, time & money aren't orthogonal and don't need to be treated as two separate dimensions in general, though you can if you want. Which puts you into the 3D case, and as the page says, that grows the frontier quite a lot, which is good in some ways and bad in others. Nevertheless, in my opinion it is still often the case that even in that space we are often making "tradeoffs" without checking that we're on the Pareto frontier in the first place.

munchbunny 4 hours ago||
Agreed with what you said, when you're only considering security and usability you're often not at a Pareto optimal state, but once you add cost into the picture you see a lot more cases of being on the Pareto optimal boundary, or at least in case where the next improvement only comes with significant effort (by re-platforming, for example).
efavdb 3 hours ago|||
I guess that makes sense. as you get to higher dimensions, most points sit very close to the surface. So if we're trading off N things and N >> 1, expect to basically always be at the pareto boundary.
jerf 4 hours ago|||
Yes, I don't mean to imply that this is some sort of clear majority situation or anything. I just mean that I've definitely both seen on HN and participated in real life in some conversations in which it was taken as given that we must give up one thing to get another when nobody had in fact established that we were on the Pareto frontier. Or, considered from a local point of view, whether the tradeoff really was inevitable. I have had cases where we could have had both, with no difficulty.
whateveracct 2 hours ago|||
"making tradeoffs" is an excuse for management to cut corners to get their feature faster at the cost of future developer pain and suffering

you know how japanese oni would roll human souls into soba noodles? [1]

that's what modern corporate software company management does :)

[1] i learned about this from the very funny gintama funeral episode

voidhorse 6 hours ago|||
Yes, the difference between coding (writing software) and engineering (making informed trade offs about system design) is effectively bound up in analyses like those supported by concepts like pareto efficiency.

One should keep in mind though that not all problems have a neat solution. Many spaces have multiple efficient points that still need to be chosen from, and many pareto optimization problems actually become NP hard computationally when the problem is large enough.

_davide_ 3 hours ago|||
this is a silly oversimplification
dzonga 4 hours ago||
there's something equivalent in the business world - mostly used by businesses not run by psychopaths - where you optimize inside 2 triangles with the points on the triangle being cost, profit, & user utility/happiness.
phonon 3 hours ago||
Are they conjoined triangles?
uzerfcwn 1 hour ago||
I did similar analysis a couple years ago for optimizing item builds in WoW classic. The tricky part in WoW is that there are 15ish item slots with hundreds of item choices for each slot, so the total number of builds is well over 100^15.

I ended up using a divide-and-conquer style approach, where I 1) pruned items that weren't on the Pareto frontier individually for each slot, 2) took the two slots X and Y that had the least items after pruning and grouped them by calculating Z:={x+y|x∈X,y∈Y}, 3) pruned items that weren't on the Pareto frontier in Z, and 4) repeated steps 2-3 until there was only one group remaining, comprised of the full Pareto-optimal item builds.

This ran in a couple of seconds, as opposed to the other solutions I tried that took somewhere between minutes and years. The downside was that including set bonuses into the model took extra work.

r3trohack3r 45 minutes ago|
Fascinating! Do you still have any of the code or datasets/datasources laying around?
__s 6 hours ago||
> You probably won't pick a driver sitting on the edge of the frontier because you want some balance between speed and acceleration

for super mario kart speedruns go with bowser/dk: https://www.speedrun.com/smk/runs/zp68nr8m

That seemed to hold up for Mario Kart 8 too going with Bowser at the edge of their pareto frontier, https://www.speedrun.com/mk8

needing acceleration is a skill issue

rtkwe 5 hours ago||
It's optimizing for different environments and opponents, the speed runs only have to deal with the AI not human players and take such crazy paths the AI isn't around to really mess with them so they don't have to worry about reaccelerating. In versus it's much less likely you'll be able to avoid all the other players so you need to be able to get back up to speed after being hit. A common strategy in the online vs mode is actually back running to collect better items then cashing them in rapidly to win.
nightpool 2 hours ago|||
This used to be true on older patches but it's not at all how top players play these days. See e.g. https://www.youtube.com/watch?v=ejt52UgnhAo for an example of the meta that prevailed for top-level versus play around the end of MK8's lifespan (Yoshi Biddybuggy Roller or Yoshi Teddybuggy Roller depending on your preferred drift style) or https://www.youtube.com/watch?v=vvrCP50Gfj4 for a breakdown of some of the latest time trial world records. At the beginning of the game's lifecycle top speed was the most important stat, but as more tricks were developed and the game's balance was adjusted, having faster and more consistent miniturbo boosts became much more important.

(Mario Kart World, which isn't covered in this article, has a more standard speed vs acceleration trade off but in that game high-max-speed (heavy) combos have even worse problems due to the way the rail grind mechanic was implemented and what seems to be an unforeseen interaction with the coin curve see e.g. https://www.youtube.com/shorts/sPyur6BkiOs)

frantathefranta 6 hours ago|||
On the other hand, if you are a casual and want to dominate 99% races you enter at people's homes, pick Toadette (with Mr. Scooty). I don't think I've lost since 2019.
_superposition_ 6 hours ago|||
Lol skill issue... Right! But that's how you choose your weights. If you're not a great driver you need to give more consideration to acceleration.
kommunicate 3 hours ago|||
no, even in time trials it depends on the track. If top speed were the most important metric you would see the same meta build for every world record time trial, but that's not the case.

Also, miniturbo is the single most important stat in the game, not top speed

paytonjjones 6 hours ago|||
Speedruns are for playing the track solo, right?

If you're playing normally (with other people and items), even the most skilled player can't avoid getting hit by some universal items and will benefit from acceleration.

Hence, as the author notes, the balanced build with Peach being favored among competitive players.

drdexebtjl 3 hours ago|||
Acceleration is not very important at a high enough level because you can mini-turbo up to top speed when you get hit.
crtasm 6 hours ago|||
GP first link is to a speedrun in the all cups category, played with items and computer opponents. There's a video included.

People do speedrun the individual tracks solo in other categories.

bspammer 4 hours ago|||
For a speedrun you don't care about 100 failed runs as long as you get the world record once. You're basically hoping to get lucky that the computer opponent won't hit you. Obviously you're going to pick the greediest (i.e highest speed) choice in that setting, that doesn't make it good in normal gameplay.
__s 5 hours ago|||
It's a fair point that such an environment will be different than playing against other humans
dmonitor 4 hours ago|||
Acceleration is pointless because of the hidden Mini Turbo stat
ChrisGreenHeur 6 hours ago||
Adding skill is just another dimension to the calculation.
c7b 16 minutes ago||
Skill factors into your utility function, not the Pareto frontier, which is the same for everyone.
a3w 7 hours ago||
I did not understand https://news.ycombinator.com/item?id=49096439, but I understood this.
prvc 6 hours ago||
I am the complete opposite of that. My attention wanes when someone fails to get to the point, instead dwelling in irrelevant details which are not intrinsically interesting. Have to muster the motivation to concentrate in such circumstances, and doing so is not enjoyable.
pavel_lishin 3 hours ago|||
What's the Pareto front of "get to the point" vs. "attempt to tell a compelling story"?
woodrowbarlow 6 hours ago|||
is this also true when the irrelevant details are (by coincidence) interesting (to you)? it sounds to me like GP is interested in mario kart and you simply aren't, so this is a perfectly natural result.
kelvinjps10 5 hours ago||
I’m not interested on Mario kart at all and still found the article to be interesting.
dxdm 2 hours ago|||
But Wikipedia tells you in the first paragraph what it's all about.

A "Pareto front represents the set of solutions where no solution outperforms any other solution in the set at every objective, and every solution not in the set is outperformed by at least one solution in the Pareto front in every objective"

Maxatar 1 hour ago||
Knowing a definition is not the same as understanding. I know this first hand from interviewing people who at the beginning of the interview can confidently tell me the definition of certain principles in statistics that I ask them about, and then later on in the very same interview when I present to them a real world scenario to analyze, they are completely oblivious that the very concept they explained to me so articulately when we started the interview is the very same concept needed to solve the real world scenario being presented to them.

In general Wikipedia isn't a great way to learn new concepts; it's a good reference when you're already familiar with something and need to brush up on it.

caxco93 7 hours ago|||
I can only imagine the guy that made Mario Meets Pareto waiting for some Pareto related post to hit the front page before sharing his
darkwater 6 hours ago||
I remember seeing this on HN frontpage already in the past, and indeed here it is: https://news.ycombinator.com/item?id=39936246
fl4regun 6 hours ago|||
wiki is usually not great at teaching new concepts, better as a reference for someone who already learned something.
applfanboysbgon 6 hours ago||
It turns out a lot of things are extremely accessible to a lot more people when you teach them as concrete, relatable scenarios in simple language with useful visualizations instead of abstract X, Y foos and bars described with an unfamiliar jargon term every 3rd word. We really need to do better when it comes to pedagogy.
moomin 5 hours ago||
Of course I, and most of the dads I know, optimise for something else: what’s the car that will keep me competitive, but probably losing, to the kids?
jedberg 5 hours ago||
I don't. I need to keep winning until I can't to keep the boy in his place. He is getting closer every time. I know my day is soon to end, and a new house champion will reign.
hamburglar 3 hours ago|||
I’m still trying to beat my dad at ping pong. He’s 75.
jedberg 2 hours ago||
Keep at it tiger, you'll get him one day!
SaltyBackendGuy 3 hours ago||||
Ha exactly. Can't let the kids win for free.
aselimov3 3 hours ago||||
This was going to be my reply. Can't let them get ahead of you too quick.
8n4vidtmkvmk 4 hours ago|||
Better get the trophy ready
kridsdale1 4 hours ago|||
My trick is to just never power slide when I need to be handicapped to not ruin the kids Christmas. Or tap the accel A button in a PWM pattern.
sudobash1 3 hours ago||
I often use the wii wheel as my handicap for family, but my wife (new to games) is now good enough that I might need to switch that soon.

When my oldest was first trying Mario Kart, his uncle came over and played against him blindfolded (and still won). It was very entertaining to watch.

CobrastanJorji 3 hours ago||
I love when people do an amazing job carefully explaining something complicated in a way that makes it seem very intuitive. Excellent job. Way to show off those technical communication chops!
cortesoft 3 hours ago||
There are a few things that are assumed to be true when talking about the Pareto frontier here, but aren’t always true.

One, that more of something is always better, e.g. it is always better to have more speed.

Maybe, but what if having too much speed causes you to run off the track and perform worse? It could be that there is actually a peak in the utility of speed that declines as it increases.

There could also be important relations between attributes that make determining a Pareto frontier impossible or at least more difficult. For example, some pairs of attributes work best when they are a specific ratio, and increasing one or the other will actually decrease utility unless the other is increased at the same time.

Barbing 2 hours ago||
> [is it really] always better to have more speed[?]

I'm reminded of two things that in a way support your premise with the second example being more relevant. Both are outside what’s being discussed exactly, more about knock-on effects maybe, anyway:

The first is that Angry Birds found the speed of launching birds into structures was important for engagement: it cannot be too fast.

The second is from a commenter somewhere who said they had or worked on software that took ten minutes to boot in the morning, which is when employees made coffee and talked and brainstormed. Everyone was disappointed when after refactoring, the software booted immediately.

latexr 2 hours ago||
The second story made be think of XKCD 1172.

https://xkcd.com/1172/

Barbing 1 hour ago||
Love spacebar heating
dfdydx 2 hours ago||
Wouldn't that just change the shape of the pareto frontier? It stops at some point (when marginal utility becomes negative) - but this is not special, they typically stop at 0 as well.
tgtweak 1 hour ago||
2020: https://www.civisanalytics.com/resources/the-best-mario-kart...

OG credit to: Henry Hinnefeld 2015: https://hinnefe2.github.io/python/tools/2015/09/21/mario-kar...

Retr0id 7 hours ago|
Previous discussion (2024): https://news.ycombinator.com/item?id=39936246
More comments...