Two Variables Is One Too Many
Consider Angry Birds.
A slingshot game involves aiming and launching something at a target. The player needs to optimize his shot using two variables: the angle and the velocity, i.e. the strength of the shot.
How do most people go about completing this task? Ninety-nine percent of them will first try shooting at full power and optimizing the direction of the shot. Only after some trial and error will they switch things around, fix the angle of the shot, and try to optimize the power instead.
Watch someone play. Watch yourself play. It happens so consistently that it stops looking like a preference and starts looking like a reflex.
Why do people behave this way, and why does it even matter?
It Is an Optimization Problem
People behave in this way because this is an optimization problem. More specifically, it is a two variable optimization problem, the optimal value for power of the shot and the angle at which the bird should be launched. People have at their disposal one of the very best optimization engines in the known universe, their brains, and yet people are really bad at two variable optimization problems.
This is not because people are stupid, or because our brains are inadequate. It is because the task is genuinely, mathematically hard. There is an entire field of mathematics dedicated to multivariate optimization, and the problem is far from being solved in a satisfactory manner. Most optimization strategies work by simplifying the problem — by reducing dimensionality, i.e. reducing the number of variables being manipulated at any one moment.
One of the simplest strategies operates in exactly the same way as most Angry Birds players do. It fixes a value for one variable and optimizes only the other. Then it swaps, fixes the second variable at its new best value, and optimizes the first. Then it swaps again, and keeps going until it stops improving.
This has a name. It is called coordinate descent, and it is a legitimate technique that people get paid to implement.
I find this genuinely delightful. Nobody teaches players coordinate descent. Nobody explains it in the tutorial. And yet a person who has never heard the phrase, handed a slingshot and a pig, will independently derive one of the standard approaches to a hard mathematical problem within about four attempts.
Players are not doing arithmetic. They are doing something much better: they are recognising, without being able to articulate it, that a problem with two moving parts is unmanageable and that a problem with one moving part is not.
Why Full Power First
Now, coordinate descent tells you that players will fix one variable. It does not tell you which one.
And it is always power. Nearly nobody starts by fixing a mid-range angle and hunting for the right strength. They pull the slingshot all the way back and then wave the bird up and down until something works.
The reason, I think, is that power has an obvious anchor value and angle does not.
Full power is a natural, salient, unambiguous extreme. It sits at the end of the slider. You can reach it without deciding anything, and you can be certain you have reached it. Ask yourself what the equivalent anchor for the angle would be. Forty-five degrees? That is the textbook answer for maximum range on flat ground, and precisely nobody who is not an artillery officer holds it as an intuition.
So the player fixes the variable that has a free, obvious value, and searches over the one that does not.
This generalizes further than slingshots, and it is worth stating as a rule: when players are asked to tune several things at once, they will pin whichever one has an obvious extreme and search over the rest. If you have a design with three sliders and one of them has a natural maximum, you have effectively built a two-slider design and given the third away.
There is a secondary reason too. Maximum power produces the flattest trajectory, and a flat trajectory is easier to reason about. The arc is closer to a straight line, so aiming becomes something like pointing. Players are not just fixing a variable. They are fixing it at the value that makes the remaining problem as close to linear as possible, which is another thing they were never taught and do it anyway.
The Error Signal Is Doing a Lot of Work
Here is the part I think is most underrated in this whole discussion, and it is the part that matters most for design.
Optimization is only possible if failure tells you something.
When you miss in Angry Birds, you do not receive a message saying "incorrect." You see where the bird landed. Short. Long. Left. Over the structure and into the empty space behind. That is a rich, signed, directional error — it tells you not only that you were wrong but in which direction and roughly by how much.
That is the whole game. Take that away and no amount of intuitive coordinate descent will save the player, because they have nothing to descend towards. Mathematicians call the version without a gradient derivative-free optimization, and it is dramatically harder than the version with one.
This is why the two-variable problem is tolerable in a slingshot game and intolerable in, say, a stealth game where the failure state is an alarm and the player has no idea which of their six decisions caused it. Same number of variables. Completely different difficulty, entirely because of the quality of the feedback.
I have written before about how players attribute failure and how much design damage is done when they cannot tell whose fault a loss was. This is the optimization-flavoured version of the same problem. A player who cannot attribute an error cannot improve, and a player who cannot improve is not playing a skill game, they are pulling a lever.
Design rule: if you ask the player to tune something, show them the direction of their error, not just the fact of it.
Why It Still Takes So Many Tries
If coordinate descent works and the feedback is good, why does anyone need eight attempts?
Because the two variables are coupled.
Coordinate descent is excellent when variables are independent. Optimize the first, optimize the second, done, no need to revisit. It degrades badly when the variables interact, because improving one changes what the best value of the other would have been. You fix power, find your best angle, then reduce power — and now your carefully found angle is wrong again.
In a slingshot, range depends on both angle and velocity, and it depends on their product in a way that makes them thoroughly entangled. So the player zigzags. Adjust angle, overshoot. Adjust power, undershoot. Adjust angle again. Each pass gets closer, and the convergence is slow enough to be frustrating and fast enough to feel like progress, which is, not coincidentally, a fairly good description of a satisfying puzzle.
This gives you a dial. Independent variables make a system feel clean and learnable. Coupled variables make it feel deep and difficult. Neither is correct in the abstract. But if your players complain that a system is fiddly and opaque, check whether you have coupled things that did not need coupling — and if they complain that a system is shallow, check whether everything in it is separable.
Adding a Third Dimension
Raising the number of dimensions only increases the complexity.
This is why 3D artillery games have such a poor track record. Worms went 3D in 2003 and the series eventually went home to two dimensions and stayed there. Scorched Earth's descendants did the same. The 3D versions are not badly made. They are solving a harder problem.
In a 3D slingshot, the player needs to optimize two angles and a velocity. Three variables. And the trouble is not merely that three is more than two. The trouble is that the player's usual trick has stopped working. They can still fix the power at maximum, exactly as before. But that leaves two angles to optimize simultaneously, and now they are back where they started, facing a two variable problem with no obvious anchor for either variable — because neither azimuth nor elevation has a free extreme value the way a power slider does.
So the player is dumped straight into the situation they were instinctively avoiding, and given no tools to escape it.
Worse, the error signal degrades too. In 2D you see the miss from the side and the direction of error is legible. In 3D, judging depth from a camera behind the projectile is genuinely hard, and "I missed by that much" becomes much harder to read. So the problem gets harder in exactly the same move that makes the feedback worse.
That is a double penalty, and it is enough to sink a genre.
How Games Cheat
Every successful game in this space is doing something to reduce the dimensionality on the player's behalf. Once you know to look, the tricks are everywhere.
Discretize a variable. Golf games are the cleanest example. Aiming a golf shot is a full three variable problem, and golf games solve it by turning one variable into a short list: you pick a club. Club selection is really a power choice, but rendered as fourteen discrete options rather than a continuous slider, which converts an infinite search space into a menu. The remaining continuous variables are then handled one at a time by a swing meter.
Sequence the inputs. A swing meter, a pool cue, a charge-and-release — these all force the player to lock one variable before the next becomes editable. The design is imposing coordinate descent rather than hoping the player invents it.
Preview the outcome. A trajectory arc turns trial and error into direct manipulation. This is enormously powerful and it is why so many mobile puzzle games show a dotted line. It effectively hands the player the gradient.
Remember the search. Angry Birds leaves the trails of your previous shots on the screen. That is not decoration. It is the game storing your optimization history so you do not have to hold it in your head, and it is one of the smartest small design decisions in the genre.
Each of these is the same move: take the multivariate problem the player cannot solve, and hand them a sequence of single-variable problems they can.
This Is Not Really About Slingshots
Everything above generalizes to any system where a player faces several continuous, interacting choices at once. Which is to say: most progression systems, most build systems, most economies.
Give a player five stats to distribute and they will not evaluate the space. They will pick the one they understand, push it, and leave the rest near default. Give them a loadout with six interacting slots and they will optimize one slot at a time and never revisit the first. Give them an economy with four resources and three conversion rates and they will find one loop they trust and run it forever.
This is not laziness. It is coordinate descent, and it is the correct strategy for a creature that cannot see the whole surface.
It also explains something about the way communities behave. A published build guide, a tier list, a wiki page with an optimal rotation — these are precomputed solutions to a multivariate optimization problem that individual players cannot solve for themselves. That is why guides appear the instant a system exceeds about two meaningful variables, and why the appearance of a dominant meta is not a sign that your players are boring. It is a sign that you set a problem that was too hard to solve alone, and someone solved it once for everybody.
If you want players to actually explore your build space rather than import an answer, the lever is not more content. It is fewer coupled variables, or better feedback per variable, or both.
The Plateau
One last consequence, and it is the one that shows up in retention numbers rather than in reviews.
Coordinate descent gets stuck. It converges on a point where no single change improves things, even when a better solution exists that would require changing two things at once. In the mathematics this is a local minimum. In your game it is a player who has found a build that works, cannot improve it by adjusting any one thing, and concludes that they have finished learning.
They have not finished learning. They have exhausted the strategy available to them.
A player in this state does not complain. They do not write a review saying the optimization landscape has trapped them in a local optimum. They just get slightly bored, and then they stop.
If you want them out of it, you have to break the one-variable-at-a-time approach for them: a respec, a forced constraint, a limited-time mode that bans their pinned variable, a new item that only makes sense alongside a different stat. Anything that makes the player change two things simultaneously and see what happens.
Conclusion
There is a version of game design that treats the player as an agent who evaluates options and picks the best one. It is a comfortable model and it is wrong.
The player is not evaluating your option space. The player is running a cheap search over a surface they cannot see, using the only strategy available to something with a working memory of a handful of items: hold everything still, wiggle one thing, see what happens, keep the improvement.
That single fact explains an enormous amount. It explains why they pull the slingshot all the way back. It explains why 3D artillery games feel wrong in a way that is hard to name. It explains golf's fourteen clubs, the dotted trajectory line, and the ghost trails of your previous birds. It explains build guides, dominant metas, and the specific flavour of boredom that arrives when a player has optimized as far as one-variable thinking will take them.
We are not, as a species, well equipped for multivariate optimization. What we are extremely good at is finding a way to only have to do one thing at a time.
Design for that player, because that is the one who bought your game.
Key Takeaways
- Aiming a slingshot is a two variable optimization problem, and people are bad at those — not through stupidity, but because the problem is genuinely hard and mathematically unsolved in the general case.
- Players spontaneously invent coordinate descent. Fix one variable, optimize the other, swap, repeat. Nobody teaches it and nearly everybody does it.
- They pin the variable with an obvious extreme. Full power sits at the end of a slider; no angle has a comparable free anchor. Any variable with a natural maximum will be pinned rather than explored.
- Maximum power also flattens the trajectory, making the remaining problem closer to linear. Players simplify without knowing they are simplifying.
- Optimization requires a directional error signal. "You missed, and by this much, in this direction" is workable. "Incorrect" is not. The same number of variables becomes far harder when the feedback is unsigned.
- Coupled variables are what make it take eight tries. Independent variables feel clean and learnable; coupled ones feel deep and fiddly. Choose deliberately.
- A third dimension breaks the player's escape route. Fixing power still leaves two angles with no anchor, and depth perception degrades the error signal at the same time. That double penalty is why 3D artillery games keep returning to 2D.
- Successful designs impose dimensionality reduction on the player's behalf — discretize a variable into a menu, sequence the inputs, preview the trajectory, or remember the search history for them.
- Build guides and dominant metas are precomputed solutions to a problem individual players cannot solve. A meta forming is a signal about your variable count, not about your audience.
- Coordinate descent gets stuck in local optima, and a player stuck there does not complain — they quietly conclude they have finished learning, and leave.
Links
- Coordinate descent — fix one variable, optimize the other, repeat
- Curse of dimensionality — why adding one more variable is worse than it sounds
- Local optimum — the mathematics of a player who has stopped improving
Two Variables Is One Too Many was originally published in Bootcamp on Medium, where people are continuing the conversation by highlighting and responding to this story.