Jump to content
ACP

Average Prize Model

Recommended Posts

»ACP    33422

I haven't played TCGs for about a year now, but when I did, I put a lot of thought into which deck I'd play for any given event. Once I moved past my "play Gadgets at any tournament" phase, any deck that I decided to play was based on my opinion of its relative position in the metagame. A routine calculation that I would preform was a deck's average matchup vs the field. This is not difficult to do, even for those that are not mathematically inclined. The formula is simply the sum over all decks of your matchup vs the deck multiplied by its share of the metagame. For example, suppose there are three decks in the metagame, decks A (40% of the field), deck B (35% of the field), and deck C (25% of the field). If we beat deck A 50% of the time, deck B 45% of the time, and deck C 75% of the time, our overall matchup is .5*.4 + .45*.35 + .75*.25 = .545, so overall we're winning 54.5% of our matches. Not bad. Like I said, the calculation is easy to perform, the rationale behind the calculation is easy to accept, and I accepted "highest average matchup" as the golden standard for "the best deck" for my entire TCG career. It's somewhat ironic that when I stopped playing TCGs I was introduced to new ideas that made me question how I had thought about TCG matchups years prior.
 
Shortly after I decided to take a break from TCGs, I was introduced to the world of competitive poker, and if you know me, you won't be surprised to learn that I got hooked right away. I won't bore you with all of the details of how that's been going for me, but I will say that I'm winning and enjoying it. The game is poker has a lot more literature and math than TCGs do, partially on the basis of just having existed longer and being more high stakes in nature. Like TCGs, poker has tournaments, which are more similar than you might think. Our goal is to do as well in them as we can. The highest prizes go to the final table (which is like the top cut in TCGs), and once we get to the final table, we're trying to make the best possible decisions to finish in the best possible place. In poker, we have a clearly defined goal: to make money. Chips are just a means to an end in that regard. Players eventually came to realize that prize distribution could affect what the correct play for a given tournament was. A top heavy prize pool incentivized higher variance strategies, and vice-versa. They developed a mathematics to match this concept, and called it the Independent Chip Model.
 
I soon realized that this concept almost directly translated to TCG tournaments as well. To use an extreme example to get people to think about this concept, I proposed this question: http://duelistgroundz.com/index.php?showtopic=167171. Like in poker, the correct answer to "What should our strategy be in this TCG tournament?" is "It depends on the prizes." While we can't easily calculate the probability of finishing in each place of the tournament and multiply it by the prize, we can write a program to run a bunch of simulations and do something similar (code and link to the program at the end of this post). Rather than focusing on any given deck's average matchup, we should be focusing on this deck's ability to actually win us prizes. A deck may have a 60% average matchup, but a record of 6-4 doesn't win prizes at most tournaments, so who cares? As some posters quickly realized, a higher average matchup does not necessarily correlate with better odds to win the tournament, due to the fact that brackets can become skewed as the tournament progresses.
 
So as far as the actual RPS problem goes, here is a common example where paper in the best pick: a local 20-person tournament that cuts to top8 and equally splits the top8 prize pool. Here's the input and output of our tournament simulator:

How many different decktypes are there in the tournament? 3
Matchups are a decimal number between 0 and 1.
How often does deck 0 beat deck 1? 0
How often does deck 0 beat deck 2? 1
How often does deck 1 beat deck 2? 0
How many copies of deck 0 are there in the tournament? 9
How many copies of deck 1 are there in the tournament? 9
How many copies of deck 2 are there in the tournament? 2
How many rounds are in the tournament? (0 for log rounds) 5
How large is the top cut? Top cut must be a power of 2. Enter 0 for no top cut. Top cut = 2^3
Enter prize info. Type 0 to stop.
Place 1 = $20
Place 2 = $20
Place 3 = $20
Place 4 = $20
Place 5 = $20
Place 6 = $20
Place 7 = $20
Place 8 = $20
Place 9 = $0
How many simulations to run? 10000
 
-Deck 0- (This is rock)
Average wins: 1.8162222222222222
Average cash: $2.13
 
-Deck 1- (This is paper)
Average wins: 3.7266333333333335
Average cash: $13.578
 
-Deck 2- (This is scissors)
Average wins: 3.55715
Average cash: $9.314

You'll notice here that paper had the highest average wins (which is the same metric as average matchup) and also had the highest average cash. Now let's suppose that instead we attended a 200-person 8-round cut to top16 ARG event with their top-heavy prize pool.

