Today I'd like to spend a little time talking about the game design of Push the Lane, a game that I'm working on (and currently Kickstarting.) If you aren't up on the basics of what Push the Lane is, check out the Kickstarter page, or this page here on my site. A really great indie game designer who I follow, Arnold Rauers (designer of Card Thief, ENYO and Card Crawl), asked me recently why there is "fog of war" in Push the Lane. It's a reasonable question, and one that others also have asked me recently.
For the past five years or so, I've been talking about the input/output randomness concepts, and why they're so important for game design. While I wasn't the one who coined the terms—that honor goes to the great fellows at the Ludology Podcast—some Googling around shows that no one has talked about the concepts, or developed them, nearly as much as I have. In short, talking about randomness, especially in these terms, is kind of my thing. Here's a quick list of some of the more notable times that I spoke in depth about this subject:
- "Randomness In Game Design" article
- 3 Minute Game Design Episode #6 - Output Randomness
- Podcast Ep. 23 – “On Games At the Games”, A Conversation with Frank Lantz
The GistYou should check the links above for more detail, but the very short and rough explanation of input/output randomness is that they are describing the distance between new random information and the user's ability to react. Input randomness is stuff like the Tetris "Next" box, or a randomized map—stuff where the user has time to see what the random information is and make decisions based on it. Fog of war is also often used as a mechanism for input randomness: you see stuff usually a turn or two before it can threaten you. Output randomness is stuff like "roll to hit" in RPGs or games like X-Com. You decide to attack a thing, and then there is random information which comes into the game and determines whether that hit connects or not. In this case, you have zero time to "respond" to the new random information. The course of the game has now been altered by pure randomness, unfiltered by your decision-making. A quick note is that actually, input and output randomness exist on a spectrum. Randomness which is really close to the user but still technically is input randomness(imagine 1-tile-radius fog of war) may actually be so close as to function similar to output randomness. For more on this, read my article on the Information Horizon. One more note: as Mr. Street said in the video, output randomness is bad for strategy games. (Actually, he wasn't that strong with the language, but that is definitely my view.) You also don't want zero randomness in games. What you want is a carefully placed information horizon.
Randomness in LeagueThere are a number of sources of randomness in League already, but what's exciting is what they've been adding, so let's talk about that first. One of the big ones, that they're talking about in the video, is the new Dragons (or I guess they're calling them Drakes? I'm going to call them dragons) system. Every game, there is a random elemental dragon. Killing each dragon gives your team a different kind of buff—something like, Air dragons make you move faster, fire dragons make you deal more damage, Earth make you destroy towers faster, and so on. After one of these dragons is killed, a new random one will spawn. But here's the cool thing, and when I saw it, I was impressed, because it's exactly what you should do. The dragon takes awhile to respawn. But on the dragon's death, the next dragon is selected and a big bright symbol is painted on the dragon's lair wall for everyone to see. This is a great example of input randomness. Both teams know exactly what random dragon is going to spawn there, and decisions can be made around that. This system is a really great start. There should be a lot more of this on the League of Legends map (which I guess they call "Summoner's Rift"? I'm going to call it "the League of Legends map").
My SuggestionsCategory #1: Increasing input randomness. I believe that by making the League of Legends map more dynamic and more different each game, Riot can worry less about perpetually adding content to the system and the sort of "patching just for the sake of keeping things fresh" idea that they arguably do sometimes.
- Randomized geometry. Why is the map geometry—the pattern of the walls and everything—the same exact every match? Is this geometry sacred? Remove this brush, put a pillar here, change the shape of this wall. You can definitely design the parameters in such a way that it's always fair for every character, yet slightly different every game. If you're really worried about it causing balance problems, maybe have it change randomly at 10 minutes and at 20 minutes, or something.
- Randomize all jungle monsters. Having a fixed jungle means having a fixed jungle route. Instead why not have there be a few more jungle monsters, but what they are and where they are is randomized somewhat. That way you can have a more dynamic and less "memorized Starcraft build-order" automatic pathing to the jungling. Make it mirrored, so it's fair.
- Random plants. I love the new "plants" system, and maybe it's just the beginning. But why not randomize the positions and the types for these plants? Make it mirrored, so it's fair.
- Push the dragons further. Right now the buffs are cool, but maybe instead of just the four elements, it's four different kinds of monsters as well. So you could have an Earth Wizard who does lots of magic damage, or a Fire Ogre who has shitloads of health. Maybe Ogres, when killed, change the terrain somewhere else or spawn plants somewhere.
- Random (mirrored) cannon minions, and more? I like the idea of there being some more variance in the minion-stream itself. What if randomly, every 5-7 waves or so, a super minion spawned on one of each team's lanes (probably, it can't be the same lane). There could be a little map alert telling both teams about this. I spent like two minutes thinking of this idea, I don't know—but the point is, I do think there's a lot more that could be done with minions than is being done here.
- Remove Random Critical Hits. This is totally unnecessary for this game. It's totally a vestigial D&D thing and all it does is unnecessarily loosen up a system which already is very loose. I'm actually surprised that high level players don't complain about this, because a lucky crit at the wrong time can completely change the course of a match.
- Reduce execution across the board. This one is hard, and I don't expect Riot to act on it for that reason. But, in an ideal world, we should be making the game be less about crazy reaction speed in team fights, and more about strategy. Removing skillshots and having them be target-based is one suggestion here. Getting rid of "burst" (massive amounts of damage in a tiny window of time) as a concept would be a much wider scope change that would really benefit the game. That would mean questioning the roles of burst-mages and assassins, which is a huge job, but personally I think it would be worth it. Because, as I've written about before, execution is a form of randomness, and this becomes more and more the case the faster players are asked to execute.