Systems always devolve into whatever benefits their users the most.
Marvel vs Capcom 2
In Marvel vs Capcom 2, Cable is able to combo his supers into themselves. This means that once Cable has landed one of his supers, he is guaranteed to land as many more as he has remaining super meter for.

Cable being Cable
This was clearly a design flaw in the game that Capcom didn’t catch before releasing. In fact in MvC2 there are countless design flaws and bugs in the game that lead to player gain. If you ever play MvC2 at any level of competitiveness, you will notice that these flaws are exploited to their maximum value, always. The way the game “should” be played, and the way it is actually played, are entirely different. The Street Fighter community values a game if once its exploits are all discovered and maximized, the game still manages to be competitive. MvC2 got lucky and these flaws largely balanced out into a decent game. Street Fighter 3 (the first one) was not so lucky, where Ibuki had a simple infinite combo that made her significantly more powerful than all other characters. SF3 games very rapidly devolve into both players playing Ibuki and going for her infinite, not interesting or stimulating. So SF3 is maligned in the Street Fighter community.
People exploit systems for their gain as much as possible everywhere. This is not a phenomenon only found in Street Fighter games.
StackOverflow
Over the past several months I have become a very active StackOverflow user. I have come to really enjoy the site. It’s extremely well implemented, and even fun to use. It’s obvious a lot of thought was put into how and when reputation is doled out, and what users can do with the reputation. The overall goal was to create a site where intelligent questions and answers are awarded, and high contributing users are recognized. For the most part they seem to have accomplished their goal.
However, a user’s reputation can have real world implications. Potential employers can look at your StackOverflow profile and use it to consider whether to hire you. This fact alone means people are going to push and exploit StackOverflow as much as they can, as getting reputation is important. This has resulted in some phenomenon I have observed, and even participated in:
- Lousy questions get answered and even encouraged: Questions that would have received flaming and/or “go Google it!” in newsgroups and forums are often frankly answered on StackOverflow. Of course, the answerer is hoping to earn some reputation, and these lousy questions are easy to answer.
- People new to the site are much less likely to get an answer to their question: This isn’t necessarily a negative or problem with the site itself, but it is a reality. The issue is that people are less likely to answer a question if they are afraid their answer won’t receive rep or won’t potentially get voted as the chosen answer.
- People take advantage of the community and essentially ask for their entire issue to be spoon fed to them: Beginners will often ask a question, get it answered, then immediately post a second question which is obviously just the very next stumbling point in their code. And these questions get posted within seconds of each other. The user is not trying to learn or improve on their own at all, they are instead attempting to get StackOverflow to do their work for them. Again, these questions are usually happily answered.
- Reputation doesn’t seem to indicate anything: I have seen many extremely basic and even silly questions asked by people with very high reputation. Since reputation is very easy to get, especially if you are persistent, then it ultimately doesn’t say much. Sure if someone has 100k of reputation, they are probably a pretty good programmer. But someone with 5000? They could be anything. The reputation score doesn’t differentiate between a quality programmer who is only an occasional StackOverflow user and someone who is a lousy programmer but has managed to snatch up many 10 points of rep repeatedly. You really need to look at someone’s profile, and know what to look for, to get a good idea of what quality they really are.
A good example of all of this was a recent question asked: “Is C# the same as Objective-C?” The person asking has decent reputation, yet this is clearly a rather silly question. No offense to the person asking, I’m sure they genuinely wanted to know. But as the accepted and highest rated answer pointed out, all they had to do was go to Wikipedia.
Jon Skeet, who has the highest reputation of all on StackOverflow, has even talked about on his blog how it’s a “game”
It’s a game. This is the most important aspect. I love games. I’m fiercely competitive, and will always try to work out all the corners of a game’s system – things like it being actually somewhat useless getting accepted answers before you’ve reached the 200 limit. I don’t necessarily play to the corners of the game (I would rather post a useful but unpopular answer than a popular but harmful one, for serious questions) but I enjoy working them out. I would be interested to measure my levels of testosterone when typing furiously away at an answer, hoping to craft something useful before anyone else does. I’m never going to be “macho” physically, but I can certainly be an alpha geek. So long as it doesn’t go too far, I think it’s a positive thing.
In the end it doesn’t really matter. I agree with Jon in that “so long as it doesn’t go too far, I think it’s a positive thing.” So far, my opinion is StackOverflow has been a net positive to the community. However there is no doubt that the site has created some unwanted trends. I’ll see how I feel about StackOverflow a year or so from now.
My all time favorite website, reddit, has fallen victim to this too. Reddit is all about users voting up and down things, either submitted links from other websites, or comments about the links. “Redditquette” states that you should only downvote a comment if it’s a troll, offensive, or off topic. The idea is that different opinions should be allowed and not stifled. For the past several years, this has worked well enough. Reddit was a small enough community to respect the rules.
But as of late, Reddit’s userbase has exploded (which is fantastic for the site, I’m happy for them), and thus adherence to the rules has dropped dramatically. People downvote comments if they simply disagree or don’t like them. After thousands of people have viewed comments on a link and everyone has up or down voted what they like and don’t like, you end up with a very “group think” mentality. The comments that the majority liked rise to the top, the comments the majority disliked fall to the bottom. Regardless of how appropriate a given comment may be as far as Reddit had intended comments to be.
This isn’t necessarily a bad thing, it just means Reddit as of late has become a totally different site. I still enjoy the site and visit it often.
You get what you create
The moral of the story being your system is going to become what the users make of it. And users are going to exploit the system for their needs first, and your intentions second, if at all. It’s extremely difficult to design a system that ends up being used how you had intended it to. As I am finishing up my iPhone game now, I am very seriously thinking about this and considering what it means for my game. Will people find ways to play my game I had not intended? Is that a good, bad, or irrelevant thing? If by some stroke of divine luck my game became worldwide popular and competitive, how would people play it then? Could there be a loophole in my game’s design that renders the game pointless and dumb? Just some things to ponder…
Tags: design, mvc2, reddit, stackoverflow, systems