How many different decktypes are there in the tournament? 3
Matchups are a decimal number between 0 and 1.
How often does deck 0 beat deck 1? 0
How often does deck 0 beat deck 2? 1
How often does deck 1 beat deck 2? 0
How many copies of deck 0 are there in the tournament? 90
How many copies of deck 1 are there in the tournament? 90
How many copies of deck 2 are there in the tournament? 20
How many rounds are in the tournament? (0 for log rounds) 8
How large is the top cut? Top cut must be a power of 2. Enter 0 for no top cut. Top cut = 2^4
Enter prize info. Type 0 to stop.
Place 1 = $1500
Place 2 = $800
Place 3 = $350
Place 4 = $350
Place 5 = $150
Place 6 = $150
Place 7 = $150
Place 8 = $150
Place 9 = $75
Place 10 = $75
Place 11 = $75
Place 12 = $75
Place 13 = $75
Place 14 = $75
Place 15 = $75
Place 16 = $75
Place 17 = $50
Place 18 = $50
Place 19 = $50
Place 20 = $50
Place 21 = $50
Place 22 = $50
Place 23 = $50
Place 24 = $50
Place 25 = $50
Place 26 = $50
Place 27 = $50
Place 28 = $50
Place 29 = $50
Place 30 = $50
Place 31 = $50
Place 32 = $50
Place 33 = $0
How many simulations to run? 10000
 
-Deck 0- (This is rock)
Average wins: 3.1072966666666666
Average cash: $0.56975
 
-Deck 1- (This is paper)
Average wins: 4.918843333333333
Average cash: $17.021
 
-Deck 2- (This is scissors)
Average wins: 4.63237
Average cash: $170.841625

You'll notice now that while paper still has the highest average matchup (this will always be true), scissors has the highest average cash... by miles. As a high variance strategy, scissors will be polarized at the top of the brackets and the bottom of the brackets (depending on how their early rounds go), but that's great in a tournament where getting first place is so valuable.
 
Take aways from this experiment:
- Best average matchup =/= best average cash
- Higher variance strategies have much more merit in longer tournaments with more top-heavy prize support (and vice-versa).
 
And now the moment you've all been waiting for. You can now run your own experiments using your own numbers and be able to quantitatively measure a deck's strength at any particular tournament (assuming of course that you know the matchups and the metagame). Here's an example using my own estimates of the matchups and metagame during the Nationals 2010 format (using numbers from TGA's 2K tournament for prize pool, entrants, rounds, and top cut).
 
Deck 0 = X-Sabers
Deck 1 = Infernities
Deck 2 = Gladiator Beasts
Deck 3 = Blackwings
Deck 4 = Frog FTK
Deck 5 = Stun
Deck 6 = Herald of Perfection
Deck 7 = Frog Monarch
 
With my (biased) estimation of the matchups and metagame in the format, these are the results that I got:

How many different decktypes are there in the tournament? 8
Matchups are a decimal number between 0 and 1.
How often does deck 0 beat deck 1? .65
How often does deck 0 beat deck 2? .5
How often does deck 0 beat deck 3? .6
How often does deck 0 beat deck 4? .25
How often does deck 0 beat deck 5? .45
How often does deck 0 beat deck 6? .55
How often does deck 0 beat deck 7? .35
How often does deck 1 beat deck 2? .5
How often does deck 1 beat deck 3? .4
How often does deck 1 beat deck 4? .4
How often does deck 1 beat deck 5? .4
How often does deck 1 beat deck 6? .5
How often does deck 1 beat deck 7? .8
How often does deck 2 beat deck 3? .35
How often does deck 2 beat deck 4? .55
How often does deck 2 beat deck 5? .5
How often does deck 2 beat deck 6? .75
How often does deck 2 beat deck 7? .8
How often does deck 3 beat deck 4? .35
How often does deck 3 beat deck 5? .65
How often does deck 3 beat deck 6? .5
How often does deck 3 beat deck 7? .35
How often does deck 4 beat deck 5? .4
How often does deck 4 beat deck 6? .25
How often does deck 4 beat deck 7? .85
How often does deck 5 beat deck 6? .45
How often does deck 5 beat deck 7? .45
How often does deck 6 beat deck 7? .75
How many copies of deck 0 are there in the tournament? 30
How many copies of deck 1 are there in the tournament? 15
How many copies of deck 2 are there in the tournament? 20
How many copies of deck 3 are there in the tournament? 10
How many copies of deck 4 are there in the tournament? 5
How many copies of deck 5 are there in the tournament? 10
How many copies of deck 6 are there in the tournament? 5
How many copies of deck 7 are there in the tournament? 5
How many rounds are in the tournament? (0 for log rounds) 7
How large is the top cut? Top cut must be a power of 2. Enter 0 for no top cut. Top cut = 2^3
Enter prize info. Type 0 to stop.
Place 1 = $800
Place 2 = $400
Place 3 = $200
Place 4 = $200
Place 5 = $100
Place 6 = $100
Place 7 = $100
Place 8 = $100
Place 9 = $0
How many simulations to run? 10000
 
