XCOM 2 and Vision: The Cost of an Illusion
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
XCOM 2 recently introduced a new mod called "The Long War 2" (it is a sequel mod to "The Long War" for XCOM) and it is absolutely fantastic. More classes which you can send on more types of mission during which you will to kill more types enemies in more interesting ways. And it isn't just more of the same, it also takes the time to revamp how you send squads out on missions such that you have to make harder choices as to which missions you take on and how you allocate your limited pool of soldiers.
It doesn't simply expand upon what already made XCOM 2 so great, it deepens it in interesting and meaningful ways.
I was falling in love with XCOM 2 all over again, but it didn't take long before I was reminded why I fell out of love with it in the first place. Don't get me wrong, I will always love XCOM 2. It will forever hold a special place in my heart even as it makes me want to go lie down in the crusty snow and wait for winter to reclaim my body. What has made me want to sever my power cable, scream wordlessly at pixels, and ultimately quit out of the game, instantly uninstall and delete all of my saves lest I be tempted again? It wasn't the game's punishing difficulty or the permadeath of one of my beloved soldiers. I can continue the fight in the honor of those that died because I was to sleepy to notice that I threw a grenade at my own soldier. No, what broke me was the vision and enemy activation systems.
The combination of these systems continues to be one of the most thoroughly frustrating parts of the game. It continues to be a system that penalizes vision and information in baffling and contrived ways. It continues to be a game where I'm scared of moving a soldier forward, not because I'm scared of them getting shot but because I'm scared that doing so will cause a whole nother squad of enemies who are standing not 5 feet behind their screaming dying allies to realize that I'm here and join in the fight.
Before I spend anymore time complaining about it though I should explain how the vision and enemy activation systems actually work.
See No Evil
XCOM 2 is a turn based strategy game where you send in a small squad of troops on dangerous missions to accomplish various goals (all of which involve killing aliens with guns). You are the remnants of a resistance movement that is still struggling decades after the war was lost and Earth taken over by aliens. You are always going to be out numbered and out gunned, so you have to be smarter, faster, and luckier then the enemy in order to be able to win.
In most missions, your small group of soldiers starts out "concealed" which just means the enemy doesn't know you're in the area. If any of the aliens see you (perhaps because you started shooting at them) they will first activate (which means everyone in that squad gets a free movement that they will instantly use to get to cover, even in the middle of your turn) and when it is their proper they will start to fire back at you.
When a unit is concealed it is harder for the enemy to see them. A soldier has to be out in the open, very close to an enemy, or opening fire upon and enemy to be seen. Once revealed (out of concealment) though all vision is a two-way street and anyone they can see can see them. Once any of your units are revealed your whole squad is revealed and they are all revealed for the remainder of the mission. Even if every enemy loses sight of you after you are revealed they know you are in the area and so are looking for you. The bell can’t be un-rung and once the concealment phase ends all vision is reciprocal.
Enemies are grouped into squads of 3-5 aliens each. A squad might patrol or hold position near an important point, but they stick together and they activate together. When one member of a squad is activated, either because they see an enemy or because they are fired upon, everyone in that squad is activated. Each mission will have several enemy squads, and XCOM 2 tries to set up the player to be fighting only 1-2 squads at a time.
The primary way an enemy squad is activated is by seeing one of the player's units, and because once you've broken concealment all vision becomes a two-way street that means that the primary way enemies are activated is by the player seeing them. All this makes a certain amount of sense. If you can see them, they can see you. But the impacts this has on gameplay are very frustrating.
A common example: you just finished killing off an enemy squad but have 1 unit left to move this turn. You might be tempted to move them forward in order to be able to scout out potential threats but to do so is a mistake. Because if you move that soldier forward and they do see an enemy then that enemy squad will activate (which gives them a chance to move) and then attack you. Moving that soldier forward, seeing the enemy, essentially gave a fresh squad of aliens a free turn to shoot at you. The smarter thing to have done is not move and don't risk seeing enemies until your whole squad can shoot at them.
This is what I meant when I said that the game punishes vision, because enemies don't matter until you see them. This "See No Evil" policy it takes towards enemies means that high level play involves a lot of purposeful ignorance. You don't want to have vision because so long as you can't see them enemies will continue to act as though you don't exist.
This isn't a problem that occasionally comes up, so long as there is an enemy squad that has yet to be activated in a mission the threat of seeing them looms over the player. Every time you move a unit you risk seeing a new enemy and thus activate a new squad of enemies. You are constantly in situations where you know a group of enemies is right behind that door or on the other side of a building, and so you have to be very careful as to move your units such that you don't accidentally see them threw a window or allyway. And while this might sound like it leads to smart and stealthy gameplay the game’s UI does nothing to show you what tiles you will be able to see (both at the end of your movement and as you move) so knowing what tiles you will be exposed to when you move is nearly impossible.
Remember that those same enemies you are trying desperately to not be seen by CAN see their allies (with whom they are presumably in radio contact with) die and get fired upon. They can hear my guns and grenades, even bask in the glow of my mind powers, just so long as they just haven't personally seen me they won't act.
While it is pretty simple to describe a straight foreword solution to the vision problem, make it so that concealment applies to each squad individually instead against all enemies at once, this solution quickly leads to more problems so don't get to excited while I describe how that would work.
By making concealment something a you have or you don’t, make it something you have relative to each squad. This presents a UI problem (a lot more information has to be presented to the player on an already cluttered screen) but with that change players could scout and move without the fear of seeing an enemy squad. You might see an enemy squad, but they will not activate until they see you. Some classes have abilities that let them do something similar, but it is not something that applies to all of your units or against each enemy squad individually.
There are several problems with this change though. The first being that it changes all missions into a series of ambushes. You find an enemy squad, setup around them, wipe them all out in a single attack, and then repeat until the mission is complete. Ambushing the enemy is really strong in XCOM 2 but that is balanced by the fact that you only get to do it once per mission. You ambush once and then the rest is a long drawn out fire fight. You could make the enemy squads larger to compensate so that they can't be instantly wiped out in an ambush.
XCOM 2 wants all missions to proceed in roughly similar ways. You ambush 1 (2 if you are feeling bold) squad(s) of enemies and then you push towards your objective, engaging enemy squads one at a time until you achieve your objective and run away. XCOM 2 is very careful to make it so that you are always fighting enemies, but never all the enemies at once. It wants each mission to be a series of fights, which ebb and flow with some bleed over between them such that it feels like one long fight. On a mission you might kill 20 aliens, but you won't be fighting 20 at once unless you did something astoundingly bad. XCOM 2 to paces the fights, it wants to keep the pressure on yet not front load a mission.
If we allowed the player to hide from one squad while engaging with another one then there is the obvious question of why their allies aren't helping them. We could be in a fire fight with one squad while a different enemy squad takes a leisurely stroll through the firefight without ever seeing us. Their allies are getting shot at, they can see they are getting shot, but they can't see who is shooting so it isn't their problem.
There isn't a logical reason for that allied squad to ignore the fire fight and so we are again straining credulity to ask the player to accept that the enemy does nothing here. But changing the vision/enemy-activation systems doesn't change the fact that this is already happening in the game. As I said before, enemies already ignored allies that they could see die. What's different is that now the player can see them doing this more often.
This is the "See no Evil" policy in effect, everyone knows it is going on but so long as no one sees it happen then we can keep up the pretense that it isn't. The game might not want to throw more enemies at you right now but if you accidentally see some they can't just go back to pretending that they aren't there.
The game wants to preserve the illusion that it is throwing everything it can at you, but it doesn't actually want to do that. The illusion that the enemies are all running at you and trying to kill you is an important part of the game's power fantasy. The illusion that the enemies are smart, coordinated, and in constant communication. The truth is that the game was made to be beaten, that the devs want you to do amazing things and carefully made a playground for you to do those amazing things in. They want you to feel like someone beating the odds, which means they don't want you to be able to peak behind the curtain. In this way, fixing the problems with vision only serves to heighten the deeper problem the game has with how it wants to stage fights.
So, if we want to be able to fix the vision system we first have to fix how enemies are activated.
Fixing Enemy Activation?
There are many individual solutions to the enemy activation system, this is not the first game that wants the player to fight a long string of enemies. Make it so that when an enemy squad is activated they send out a distress call to nearby enemies. How far out that call goes would have to be carefully controlled and it shouldn't be recursive (one squad calls another who calls another and so on such that instantly every enemy comes down on your head).
This is all doable, but requires a great deal of planning and control especially since XCOM 2 keeps its maps relatively small and dense which means that when a distress call that goes out, even if it doesn't go far, has a good chance of grabbing several squads of enemies. But XCOM 2 has a handicap here that makes such planning infinitely harder: levels are procedurally generated. To automate such a delicate process while maintaining the differences and spontaneity that makes procedural generation worth it, is beyond hard.
Most games that rely on procedural generation for levels will cleanly break up the area into rooms so that they can control how many enemies the player will have to fight at once. Think The Binding of Issac or Enter the Gungeon, every fight in those games has locks you in a room and you have to fight and kill X number of enemies before you can get to the next room/fight which has Y number of enemies. XCOM 2 wants to have a more naturalistic series of encounters and environments, and so lets the areas and encounters bleed together. Enemies are grouped togeather into bite sized chucks like EtG but fights aren't cleanly separated which creates a more naturalistic fight and creates a great many more tactical options for the player.
XCOM 2 tries to use player movement/vision to determine when to throw new things at them. As you move threw a level more enemies are activated. An assumption this system rests on is that the player won't be moving to much while in the middle of a fire fight, and so won't be seeing too many new enemies while fighting. You do move though. You move to get a better shot, finish someone off, or try to get to better cover.
Even if we got all that working though we still need to be concerned about the illusion that we want to maintain. We need to be concerned about not just if the AI is working the way we want but if it is working in a way that the player buys that it is working correctly. They have to believe that they are fighting a smart group of enemies or else the fact that the enemy actually IS smarter won't matter. If a player can watch one squad do nothing while their allies die nearby then the player is might just realize that they are simply playing a game and stop caring. And if the enemy doesn't care that you are killing their allies then why should they?
Maintaining the Illusion
The illusion matters. And if you don't think the illusion matters I will remind you that the entire game is an illusion. Every game is an illusion.
The vision system they have now isn't great, in a lot of ways, but it does an okay job of preserving the illusion the game wants to present. This new system I'm outlining (even if it works better in most cases which isn't a given) is going to be more likely to have failures that do pretty clearly show the game's hand.
The point of all this isn't to convince you that XCOM 2's vision system is good, or even that it is the best we could hope for given other design goals. The problems with the system are both obvious and frustrating, and regardless of how good a game is we should always ask and strive for better games lest game design as an art simply peak, wither, and die. All this is to simply help you understand what caused this system to fail. Why this system had to fail in order to keep others from failing in perhaps worse ways. Deep systemic flaws in design usually don't present in expected ways and before we can start talking about solutions we have to be able to properly diagnose the problem.
The problem with XCOM 2's vision system is what you might see.