Depth and Complexity are often brought up subjects in the world of game development. Usually defined through a set of a examples, depth and complexity are concepts very similar, yet also very different. Let's attempt to define what it means for something to be deep and what it means for something to be complex. Then, we'll try to identify what affect depth and complexity have on games. Ironically enough, defining complexity is often simple, while defining depth is often complex.
First, I'll start with complexity. Complexity, in terms of game design, is the state of having an abundant amount of things within a game that can be interacted with or which interact with each other. At it's most basic form, something is complex when it has a large (and often intricate) set of rules which the player (or players) interact with. Furthermore, complexity is further created through anything that alters the interactions the player has with the game through extraneous rules that aren't immediately obvious to the player. To a player, complexity is hard to grasp, and not readily apparent. The amount of variables that a player must account for or learn in order to grasp the mechanics of the game add to it's complexity. The perfect example of a complex game is the Civilization series.
Depth, on the other hand, is the state at which a set of a few singular rules or things affect the way players interact with the game on a whole. Essentially, depth is the state in which a small subset of rules and/or players interact with each other in a multitude of ways. Many different interactions and outcomes can arise with a limited set of things (in the games space, these things are rules or other player agents). Many fighting games are great examples of depth in gameplay.
Before we proceed further, it's worth noting that complex games can be deep, and deep games can be complex. They are in no way mutually exclusive, nor is one required for the other.
Let's take Street Fighter II as a perennial example of depth. Now, you may protest "But Street Fighter has many characters and movesets!" And you'd be right. But remember, depth isn't defined by it's lack of elements, just how these elements interact with one another. In Street Fighter II, for example, the entire game can be played with just Ryu and Ken, and the game will still be exceptionally deep.
Why is that? Because the amount of possible interactions that arise from a two character's movesets (honestly, one and a half characters, considering Ken is very similar to Ryu) and outcomes are exponentially large. This is the definition of depth. Even though the game in a Ryu vs Ken fight is not overly complex, it still yields an incredible amount of possible outcomes and interactions.
In the image above, for example Ryu throws a Hadoken while Ken decides on what do do next. Ken's options are limited, but any choice he makes will affect Ryu's next move as well. He can jump, for example, but then Ryu may read it and follow up with an aerial attack. He could block it, but Ryu may see that and decide to close the gap. Alternately, Ken can throw his own Hadoken to cancel out Ryu's. Each one of these choices creates another choice for the Ryu player. Each choice a player makes informs another choice another player makes, and the chain of possibilities and interactions grows exponentially. We can see, although this match contains only two characters (who are very similar) and a dozen or so moves each (again, mostly similar) a vast amount of interactions come out of it. It's worth noting here that this match is not overly complex. It's actual very minimal in it's complexity, as each player already knows the other player's potential actions and simply must account for which choices the other player may make. Through this, one can see the depth of such a small subset of rules.
Complexity, on the other hand, is the abundance of rules. To some, Street Fighter II may be seen as a complex game (for it's time) for the amount of characters it had. Each character had their own set of moves with their own set of rules for how these moves functioned. A player may need to internalize these rules in order to better understand his or her opponent and what said opponent can do. This is complexity. However, one must note that while some may consider this complex, a player does not have to consider each set of rules (read: movesets) each time they play a match. No, they only must consider their own character's rules and their opponent's character's rules. Because of this, although complex in the amount of rules in Street Fighter II, in the moment to moment, the choices a player and their opponent can make are always limited to the character they have selected. A single match is deep, but not all that complex.
As I mentioned, Civilization is a great example of a complex game. The series is known for it's complexity, it's abundance of mechanics and variables and rules. On a single turn a player must consider a vast amount of things. The task of internalizing each thing and taking it into in consideration is complex. It functions as a web of rules and structures that all affect each other and affect themselves. The more a player considers these things, the better they play.
Complexity, when implemented properly in a game in which players want to do mental heavy-lifting, is fantastic. It forces players to think critically, tactically, and strategically. It gives players a great sense of discovery in uncovering how different rules and mechanics interact with one another. And, above all, when done right, it makes a game lasting. The drawback to complexity, of course, is it's hefty mental weight and it's sometimes frightening learning curve.
Depth, however, can achieve similar results to complexity: critical thinking, problem solving, tactical and strategic maneuvering and lasting gameplay experiences. The difficulty with depth is it's something much harder to design. The rules that are defined must create new interactions and implicit complexity that the player discovers through play. These rules themselves are not complex. They are not abundant or vast or complicated. But they interact with each other in ways players discover that shapes how they play the game. In essence, a deep game can go from a simple experience at the start, to a high-level experience at the end. In Street Fighter II, for example, two new players can immediately grasp the mechanics of the fight and play at a low level, punching and kicking to their heart's content. But, as they play more, they will reveal new strategies and interactions that come from uncovering the depth of the mechanics. Designing these "hidden mechanics", however, is the challenge. How does one define a simple set of rules that start obvious but seemingly grow in possibilities as a player progresses? This is why most games fall back onto complexity.
There is nothing inherently wrong with complexity. Complexity can be a great thing for many games. Adding more interesting interactions for players is usually a good thing, and gives players more ways to interact with the game. Games with lots of depth, however, can achieve a similar result to games that are complex. The advantages of depth over complexity should be obvious: an easier learning curve, less moment-to-moment mental heavy lifting by the player, and the experiential joy that comes from discovering interactions between simple mechanics. So when looking to design a game that challenges a player to tactical or strategic thinking and problem solving, aim first to make a small set of rules or mechanics deep. If that is not enough, complexity can always be added.