-Deck 0- (X-Sabers)
Average wins: 3.63642
Average cash: $19.773333333333333
 
-Deck 1- (Infernities)
Average wins: 3.1563266666666667
Average cash: $8.660666666666666
 
-Deck 2- (Gladiator Beasts)
Average wins: 3.677575
Average cash: $21.93
 
-Deck 3- (Blackwings)
Average wins: 3.68905
Average cash: $23.12
 
-Deck 4- (Frog FTK)
Average wins: 4.32566
Average cash: $51.792
 
-Deck 5- (Stun)
Average wins: 3.68747
Average cash: $24.293
 
-Deck 6- (Herald of Perfection)
Average wins: 3.30048
Average cash: $12.84
 
-Deck 7- (Frog Monarch)
Average wins: 3.02302
Average cash: $8.2

In this particular case, average matchup and average matchup certainly seems to go together, but something interesting that you'll notice is how much a higher average matchup converted into a higher average cash in the case of Frog FTK, raking in more than twice as much money than any other deck. You will also notice that Stun brings in a dollar more than Blackwings on average, despite having virtually the same average matchup (Blackwings is actually slightly higher).
 
Here's the download link for the program so you can run it yourself (feel free to post the results of your own experiments!): https://drive.google.com/file/d/0B8LYKVcwcHQdNVBCUWhrYUlNb0U/view?usp=sharing. To run the program, go to command prompt and type in java -jar "[insert file path here]". For me, I would type in: java -jar "E:\Documents\NetBeans\matchupsimulator\dist\matchupsimulator.jar"
 
Here's the program's code:

package matchupsimulator;
 
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
 
public class Matchupsimulator 
{
    public static void main(String[] args) 
    {
        Scanner input = new Scanner(System.in);
        int number;
        
        System.out.printf("How many different decktypes are there in the tournament? ");
        number = input.nextInt();
        
        double[][] matchuptable = new double[number][number];
        System.out.println("Matchups are a decimal number between 0 and 1.");
        
        for (int i = 0; i < number; i++)
        {
            for (int j = i; j < number; j++)
            {
                if (i == j)
                {
                    matchuptable[i][j] = .5;
                }
                else
                {
                    System.out.printf("How often does deck " + i + " beat deck " + j + "? ");
                    matchuptable[i][j] = input.nextDouble();
                    matchuptable[j][i] = 1 - matchuptable[i][j];
                }
            }
        }
        
        int[] metagame = new int[number];
        int numplayers = 0;
        
        for (int i = 0; i < number; i++)
        {
            System.out.printf("How many copies of deck " + i + " are there in the tournament? ");
            metagame[i] = input.nextInt();
            numplayers += metagame[i];
        }
        
        System.out.printf("How many rounds are in the tournament? (0 for log rounds) ");
        int rounds = input.nextInt();
        
        if (rounds == 0)
        {
            rounds = (int)Math.ceil(Math.log(numplayers)/Math.log(2));
        }
        
        System.out.printf("How large is the top cut? Top cut must be a power of 2. Enter 0 for no top cut. Top cut = 2^");
        int topcut = (int)Math.pow(2, input.nextInt());
        
        ArrayList<Double> prizes = new ArrayList<>();
        System.out.println("Enter prize info. Type 0 to stop.");
        
        int place = 1;
        
        do
        {
            System.out.printf("Place " + place + " = $");
            prizes.add(input.nextDouble());
            place++;
        } while(prizes.get(prizes.size()-1) != 0);
        
        System.out.printf("How many simulations to run? ");
        int sims = input.nextInt();
        
        double[] totalwins = new double[number];
        double[] totalcash = new double[number];
        
        for(int simnum = 0; simnum < sims; simnum++)
        {
            ArrayList<Player> players = new ArrayList<>();
        
            int ID = 0;
            for (int i = 0; i < number; i++)
            {
                for(int j = 0; j < metagame[i]; j++)
                {
                    players.add(new Player(ID, i));
                    ID++;
                }
            }
            
            for (int round = 1; round <= rounds; round++)
            {
                Collections.shuffle(players);
                Collections.sort(players);
                
                if (players.size() % 2 != 0)
                {
                    players.get(players.size()-1).wins++;
                }
                
                for (int i = 0; i < players.size(); i += 2)
                {
                    int player1deck = players.get(i).decktype;
                    int player2deck = players.get(i+1).decktype;
                    
                    if (Math.random() < matchuptable[player1deck][player2deck])
                    {
                        players.get(i).wins++;
                        players.get(i+1).losses++;
                    }
                    else
                    {
                        players.get(i).losses++;
                        players.get(i+1).wins++;
                    }
                }
            }
            
            Collections.shuffle(players);
            Collections.sort(players);
            
            for (int currentcut = topcut; currentcut > 1; currentcut /= 2)
            {
                for (int i = 0; i < currentcut/2; i++)
                {
                    int player1deck = players.get(i).decktype;
                    int player2deck = players.get(currentcut-i-1).decktype;
                    
                    if (Math.random() < matchuptable[player1deck][player2deck])
                    {
                        players.get(i).wins++;
                        players.get(currentcut-i-1).losses++;
                    }
                    else
                    {
                        players.get(i).losses++;
                        players.get(currentcut-i-1).wins++;
                        Collections.swap(players, i, currentcut-i-1);
                    }
                }
            }
            
            for (int i = 0; i < number; i++)
            {
                for (int j = 0; j < players.size(); j++)
                {
                    if (players.get(j).decktype == i)
                    {
                        totalwins[i] += players.get(j).wins;
                        if (j < prizes.size())
                        {
                            totalcash[i] += prizes.get(j);
                        }
                    }
                }
            }
        }
        
        for (int i = 0; i < number; i++)
        {
            System.out.println("\n-Deck " + i + "-");
            System.out.println("Average wins: " + (double)totalwins[i]/(sims*metagame[i]));
            System.out.println("Average cash: $" + totalcash[i]/(sims*metagame[i]));
        }
    }
}
 
