Fog of War in Push the Lane (and strategy games, generally)

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.

Fog of War

For those who don’t know the terminology, “fog of war” in videogames has come to mean “areas of the map or grid on which the player is prevented from seeing some game-state information”. So in StarCraft or League of Legends, most of the map is in fog most of the time. It’s just those areas right around your units that you can see. These units give “vision” within some radius, which reveals updated information about who is within that little circle.

Most videogames do this somewhat haphazardly. In a game like StarCraft, by late game you can have many, many units all over the map, allowing you to see almost all of the map. One of my favorite games, Outwitters, also has this issue, where at the beginning of the game the entire map is a mystery, and near the end almost nothing is. That has always struck me as strange: if the fog of war is important, it’s kind of weird that you can just get rid of it by making enough units and moving them around.


I have a more sophisticated way of looking at stuff like fog of war in game design. Basically you can ask the question: at what point does new information reach the player? In games like Summoner Wars or Risk, you have zero time to respond to the sources of randomness – dice rolls. You take an action, then roll the dice to find out how it turned out. If you rolled badly, there’s nothing you can do about that. That “one” you rolled will be in the match, influencing all future game states. This is why many players feel iffy about dice-roll combat in games or other forms of harsh randomness (which I often call “output randomness”).

At the other end of the spectrum, you have games like Chess or Go which have no random elements at all. This means that the player can essentially look ahead as much as they want / are able to, and so they should. And indeed, high level play does involve a lot of looking ahead. Players are forced to make a weird choice like, “should I keep calculating more moves ahead?” Even if you don’t, the feeling that you could have is an oppressive one. Also oppressive is just the sheer amount of information that you’re staring down in a perfect information game. This means you have all kinds of annoying easy and medium-hard calculation that you just have to do – stuff like “just make sure I don’t put a unit in harm’s way” that will probably be familiar to Chess players.

So at both far-ends of the spectrum, you run into problems. So what you want is something in between. You want randomness, but you also want the new random information coming into the game to give players time to respond to it. Imagine in a card game, if you didn’t draw from a face down deck, but there was a face-up market that you drew from that was constantly getting new cards. This is creating a little bit of “distance” between the player’s input and the new random information. You can extend this further by making there be a “upcoming cards” zone, where the game first draws out cards face-up to this zone, where players can see what is coming to the market, but you can not choose these cards.  They’re kind of like a “next box” in Tetris, which also is this kind of randomness. I call this kind of randomness “input randomness”.

The Information Horizon

That thing we are pushing back in that example is the information horizon: the point at which new information comes into the game. (I wrote about this issue more in this article, Uncapped Look-Ahead and the Information Horizon.)

Games like chess do have an information horizon – how much the player is able (and willing) to look-ahead and calculate. The more they’re willing to do that, the more raw information they’re getting about the game. If you do twice as much of that as I do while we’re playing each other, it’s similar to if we’re playing StarCraft and all your units have twice as long of a vision radius! We can see easily in that example how the strategy game of Chess is distinct. If you’re playing StarCraft against a map-hacker, there is still a strategy game going on, but your opponent just has some extraneous resource, a huge well of bonus information that you do not have.

The bigger point about perfect information games like chess are that the information horizon was not chosen carefully by the designer. In practice, they kind of end up working because most people have a similar degree of interest and capability to calculate, but if you take 5 more seconds every turn than I do and we’re at a similar skill level, you’ll probably beat me, just based on that alone.

Choosing the Information Horizon for Push the Lane

In Push the Lane, you have these lanes of gems, each with numbers on them, crashing into each other and reducing the number. The interactions are actually totally deterministic – they simply subtract their values from each other. So a red 5 hits a yellow 3 and you’re left with a red 2, for example.

What is randomized is the rate of gem-spawn (it’s something like every 3-6 turns, using a bag system for uniform spawn rate), and the specific number on the gem (which ranges from -25% to +25% of the tower’s “power” rating, also using a bag system for uniformity).

If you could see the whole board, there would be a lot of basic arithmetic that players would have to do in order to make decisions. Picture one lane, with a yellow 11, a yellow 17, and then a red 5, a red 9, and a red 8. Technically you can sit there and just math out those interactions and how they will go, and so, you should. But that’s pretty oppressive to do to the player.

We could also show the gems, but hide the numbers, as Arnold recently suggested, but… why? For what reason? If you don’t know the numbers, how is it useful to know that there’s a gem there? That information is a lot less useful than you might think, especially because of distance (which we’ll talk about in the next section).

The individual gems are not important. What is important is knowing generally “how pushed the lane is”, which the colored tiles show the player, even through the fog.


Another thing that factors in strongly here is the range of your abilities. Mostly, your abilities will affect units that are adjacent to you, or perhaps two tiles away. You won’t have abilities that affect units halfway across the map, which is another reason you don’t need to know what’s over there right now. By the time you get over there, that gem won’t be in that spot anymore.

We want there to be a mostly deterministic game state, but in terms of the player’s experience, we want information to be slowly feeding in at a rate that he has time to deal with it, but not show the player a huge wealth of information, most of which he can’t do anything about right now anyway.

It’s emotionally oppressive as well as strategically confusing to show the player a bunch of information that he can’t interact with, and that won’t even be the same by the time he can interact with it. Do you want to play a version of this game where you have to sit there and do a bunch of simple math problems to know that if you move over to a certain tile, there should be a red 6 gem next to you by then? It’s increasing the calculation for very little reason.

