Mechanics, Tactics, Strategy, Philosophy

2020, Jun 16    

I used to play a lot of League of Legends with my co-workers in Boston, one of whom regularly streams his games so I can continue watching and reacting from afar. I actually love watching this game more than playing it. Partially because the RSI incurred as part of playing this game is brutal - I often feel pain in my wrists for a week+ after playing. Partially because watching teaches you all sorts of interesting things about the game and games in general that you might not notice when you’re in the weeds.

Without getting into too many specifics, the game is a MOBA. 2 teams of 5 players each come in and level up their characters and try to win by killing and taking objectives. There’s a lot to say about the game itself, but I’ll skip to my favorite part - how it highlights the importance of a framework I half-remember from some management class about skill acquisition.


When you first start playing League you struggle to get the timing of things right. Your muscle memory hasn’t fully understood what it needs to in order to reflexively act when an enemy enters your zone. You don’t know all the buttons yet, you can’t aim the shots in the direction you want. This improves linearly with practice and you don’t need anyone else to help you here. Most people can spot what they’re doing wrong on their own. Investing a lot of time into becoming world-class in mechanics alone, however, will not make you successful.


Mechanics alone won’t carry you very far because this, like many games in life, is a team game. You have to cooperate with at least one other person in order to take an objective. It is possible to take an objective - such as killing an enemy or taking down a tower - on your own. It is just much, much more difficult to do so. Once you have two people together, the interplay between the two of you and how you coordinate to take the next objective is the largest determinant of success. I would argue it is even more important than what skills and characters you pick to play. Two people working together can be very effective, but that still doesn’t mean you can win - this is a 5v5 game after all.


Each individual tactical unit might be effective, but if the objectives you go after, and the timing with which you schedule your attacks doesn’t work out, you could be expending a lot of effort for nothing. Team strategy is next to impossible to achieve in a game with random matching with strangers. A strategy might ‘emerge’ from people bumbling around, but that’s less a strategy and more…bumbling. Once you have all 5 players sitting together and the game turned off, you can talk about what strategy works best for you - who should be what character, who is expected to back up whom - and this makes the tactics clearer for each pair as well. Strategy is in part about recognizing what tactics you can use, and playing to those strengths in achievement of the larger goal.


Once you’ve gotten good enough at the strategy portion that you actually intentionally start winning games, you might be tempted, like the philosopher-kings of old, to put down the sword and wonder - why? If we were talking about anything other than video games this is a pretty deep discussion. For video games this is a fantastically easy question to answer. It’s fun. Except League isn’t fun, it’s a horrible game that sucks your soul out and makes your body ache. And that’s why I stopped playing.

Nearly everyone who starts out as an acolyte in some trade advances through these four filters. The progress doesn’t have to be linear - you might dig into the philosophy of pottery before you decide to take on the mechanics. Viewing them as a hierarchy helps you understand where in the field you want to be. For tech, the mechanics of writing code give way to the tactics of code review, to the strategy of system design and to the philosophy of frameworks and product design. There’s also infinite progress to be made within each of these groups. Engineers regularly quarrel with each other about how best to optimize their system so they can churn out code faster. I personally haven’t written code for myself in quite a long time, and when I do I’ll be spending hours just getting the mechanics right before I climb that ladder again. But maybe like League, I’ll get to the philosophy bit again and say “fuck this” and leave.