public class Player implements Comparable<Player>
{
    int ID;
    int decktype;
    int wins;
    int losses;
    
    public Player(int ID, int decktype)
    {
        this.ID = ID;
        this.decktype = decktype;
        wins = 0;
        losses = 0;
    }
    
    @Override
    public int compareTo(Player otherPlayer) 
    {
        return (otherPlayer.wins-this.wins);
    }
}
  • Upvote 31

Share this post


Link to post
Share on other sites
»Noelle    5848

Again, the only contention is that the correct answer to what should you play isn't being dependant on prizes, but rather dependant on your goal (and the corresponding rational/irrational argument that decides one can't be put over the other.) That said, it's fair to say that if we're to put this into practical application, that the only two predominate answers that will come up on DGz are "I play for recognition" and "I play for prizes," with "I just play for fun" not being relevant to this "competitive" community. Now, it is also fair to say there is immense overlap here that corresponds with your model, due to the prizing being a constant for placing in your practical examples as far as rounds go (IE, 17th = 20th in prizes.) However, the only thing to note where these two goals contradict each other are situations where there are either A. the same prizes for different finishes (not between technical placing but actual round you lost at) or B. a non-progression of prizing. What A means is that if top 16 and top 32 had the same prizes, then with considerations to both of them it becomes not a question of cash but of recognition. B is obviously ridiculous and unreasonable, unless you're my friend that an owner of one of my locals hates so he gives people packs when they beat him. So, point blank, this is almost always going to respond to our goals so it's a good model, but in the case it doesn't correspond, the other generally expected goal here of recognition takes precedence, because cash can no longer know the difference. 

Share this post


Link to post
Share on other sites
»ACP    33422

Again, the only contention is that the correct answer to what should you play isn't being dependant on prizes, but rather dependant on your goal (and the corresponding rational/irrational argument that decides one can't be put over the other.) That said, it's fair to say that if we're to put this into practical application, that the only two predominate answers that will come up on DGz are "I play for recognition" and "I play for prizes," with "I just play for fun" not being relevant to this "competitive" community. Now, it is also fair to say there is immense overlap here that corresponds with your model, due to the prizing being a constant for placing in your practical examples as far as rounds go (IE, 17th = 20th in prizes.) However, the only thing to note where these two goals contradict each other are situations where there are either A. the same prizes for different finishes (not between technical placing but actual round you lost at) or B. a non-progression of prizing. What A means is that if top 16 and top 32 had the same prizes, then with considerations to both of them it becomes not a question of cash but of recognition. B is obviously ridiculous and unreasonable, unless you're my friend that an owner of one of my locals hates so he gives people packs when they beat him. So, point blank, this is almost always going to respond to our goals so it's a good model, but in the case it doesn't correspond, the other generally expected goal here of recognition takes precedence, because cash can no longer know the difference. 