Using Fog Well

Don’t think about fog in terms of a physical, literal thing. Don’t build your fog around stuff like “field of view”, where objects actually occlude the fog because “if it was a person they wouldn’t be able to see behind the object”. For strategy games, that is valuing the wrong things, and will cause you major problems.

Also, don’t allow the player to pay some in-game resource to increase the amount of information they can see. The information horizon is a very delicate thing; you shouldn’t have StarCraft style “comsats” or a character vision upgrade or towers you can place that increase your vision. Certainly, if hidden information is important for your game, there shouldn’t come some point where all the fog is removed from the map!

Instead, think along the terms of random information entering the game, and what you want the player to know, and when you want them to know it. Two of the things that I am really proud of in the “fog” of Push the Lane are the colored lane tiles through the fog, and the fact that blue (non-lane) tiles aren’t fogged at all. Things don’t move, and aren’t random on those tiles, so they should be known. Otherwise, the player would have to “remember” what was there. Similarly, buildings should be visible through the fog.


I have a lot more to say about fog of war that’s beyond the scope of this article. For further reading, I would recommend checking out this article and this article. Also this article, where I responded to some concerns that Invisible, Inc. designer James Lantz leveled at my theory.

And if you haven’t already, please be sure to check out the Push the Lane Kickstarter, which is currently on day 4. Thanks for reading!

As always, you can support my work on as well. I’d like to give a special thanks to supporter Aaron Oman. Thank you!

  • Master Knight DH

    By standard, strategy games tend to have general problems with excessive battle lines, which would be why Fog of War gets effectively removed in lategame. Take Shattered Throne, where the regular horse units of all 3 factions have questionable usability. I’m referring at least to the lower cost ones. I made a topic on ST’s forum about it:

    Squire and Glade Rider are classed as Flankers, and therefore are supposed to be good at duels. Unfortunately, if the numbers build up, there’s no point in being efficient 1-on-1 specialists, and flanking becomes less useful as well due to picket lines.

    As I indicate, there should be increased interactivity in the early game that isn’t degenerate. This would encourage players to get creative with their movements, make games faster, and especially stagger unit headcount bloat. The problem is making sure mobile stuff has sufficient Counter Play and creative telegraphing so that there are early-game options for offense that don’t fall prey to imbalance.

    This doesn’t relate to Fog of War a lot, of course, but it indirectly affects it, which is what warrants this post here.

  • I don’t have much to add to that but thanks for the comment!

  • tinytouchtales

    Thanks for the shout out!
    I wanted to comment on a few things since twitter was too restricting. Disclaimer: I have not yet played the game prototype but saw all gameplay videos etc. So this could devolve into uneducated design advice really quick and i know that each designer has his own style of working so take my ideas with care.

    While watching the videos i was kind of irritated by the circle type view cone. Around the player there is a circular area in which information is revealed. This kind of clashes with the visual design of the board, since it’s very rectangular. Just from an visual design stand point this seemed like an odd choice to me.

    I do understand that having all the information will go against the “information horizon” idea, but i thought it could be good to only obfuscate a part of the information not all.
    Which information is there:
    – tower value
    – lane progress
    – gem value
    – gem position
    – building position
    – building type

    While the tower value is visible at all times anyways, lane progress and gem position should be as well. The lane progress helps to communicate which lane needs attention next and the gem positions will show you how close a lane is to being pushed to either side. While it’s not really important to see the actual gem size, i do think this general information could help to make the game more accessible.

    I thought that it could be interesting to use the fog as a more integrated element where the player has to make sacrificial moves in order to see what’s going on, on a particular lane. This is why i would be interested in seeing a version of the game where the player sees the whole lane she’s on an the ones above and below. This would mean if you switch a lane vertically you can use this move to peak onto another lane. Since movement seems to be pretty crucial this could add a nice layer of choice.

    In addition to that i think it also would be interesting to see where on the lane a gem is in order to move more efficiently.
    Having a small view cone could lead to a lot of back and forth to see what’s going on, which could distract from actually pushing gems etc. which should be you main activity as far as i understand.

    Again this is just my personal opinion and i’m sure Keith know’s what is best for his game!

  • Hey hey – thanks so much for the response. I appreciate it!

    >Just from an visual design stand point this seemed like an odd choice to me.

    Well it’s round because it’s a radius :). Making it any other shape would mean that you can see in some directions further than others. I agree that visually it’s not ideal but you get why it is the way it is, right? It wasn’t like I just selected “circle” as the shape randomly. All fog-of-wars are (at least roughly) circular!

    Lane progress is already visible through the fog. Maybe that’s not clear from the screenshots?

    >This is why i would be interested in seeing a version of the game where
    the player sees the whole lane she’s on an the ones above and below.

    That’s a lot of information. And does that mean if you’re on the middle lane you can see the whole board?

    >Having a small view cone could lead to a lot of back and forth to see what’s going on

    I predict that players won’t do this, because the information is so uniform. Like, what are you going to see – “oh, the gem is 1 tile off from where I guessed it would be” is sort of all you can “scout out”. All you need to know is generally speaking how pushed the lane is, which the lane progress indicator already shows you (through the fog). The only time you need to know the SPECIFICS of what’s going on in a lane is when you’re right next to it; when you can affect it.

    Anyway I really appreciate your feedback on the game! Thank you so much. If you ever want feedback on your stuff always feel free to ask me. 😀