Despite being one of the most successful strategy franchises of all time, the Starcraft series carries a reputation of a sharp learning curve and a beginner-unfriendly environment. Although being a game intended for a general audience, it enjoys a reputation of difficulty even among enthusiast gamers. So why is it that Starcraft is often perceived as inescapably hard? In short: most games teach players a set of expectations about how games work, and Starcraft defies most of these expectations.
Players expect, through their experience in other games, that games will start in safe states and become unsafe when the player chooses, and a small failure reverts the game to a safe state. The player's starting location is usually a safe place, and players know what obstacles they will be facing before having to make the choices necessary to overcome them.
Games usually start in safe states.
A "safe state" is a state in which the player is not in immediate danger of losing the game. In most games, the player starts in a safe state: there are no immediate threats to the player, and any obstacles to her success have not yet presented themselves. In Starcraft, the game begins from an unsafe state. Despite having no knowledge of where the enemy is, the player is in immediate danger: the enemy can attack at any time, even with no more than a handful of starting units, and the player does not begin the game with adequate tools to defend against threats.
The player determines when the state becomes unsafe.
Most games require the player to take an action that puts them in an unsafe state. Whether it be leaving a spawn room, throwing a basketball into a court, or moving a piece that leaves the king open to attack, the player usually has to make a decision that opens him up to threat. Starcraft has no such action. The state becomes unsafe the moment the enemy chooses to attack.
Unsafe states usually revert to safe states after failure.
In many games, a player who is down has a strong potential to come back and win the game. In many sports, a deficit of one or two goals is not extremely damning; in multiplayer Halo, being killed simply means returning to the game one point down. In Starcraft, however, losing a battle typically means being at an extreme disadvantage for the next battle. In fact, almost every Starcraft match ends with a resignation by one of the two players: an acknowledgment that he has wound up in a situation that is unwinnable. This makes Starcraft particularly unforgiving - one failure early on may lead to eventual loss of the entire game, and learning from one's mistakes is a time-consuming process.
Home is usually a safe place.
In many competitive games, one's starting location provides a sort of natural advantage to the player. In Starcraft, it does not. Most maps (but not all) provide chokepoints or ramps that make it harder to assault a player's main base, but merely owning a base does not provide a favored condition for the units in that base. I recall a conversation I had once with a beginner player who was surprised that the numerous expansions he was creating all over the map were so easy to take down. "How is an expansion going to defend itself?", I asked. There is no "home-court advantage" in Starcraft, and this feels counterintuitive to players.
Players usually have reasonable awareness of obstacles before making choices necessary to overcome them.
The primary game loop of the Super Mario Bros. series is this: a) the player approaches an obstacle, b) the player decides the best way to tackle the obstacle, c) the player makes an attempt to pass the obstacle, d) if successful, the player moves on. The critical part of this process is b: the player knows what the obstacle is (usually) before having to move past it. Different obstacles must be tackled in different ways, so the player has an opportunity to choose a strategy before the obstacle itself. Starcraft, on the other hand, has challenges in the form of attacking enemy armies, the size and composition of which is usually not known to the player beforehand. The player must make scouting a priority: if she waits until an enemy army is already attacking before deciding how to defeat it, it is likely too late. Players are used to having a period of preparation time, and Starcraft's aggressiveness is challenging for many players.
Notably, one of the most common complaints against Starcraft is the prevalence of the "zerg rush" - a fast, all-in attack with the aim of destroying the opponent with zerglings (fast, weak, but extremely cheap units) before they have a chance to build any defenses. The most aggressive version of this opening, known as a 6-pool (forgoing long-term economic safety to construct zerglings as quickly as possible) either wins the game immediately or loses outright. The 6-pool attack counters literally everything the opponent expects from a non-Starcraft game: it makes the conflict happen immediately, at the behest of the opponent, causing the game to end as soon as the attack is over, taking place at the player's home base, and giving the player little opportunity to scout it out. Of course, the 6-pool is counterable (otherwise, the game wouldn't be fun), and its all-in nature makes it an extremely risky strategy, but tell that to the player who just got 6-pooled. They've already quit the game because they didn't have fun.
Starcraft is a fun game (indeed, it's one of my personal favorites), and it's been a great commercial success: clearly Blizzard is doing something very right here. These qualities do not make Starcraft a bad game, but they are real obstacles to an incoming player's enjoyment, and the developer needs to accommodate for the shift in the player's expectations. (Starcraft 2 includes a practice league intended to ease players into the game, but many players skip it entirely, and it can never be returned to on that copy of the game once skipped.) Paying attention to these factors allows us to develop game experiences that are more intuitive and accommodating to the player.
Evan Jones is a game programmer at Lolapps, an independent game developer in his free time, and a game design enthusiast. You can email him at his first name @chardish.com. It would make him very happy if you followed him on Twitter @chardish.