You're just being silly. You can factor all of that into the model. If you place a $50 value on the recognition of making top16 as opposed to top32, just add $50 to the top16 prize. This could be relevant for sponsorship deals, youtube views, etc. You are right that it can't factor in bounty programs like at a YCS or your weird locals, but getting paired up against one dude in the room is virtually random anyways, so who cares?

 

The only requirement for the model to work is that you can quantify what you get (in prizes, in sponsorship deals, in psychological value) at each particular place. At MTG grand prixes for example, some people will care more about the pro points associated with some place than the actual price money. Just assign a dollar value to each pro point and proceed from there. The prizes don't all need to be in literal dollars.

  • Upvote 4

Share this post


Link to post
Share on other sites
»Noelle    5848

Oh, I guess I didn't consider translating other goals into dollar form (or just as exchange*-value between each other.) In that case yes, you can translate them into your model, and it's a good thing to note about it. 

Share this post


Link to post
Share on other sites
»ACP    33422

Right, at regionals for example, you could assign a dollar value to qualifying for nationals, a dollar value to top8 recognition, and a dollar value to the mat and binder.

 

As far as actually coming up with those numbers, it's not difficult. "If you had to pay for a nationals invite, what's the maximum that you'd be willing to pay?" In economics we call this concept "avoidance expenditures."

Share this post


Link to post
Share on other sites
Inexorably    339

Huh, I've actually been doing something similar while I was away from here.  I released a similar but more in depth tool for hearthstone here.  Obviously it's a little different as it's conquest format and such, but it shouldn't be too difficult to port to yugioh.  I'm not really interested in yugioh right now, but if you'd like I can throw you the source code and you could modify it for yugioh.  upvotes await for the person who does

Share this post


Link to post
Share on other sites
»ACP    33422

I don't know anything about Hearthstone. My program is not necessarily supposed to work for just any TCG in particular though. You could use it for Yugioh, Magic, Hearthstone, etc. Would you mind giving me a quick compare and contrast of your program vs mine?

Share this post


Link to post
Share on other sites
+scuzzlebutt    23501
conquest format is u register 3 diff decks, play bo5s and switch decks whenever u win a game (so u gotta win with all three to win a match) which would have really interesting implications for the model in the op

Share this post


Link to post
Share on other sites
Inexorably    339

Yeah, basically as Dennis said.  It is notable that in hearthstone you can't have use the same class twice (so you couldn't bring both freeze mage and tempo mage).

Share this post


Link to post
Share on other sites
+scuzzlebutt    23501

so how does this work with double elimination tournaments?

Share this post


Link to post
Share on other sites
»ACP    33422

You'd just simulate double elimination tournaments instead of swiss tournaments. So you'd just need to modify the code a bit. The theory is exactly the same.

Share this post


Link to post
Share on other sites
+scuzzlebutt    23501

i feel u

Share this post


Link to post
Share on other sites
»ACP    33422

Dude is wrong when he says that my model didn't take into account deck cost. Well, he's sort of wrong. He's right that there's nothing in there about deck cost, but you don't need some complicated program to figure it out. It's really just simple math.

Say there are two decks, A and B. Using my model, suppose that deck A is expected to take home $25 worth of prizes per YCS, and deck B is expected to take home $35 worth of prizes at a YCS. If I plan to go to 5 YCSs in some timeframe, then the total expected winnings are $125 and $175 respectively. Now if deck A costs $100 and deck B costs $200, clearly deck A is better value. The interesting implication here is that if we were to go to 10 YCSs instead, deck B would be better value. This is how a more dedicated player justifies having a more expensive deck compared to a less dedicated player. Now of course if we live in a perfectly competitive economy where we can sell our decks for 100% of their value, then deck price should play no role in which deck we select, as we could just buy whatever deck we need for an event and then sell it for full price afterwards.

Share this post


Link to post
Share on other sites
»ACP    33422

Also, William Spaniel's article made some pretty ridiculous and impractical assumptions to reach his conclusion that, "All other factors being equal, more expensive decks win more." It just goes to show that you can reach any conclusion that you want if you choose a certain set of specific assumptions.

