In terms of rational approaches to contemporary level design, the notion of line of sight being a key difficulty metric is widely used and acknowledged. That is to say, the greater the player's line of sight, the more they will feel empowered and the easier a particular scenario may become. The inverse is also true for limiting player's line of sight; they will feel more hesitant and consequently these types of scenarios are often associated with having a higher degree of difficulty. The confined spaces and use of the flashlight in Doom 3 are an excellent example of these theoretical principles at play. The mood is tense due to the limited line of sight offered by tight, constricted corridors and encounters with enemies are made more difficult due to the limited telegraphing times associated with the limited line of sight.
The two key metrics behind compression and funneling are portals and occluders. Dependant on the camera position, frustum and perspective, portals will increase the player's line of sight, whilst occluders will limit the player's line of sight. Figure 1, taken from the book Game Level Design by Byrne (2006) demonstrates the concept well from a technical standpoint -- however this is not how the game world is represented for the player.
Figure 1 
In the case of nearly all first person and some 3D, third person games, the camera is the avatar or orientated very close behind. Figure 2 is an example of this perspective and is an instance of when the concept of portals and occluders has the most to offer game designers.
Not all games though are 3D and in today's market of portable and mobile gaming, the 2D game is commercially viable and popular. With this in mind, let us reconsider the concept of portals and occluders from a traditional, top down 2D perspective. Figure represents the limitations of portals and occluders as the game world is abstracted through the use of an onscreen avatar, which unlike the example in Figure 2, is not limited by occluding elements on screen. In the case of avatar driven 2D games, the portal is the screen itself and the occluder is the physical frame of the screen.
It is at this point where the concept of compression and funneling can be used as an alternative to the rational approach of portals and occluders. Compression and funneling is a principle of rational level design which looks at how on screen elements such as enemies, environmental objects , barrages and other collision objects can be used to ramp difficulty and elicit strong emotions in players.
 Occlusion Example. Reprinted from Game Level Design, p 231. Copyright by Charles River Media Inc. Reprinted under the terms of "Fair Dealing" in the Australian Copyright Act, 1968, Section 40.
