Since I had an EE42 midterm last week, I'll be using some basic circuit analogies in here. If you don't get it, learn it.
Firstly, to understand what is meant by design.
I freely admit I'm biting off of Wizards of the Coast's model, but only because it's the one that makes the most sense, whether it's for a TCG or a program.
What is the model? Design-Development-Creative.
Design is the part where the basic functionalities of the program are set. Design decisions are not "should X be 1 or 2", but rather "Should we use method X or Y." An example in Magic design is making a card itself. "i.e, we want a big creature" or "We want a spell that blows everything up." Similarly, these could also apply to programming design.
Development is where, after design, actual values are added to the system and tweaked to fit a desired game state. For example, development decisions are "That spell should do 20 damage." or "This Monster should have 35 attack."
After Design and Development, then we arrive at Creative. Now we can give life to our abstractions of objects. For example. I've got a spell here that deals 20 damage. Is it a bolt of lighting? An Ice shard? A stream of fire? A Kamehameha? This is creative's decision, and no matter what creative does, it will be unlikely to affect anything done by the design-development cycle. For example, if you give everything in Grand Fantasia a Chinese theme, then you have Kitsu Saga. The underlying game is mostly unchanged. Most people are familiar with the concept of creative, they know them as "skins". No matter what skin you use on a program, it's unlikely to have great effects on how the program functions.
(Aside: I know GFO and KS aren't exactly the same, but whatever.)
Now, when we apporach design, we must first understand what a game is.
A game has an *objective* that must be completed. Even "games" like visual novels have an objective, that you must end up getting the girl. That objective must have a degree of difficulty, otherwise the game is pointless. Even in visual novels, you must at least figure out which decisions are "right", even if all you need to do is look it up.
Now, let's consider a basic circuit with a battery (voltage source) and some number of resistors. The circuit is our game, and resistors are diffulties you encounter in the game. Let's also consider that the current through the circuit is the quality of the game.
There are two kinds of difficulty.
Real difficulty are challenges to the player that engages their problem-solving abilities. These challenges may be dimensional (spacing), temporal (timing), or intellectual (puzzle-solving, character building, etc.)
When placing real difficulty into our circuit, they're in parallel with each other. This means that the more of those added to a game, the better the quality.
Indeed, the best games of our time are all riddled with difficulty (unless you ask WoW fans). However, these difficulties are all surmountable with the proper preparations, and that's what makes games fun and makes us want to play them. We want to defeat that challenge, to show our capabilities off.
However, there also exists fake difficulty.
Fake difficulty are challenges to the player that does not engage any of the player's abilities in a meaningful manner. Fake difficulty examples are bad controls, lag, artificially introduced barriers, etc. These, when added to our circuit, are string in series. This means that the more of them you put into a game, the quality (current) will decrease further.
Now, one can make the argument that some forms of fake difficult is actually the real difficulty of endurance.
This is untrue because endurance is a given for any kind of game playing. It's our battery in this model. If we increase the voltage (endurance) on our battery, we will be able to overcome those resistors. Endurance is not a skill, it's a basic requirement for doing anything.
That being said. Proper game design should strive to eliminate fake difficulty, in theory.
However, we must look at it from another angle.
Longevity of the game = length of the game / quality of the game (for some quality > williness to play).
This is self-evident. If the game is great, you will expend much more effort into playing it, meaning you will complete it faster.
Therefore, in order to maximize longevity/developer hour (which corrolates to length of the game), the quality of the game must be just barely above the threshhold for a player to be willing to play.
Thus, we come to another design decision, the flip side of the coin.
It's always easier to design fake difficulty than real difficulty.
One of gaming's most famous fake difficulty is character levels.
Usually, character levels are gained by repetition, and for the most part, the exp leveling rate is constant across skill levels, so everyone will reach around the same progress for the same amount of gaming hours.
Basically, skill communism.
In this scenario. Let's say that we have a game here
if (player.level == 100) win;
simple enough, right? If a player hits level 100, he or she wins the game.
Now, by simply changing the 100 to a 200, an effort that takes constant time (around 3 seconds), they've doubled the length of the game.
Now, let's take another kind of game, a strategy game, and let's say that this game has one game map for players to play on.
In order to double length of the game, they must design another map, and not only that, but that map has to be significantly different and interesting in order to truly "double" the length of the game. If map 1 is fun but map 2 is not, then players will simply not play map 2, and they've invested effort without any kind of payback.
What if the two maps were stringed together into a campaign?
At the very least, the Campaign will not be perceived as 50/50, the former, better map will have much better reception, and the latter may be mapskipped or even hacked.
Consequently, this is why every MMO has fetch quests.
Fetch quests' length = (length of path) / (character speed), which for most games, character speed has a known maximum, meaning for everyone, there's a fixed length for the same quest.
Why is this preferred?
By eliminating the skill requirements from play, you attract players with less ability, and the MMO model depends on the network effect to thrive.
Also, the length is a linear function of time spent, but the length of the path only takes constant time to lengthen.
So the developer/player time investment ration is still 1/n, very much in the developer's favor.
So, over all, real difficulty makes the game's quality higher, but at the expense of game length, audience (because not everyone can handle a real challenge), and the ability for the developers to stay ahead of the gamer.
Fake difficulty, when done in tolerable enough level, trades a portion of the players' happiness for game length (more money) and audience (more money), and allows longer hours to allow creative to make the game look better (more money).
Thus, the overall optimal point for game design is the point which there's just barely enough real difficulty/quality for the players to purchase the game and play it, any more is a waste of developer hours and a reduction in fees paid (for some reason, game pricing demand is always a function of game length, not quality.)
This is why your typical shovelware games gets made.
This is why video games suck now.
But hey, no matter how you get it, money is awesome.