Share this post


Link to post
Share on other sites
+scuzzlebutt    23501

yea dw I hit him with the supplementary material off tops

there are some pretty hilariously terrible comments in there, apparently reddit fox kiddies get really defensive if they think you're saying their character isn't the best

Share this post


Link to post
Share on other sites
»ACP    33422

It's kind of a silly argument to have, because humans will never be able to reach frame perfect levels of play. Every player has different strengths and weaknesses. "Player styles" are legitimate things that exist. Puff is likely the optimal choice for Hbox, and Fox is likely the optimal choice for Leffen, and there's nothing wrong with that. Imo, there is no such thing as a "best melee character" in any practical sense. All of those retards on reddit trying to convince people that Fox is the best have absolutely no real accomplishments in this game whatsoever. They're more concerned with winning internet arguments than actually being good at melee.

The difference between melee and Yugioh is that in melee you can switch characters at any time. Some of the best melee players are people who have multiple mains, in many cases to cover their weaknesses. The fact that Mango is working on a pocket Marth to crush other spacies on FD is a factor that could contribute to Mango becoming the best smash player of 2016. When Armada picked up Fox to compliment his Peach, it helped him immensely as well. Sure, Leffen and Hbox only have one main, but you have to be incredibly skilled to have success like that I feel. All things considered, Leffen is (imo) a way better Fox player than Mango is, but the fact that Mango is literally one of the best players of Fox, Falco, Falcon, Marth, Mario, and Puff gives him so many more options that allow him to see basically the same results that Leffen does. So yeah, you've got players like Leffen and Hax that are just focused on improving their Fox tech skill by that extra 1% and focused on nothing else, but that isn't the best approach to success for everyone. PewPewU is just as good of a Marth player as M2K is, and Shroomed is just as good of a Shiek player as M2K is, but the fact that M2K can play both of those characters at the highest levels is what separates him from many others. The amount of time it takes you from bringing your B game with Fox to a B+, you could be bringing your D game with Marth to a C+. The latter may often prove to be more valuable in practice.

My theory about "which thing should I choose for this tournament" is completely non-applicable to Melee imo. Just choose whichever character you're best with. Learn to play a few other characters so that you can counter-pick when appropriate. Counter-picking is one of the most underrated aspects of this game.

Share this post


Link to post
Share on other sites
+scuzzlebutt    23501

I talked about counterpicking in one of the responses as well. Tldr if you're already going as far as reducing matchups to numbers on each stage, which is already a silly endeavor imo but everyone seems committed to it, you could calculate matchup ratios of multimains by the same principle. PPMD thinks the current stagelist makes Fox/Marth the optimal combo if you're committed to multimaining, but its been different in the past and the older "gayer" stages turned out to be more and more Fox favored the longer the competitive scene went on.

 

one takeaway from applying the model to melee imo is to break the illusion that there's always been a single static best character for the community to discover. im willing to say there are probably theoretical reasons that fox is "better" than, like, bowser or dr mario, but if they are, they have to be dependent on environmental conditions, both within the players and outside of them

Share this post


Link to post
Share on other sites
»ACP    33422

Yeah, certain characters are definitely better than others, but it's silly to argue about whether Fox is better than Shiek from a theory standpoint. People like to argue about whether Puff is actually a good character or if Hbox just makes Puff look better than she actually is. None of this really matters. It's one thing if you're a Roy main and come to the conclusion that you need to switch characters because Roy is just not good enough. But you can honestly pick any of the top 10 characters or so and have a high levels of success in the game. It's been proven countless times.

Share this post


Link to post
Share on other sites
»ACP    33422

And the whole issue with tier lists in general is that they're all based on results rather than theory. That is, Fox doesn't win lots of tournament because he is top tier. Rather, he is considered a top tier character because he wins lots of tournaments.

Share this post


Link to post
Share on other sites
+scuzzlebutt    23501

yeah i think for at least the top half if not more its just stupid to bother trying to order them, and its even stupider to try to section off that order into "tiers" as if characters are designed in a pyramid with one intended to rule over all the others. you of all people probably remember armada going to game 3 against donkey kong. sfat doesn't even think ness is done progressing. top players have said so many mondbogglingly contradictory things about puffs place in the tier list over the years that its unbelievable. when you read the old hax and m2k "puff salt" Smashboards posts they're absolute gibberish. just some nerds trying to cope with the fact that melee was dead in their region and the game had moved on without them

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×