Before moving onto specific examples of how this principle can be applied, it is necessary to explain how the concept originated in order to put the emotional component into perspective. Jokes and sniggering aside, the phallus has been acknowledged by many as the inspirational basis for many design decisions, but rarely has the vagina ever been given such design importance -- especially in games. The notion of compression and funneling is derived from an observation of the game R-Type, released by Irem in 1987. R-Type is a traditional, side scrolling Shmup with rich aesthetics derived largely from the work of Swiss artist, H.R. Giger. In referencing the work of Giger, Irem put something powerful into the design of the game that elicited strong reactions from players.
To understand this, we need to consider how a Shmup works, especially a horizontal Shmup. A Shmup has a consistent, scrolling motion that continually forces the player into ever tighter and more intense confines and the only way out is through. It is in this regard that similarities can be drawn between the kinetic semiotics of games like R-Type and the process of human birth. Freud believed that the trauma of birth played a large role in all later anxiety neurosis, however he later abandoned this theory. This however did not stop later psychologists such as Otto Rank and others exploring the process of birth and its effects on developmental process. Grof (2002) discusses the second stage of birth and describes it as the following;
In the next stage of delivery, the uterine contractions continue to encroach on the fetus, but the dilated cervix allows gradual propulsion of the fetus through the birth canal. The reliving of this stage does not involve the exclusive identification with the role of the suffering victim like the previous stage; it also provides access to enormous reservoirs of pent-up murderous aggression.
There are two very important things that we can take away from this, regardless of whether or not the notion of birth trauma is psychologically significant or not --constriction is often not desirable, and second, when constricted we feel the need fight against these forces. In the case of Shmups such as R-Type it is easy to see the similarities -- we have a genre which forces the player to move into tight spaces and the only way to resolve these situations and remove the constricting forces is to destroy them and remove them from the screen. It is important to note that there is much more to this argument that goes beyond the confines of this practice driven piece, however this information is more than enough to give context to the following practical examples.
Now that we have some context for the origins of the theory, it is time to demonstrate the practical implications of such a notion. To do this, this particular piece will work within the constraints of the Shmup genre, which is particularly apt given the rise in popularity that the genre has had with the advent of mobile gaming. As this is a rational approach to design, it is important to indentify some key metrics before moving on.
For compression and funneling to be implemented, we need to understand the difficulty metrics associated with various approach vectors on the player. Once again, I have used R-Type as an example of this. In Figure 4, the primary axis is the primary fire axis --the axis in which barrage leave the players avatar. Usually, the player finds it easiest to deal with enemies or other compressive elements moving towards them along the front vector, labeled in green. Moving up the difficulty ramps are the front diagonal approach vectors and the most difficult approach vectors are those which are opposite to the primary axis. (as the player usually has no means of addressing these with weapons).
Once you understand the approach vectors, it is time then to understand how the player can be compressed. Basically, any collision object within a game can be used as a type of compressing agent. In the case of Shmups, we have a couple of very obvious examples;
Table 1 is an example of environmental compression in the case of R-Type 3. In the above example, the players intended movement is indicated using the green arrows and the elements of compression are indicated using the red arrows. In all examples, remember that we are dealing with fixed scrolling, so the player is continually being forced into these undesirable positions. If we look at Table 1 and follow the chronological order of screen grabs we can see how the player is initially forced to move through a small funneling point. Now funneling is slightly difference to compression in the fact that funnel points are often beneficial to the player and the way it works is quite straight forward -- move the enemy into a bottleneck to make them easier to deal with. In Figure 3 of Table 1, we can see environmental compression at work. The player is forced beneath a ledge which subsequently proceeds to collapse along the players vertical approach vector. The player is than forced to "expand" along their rear, diagonal axis to avoid the risk, all while being forced forward.
In terms of RLD and difficulty metrics, we can see that Figure 1 of Table 1 is an example of putting the player on the offensive by giving them a strategically powerful position. Figure 2 of Table 1 demonstrates how the player is put in a far more difficult positions as they have now way of using force to remove the compressive element and further to this, they are dealing with a compressive element which is moving along some of the more difficult movement vectors.
As seen in the above example, a funnel point is a point in the level design which is designed to empower the player, buy both creating a barrier against barrages from obscure approach vectors, and acting as a mechanism of crowd control for enemies. Funneling though is dependent though on two main variables; first a funnel point coincides with the primary axis and secondly, the length of the funnel point can affect whether it is strategically advantageous or not. Figure 5 and Figure 6 are good examples of these two uses.
In the case of Figure 5, the funnel point is quite short and this allows the player to have extended line of sight and ascertain whether or not it is safe for them to move through the funnel point. In this example, the funnel point prevents any barrages from hitting the player along the front, diagonal vectors and allows the player to manage the scenario more effectively, largely due to the greater line of sight.
In Figure 6, the player is more hesitant to move through the funnel point as it occupies so much of the screen and limits the player's line of sight (similar to the emotions associated with limited line of sight). This therefore is not a funnel, but rather another environment compression point. In both instances, designers will always notice that players 'dash' through all of these compression points, hence proving the notion that players will actively avoid being compressed where possible.
The use of enemies as an element of compression is slightly different to using environmental compression as in nearly all Shmups, the player can use their weapons to prematurely remove these compressive elements before they become too overwhelming. What this means from an RLD perspective is that the use of enemies as compression elements can be far more widespread and utilize more organic approach vectors. As the player is able to negate these compressive elements using their own firepower, it make the analysis of these barrages slightly problematic, however a good example can be seen in Table 2.
Table 2 is another chronological depiction of compression taken from the game U.N. Squadron. In this example, we have enemies entering from above and below the player from the rear approach vector. These enemies then turn back around and face the player along their primary axis, making it easy for the player to negotiate. Table 2 is interesting in the way it demonstrates player psychology in relation to automatic scrolling games. You will find that in most instances, amateur players will always be forced up against left or bottom of screen in automatically scrolling horizontal and vertical games respectively. Very rarely in a vertical Shmup should enemies approach from the rear approach vectors and this is to do with the difficulty metric and this very relevant observation of player behavior. In the case of U.N. Squadron though, the player can sustain a number of hits before dying so this problem is somewhat avoided, however it should be used very sparingly. Back to the case at hand, Table 2 demonstrates how enemy compression can use a number of independently moving compression elements and still remain fair for the player -- keeping in mind of course that the player can always use their weapons to negate these compressive forces, so long as they are approaching along the primary axis.
Barrage design is often overlooked nowadays due largely to the fact that pre-determined bullet patterns are largely associated with more nostalgic forms of gaming, namely the Shmup. On a side note though, BulletML is an effective system to learn the nuances of barrage design and the following examples are taken from this particular scripting system.
Barrages as a form of compression are interesting as they can often be entirely avoided by destroying an enemy before it becomes a problem. This therefore adds a new element of complexity to the RLD of Shmups as players will learn to prioritize the destruction of certain enemies once they learn how problematic a particular enemy barrage type can be, but that is beyond the scope of this particular piece.
Where we have mainly discussed compression and funneling, barrage design is an effective way of describing the importance of our final metric -- expansion points. As the name suggests, expansion is the opposite to compression from both an emotional and difficulty perspective. Barrages can be described and given difficulty rating, depending on the amount of expansion space offered by them.
Figure 7 is an example of a barrage designed for a vertically scrolling game, where the primary axis is facing the top of the screen. In the above example, the barrage has a consistent movement vector and each projectile contained within the larger group has the same velocity. In this particular example, we can see that the expansion opportunities (green arrows) far outnumber the red, compression arrows. This results in a scenario that is easy for the player to navigate.
Figure 8 is an example of a harder difficulty metric created by the extremely limited expansion points (green arrows) in comparison to the compressive forces (red arrows). Once again, the barrage uses consistent movement vectors and consistent velocities. The absolute extreme of this can be seen in Danmaku games where barrages have numerous points of origins, creating numerous unique approach vectors. Often this is also compounded by the fact that these barrages will also have different velocities per collision object.
Based on the information presented so far, we can indentify some very rudimentary difficulty metrics associated with compression and funneling;
Compression and Funneling is a unique way of addressing the design problems associated with 2D level design however it is not a replacement for the line of sight theory -- rather a way of augmenting this already solid model. The application then of compression and funneling to 3D worlds and games is then not too difficult, or dissimilar to what we have been looking at within this piece and is the next logical step in proving the usefulness of this approach. As with anything though, there is always room for improvement. In the case of this piece and applying the theory to 3D world building, the established practices of architectural theory and lighting are obvious points of interest.
Grof, S. (2002). H.R. Giger and the Soul of the Twentieth Century. In S. Altmeppen (Ed.), Icons; H.R. Giger (pp. 13-21). Zurich: Taschen.