[HN Gopher] Mario meets Pareto
       ___________________________________________________________________
        
       Mario meets Pareto
        
       Author : superMayo
       Score  : 1461 points
       Date   : 2024-04-04 21:53 UTC (1 days ago)
        
 (HTM) web link (www.mayerowitz.io)
 (TXT) w3m dump (www.mayerowitz.io)
        
       | ihaveajob wrote:
       | Beautiful presentation. I love when visualizations serve the goal
       | and not the other way around. Tufte would be proud.
        
         | Fnoord wrote:
         | 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.
        
           | djbusby wrote:
           | 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) ;)
        
           | captn3m0 wrote:
           | Bugged out for me around 2/3 on Firefox/iOS (which is really
           | Safari) with Lockdown mode.
        
           | denkmoon wrote:
           | 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.
        
         | vavooom wrote:
         | The switch from 2D to 3D was so seemless and beautiful I
         | actually gasped.
        
           | pcchristie wrote:
           | Yep same, I let out an audible "nooooo....".
        
           | smlacy wrote:
           | Maybe it was 3D the entire time. :)
        
           | ndr wrote:
           | Same. What a beautiful plot twist.
        
           | superMayo wrote:
           | 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!
        
             | KeplerBoy wrote:
             | Could you not just use a parallel projection (which should
             | be the default for this kind of 3d scatter plot)?
        
               | superMayo wrote:
               | 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).
        
             | danbruc wrote:
             | 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
        
             | oneeyedpigeon wrote:
             | 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 :)
        
           | helboi4 wrote:
           | Honestly, I was so impressed.
        
         | wgx wrote:
         | > would
         | 
         | Tufte is still alive!
        
           | ihaveajob wrote:
           | Of course, but I'm not inside his head :)
        
       | martijnarts wrote:
       | 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!
        
       | michael-online wrote:
       | 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.
        
       | quibono wrote:
       | 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?
        
         | swyx wrote:
         | keyword you want is "scrollytelling". lots of tutorials here
         | and on youtube. easy to start hard to master like with most
         | things.
        
       | amarshall wrote:
       | One thing this should mention is what game version it uses.
       | Updates frequently change the stats and thus what builds are
       | "best".
        
         | jdmarble wrote:
         | 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!
        
           | crtasm wrote:
           | 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
        
         | rafd wrote:
         | Mario Kart 8 is now frozen, no more patches to come.
        
         | superMayo wrote:
         | It's the latest version, stats are from
         | https://www.mariowiki.com/Mario_Kart_8_Deluxe_in-game_statis...
        
       | modeless wrote:
       | Wait, Bowser and Wario are the fastest? I thought it was the
       | other way around. I guess it's reversed from Mario Kart 64.
        
         | CapnCrunchie wrote:
         | They have the highest top speed. It was that way in Mario Kart
         | 64 as well. They have the worst acceleration though.
        
           | modeless wrote:
           | This is not true. The lighter characters Yoshi and Peach and
           | Toad had higher top speed in 64. https://tasvideos.org/GameRe
           | sources/N64/MarioKart64#:~:text=...
        
         | xanderlewis wrote:
         | 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.
        
           | cout wrote:
           | 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.
        
         | thiagotomei wrote:
         | It's exactly as in Mario Kart 64! Remember, heavy characters
         | have the higher top speed, but light characters have the higher
         | _acceleration_!
        
           | modeless wrote:
           | 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/Mar
           | ioKart64#:~:text=...
        
             | posix86 wrote:
             | That'd make the heavy characters completely useless, once
             | you're behind, there's no way to catch up anymore!
        
               | coryrc wrote:
               | Yes, except for items and doing better in the pack.
        
               | re wrote:
               | Heavy characters in Mario 64 have tighter handling than
               | lighter characters and can cause them to spin out when
               | bumping into them.
        
               | posix86 wrote:
               | How, if both your acceleration _and_ your top speed is
               | worse?
        
               | re wrote:
               | 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.
        
               | willcipriano wrote:
               | It's not a big difference and you can't be at top speed
               | for long.
        
           | xtracto wrote:
           | 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.
        
         | thiagoharry wrote:
         | Yes, but with their poor acceleration, and given how chaotic
         | some Mario Kart races are, it is hard to achieve their maximum
         | speed.
        
         | SrslyJosh wrote:
         | Yes, but higher-speed characters have lower acceleration and
         | less mini-turbo, which disadvantages them in many situations.
        
       | xanderlewis wrote:
       | 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.
        
         | throwaway598 wrote:
         | If it was Pareto efficient, Koopa would do better too.
        
         | teekert wrote:
         | 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 ;)
        
         | laborcontract wrote:
         | 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".
        
           | georgesimon wrote:
           | 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.
        
         | redman25 wrote:
         | I wonder if Koopa does better with different customization?
        
           | dwringer wrote:
           | 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.
        
       | jbjbjbjb wrote:
       | I was disappointed by the lack of a radar chart
        
       | bombcar wrote:
       | I did not know the drivers and carts made a difference at all.
        
       | fredsmith219 wrote:
       | My 9 yo is better than me at Mario Kart but not by much. This
       | knowledge may make the difference for me. Thank you!
        
         | wheelinsupial wrote:
         | 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.
        
           | brrrrrm wrote:
           | this one groups the characters/cars by identical stats:
           | https://www.bettermk8dxbuilder.com
        
         | sph wrote:
         | 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 :)
        
       | 0cf8612b2e1e wrote:
       | 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)?
        
         | Laremere wrote:
         | 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.
        
         | Madmallard wrote:
         | 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.
        
         | nonethewiser wrote:
         | 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.
        
           | brrrrrm wrote:
           | 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).
        
         | CameronAavik wrote:
         | 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.
        
           | thaumasiotes wrote:
           | > 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?
        
         | prmoustache wrote:
         | "professionals"? This is Mario Kart we are speaking about, not
         | formula 1 or counter strike.
        
           | CameronAavik wrote:
           | 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/
        
       | throwawayk7h wrote:
       | 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.
        
         | rvba wrote:
         | Why is it rounded down?
        
           | throwawayk7h wrote:
           | 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.
        
       | jeffbee wrote:
       | Missed a unique opportunity to title the article: It's-a-me,
       | Vilfredo!
        
       | SrslyJosh wrote:
       | 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.
        
       | SignalM wrote:
       | Very cool love the design of the site and now I know which cart
       | to win with
        
       | rozab wrote:
       | 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...
        
         | brrrrrm wrote:
         | that one doesn't have mini-turbo, which has largely superseded
         | acceleration as a stat (it correlates but isn't 1:1)
        
           | mikepurvis wrote:
           | 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.
        
         | sequoia wrote:
         | 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.
        
       | jmholla wrote:
       | 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.
        
         | VelesDude wrote:
         | There are no grounds on which I can disagree with you.
        
           | hypercube33 wrote:
           | But you can add that as a dimension to the chart!
        
             | sspiff wrote:
             | 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?
        
               | Cthulhu_ wrote:
               | 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.
        
               | thaumasiotes wrote:
               | 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.
        
         | aidenn0 wrote:
         | 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.
        
           | pushedx wrote:
           | Also keep in mind that the 3.0.0 patch for Deluxe changed a
           | bunch of stats.
        
         | bovermyer wrote:
         | You're just optimizing for a different outcome. You could still
         | apply this thinking, just with "Zelda adjacency" as the primary
         | metric.
        
         | kzzzznot wrote:
         | 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 :)
        
       | dluan wrote:
       | Now this is ~~pod racing~~, uh, game theory
        
       | Buttons840 wrote:
       | 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.
        
         | swaits wrote:
         | 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.
        
         | eggdaft wrote:
         | If by "optional" you mean "optimal" then no, a GA is not
         | guaranteed to find the optimal solution in the general case.
        
       | non-chalad wrote:
       | How would this mesh with Halo Kart (2)?
       | 
       | 2. https://www.youtube.com/watch?v=9K0IcawLpCE
        
       | petesergeant wrote:
       | 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.
        
         | superMayo wrote:
         | I hope your character is not Koopa
        
       | jhatemyjob wrote:
       | God I am so disappointed, I thought he disassembled Mario Kart 64
       | into C and refactored the codebase. Fuck my life
        
         | keithalewis wrote:
         | No, just go get one. Don't be a PL obsessing over a video game.
        
         | superMayo wrote:
         | So sorry I've disappointed you, but don't fuck your life plz
        
       | y1zhou wrote:
       | 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.
        
       | evilc00kie wrote:
       | tl;dr: use peach with teddy buggy, roller tires and the cloud
       | glider.
        
       | stefanlindbohm wrote:
       | 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.
        
         | ndr wrote:
         | Isn't this what the last part of TFA covers?
        
       | bandrami wrote:
       | 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.
        
         | sspiff wrote:
         | 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.
        
         | baku-fr wrote:
         | 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.
        
       | LarsDu88 wrote:
       | This is seriously the most impressive visualization I've ever
       | seen. What tool did the author use to do this?
        
         | simple10 wrote:
         | Looks like svelte + three.js
         | 
         | Svelte has some pretty nice built-in scroll animation support:
         | https://svelte.dev/repl/051cd352ce284d15b55c91c8b30fa32f?ver...
        
           | hantusk wrote:
           | more specifically it's using the svelte wrapper of three.js
           | called Threlte: https://threlte.xyz/
        
           | superMayo wrote:
           | 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.
        
             | simple10 wrote:
             | Thanks for sharing the tech stack. It's a really impressive
             | site.
        
         | danans wrote:
         | Looks like Svelte (https://svelte.dev/)
        
         | _nhh wrote:
         | Nothing beats https://ciechanow.ski/sound/
        
       | themoonisachees wrote:
       | 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?
        
         | superMayo wrote:
         | Thank's for the info, will fix asap !
        
       | neokrish wrote:
       | This is absolutely brilliant! Bookmarked and I'm sure I'll be
       | revisiting this and sharing this broadly!
        
       | Saba21 wrote:
       | Cool, great!
        
       | micheljansen wrote:
       | This article was way more interesting than the title suggested.
       | Well done!
        
         | andai wrote:
         | The submission originally had a much more descriptive title,
         | but it was changed to match the article's title as per the
         | rules.
        
       | james_a_craig wrote:
       | 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!
        
         | atomicUpdate wrote:
         | > 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.
        
       | wcrossbow wrote:
       | 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.
        
         | CGamesPlay wrote:
         | 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!
        
           | kibwen wrote:
           | 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.
        
         | KeplerBoy wrote:
         | 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.
        
           | wcrossbow wrote:
           | 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.
        
             | kibwen wrote:
             | _> 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.
        
           | TheLegace wrote:
           | 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?
        
         | littlelady wrote:
         | 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.
        
       | anArbitraryOne wrote:
       | 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
        
       | yu3zhou4 wrote:
       | Here's the repo: https://github.com/SuperMayo/mayerowitz.io
        
       | Etherlord87 wrote:
       | 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...
        
         | Scarblac wrote:
         | 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.
        
         | lkirkwood wrote:
         | 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.
        
       | samwho wrote:
       | This is superb. Really great work!
        
       | jeroenvlek wrote:
       | This is the kind of content I'm here for. Thank you, superMayo!
        
       | trojanalert wrote:
       | This is so darn good!
        
       | blauditore wrote:
       | 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.
        
       | Mulderns wrote:
       | 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.
        
         | po wrote:
         | 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.
        
       | frankvdwaal wrote:
       | 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."
        
       | AtlasBarfed wrote:
       | Mario kart doesn't have weight as a metric for speed in turns?
        
       | dancemethis wrote:
       | _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.
        
       | HiJon89 wrote:
       | 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
        
         | cout wrote:
         | 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.
        
         | kzzzznot wrote:
         | 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.
        
       | kqr wrote:
       | > 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...
        
         | gizmo wrote:
         | 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.
        
       | batterylow wrote:
       | Nice analysis and visualisation! I used a Pareto approach for my
       | exercise and a project I'm working on - https://limitgym.com
        
       | davemp wrote:
       | 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.
        
         | Cthulhu_ wrote:
         | 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.
        
           | cableshaft wrote:
           | 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.
        
           | davemp wrote:
           | 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?
        
           | ToValueFunfetti wrote:
           | 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.
        
           | gwd wrote:
           | > 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.
        
         | pksebben wrote:
         | 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".
        
           | kibwen wrote:
           | 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).
        
             | davemp wrote:
             | > 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.
        
               | kibwen wrote:
               | _> 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.
        
               | davemp wrote:
               | 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
        
         | cout wrote:
         | 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.
        
         | sizzle wrote:
         | That's why my go-to Mario kart is the N64 version. No bs just
         | pick a character and go
        
           | goostavos wrote:
           | 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).
        
         | OOPMan wrote:
         | 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.
        
         | pphysch wrote:
         | 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).
        
         | hinkley wrote:
         | 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.
        
         | yawnxyz wrote:
         | 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.
        
       | countvonbalzac wrote:
       | 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...
        
       ___________________________________________________________________
       (page generated 2024-04-05 23:01 UTC)