This blog post is a more friendly and accessible version for our paper (by Ahmed Khalifa, Fernando de Mesentier Silva, and Julian Togelius). Also, we added some extra text that got cut from the paper due to the page limit. In this blog post, we discuss six of the most common level design patterns present in 2D videogames that are common and impactful for the overall player experience.
Many games depend on content variety to tailor their gameplay experience. Having repetitive challenges can lead to player boredom, so designers generally aim to create an experience that is constantly engaging. Games usually consist of many facets such as levels, mechanics, graphics, sounds, etc. One of the most unique is level design. It does not introduce a new dimension in the game, instead, it is concerned with the arrangement of the existing elements. With the high demand for content in games, level design becomes a major task in game design. Its role is of pivotal importance, to the extent of being assigned to a different team than the one responsible for game and mechanics design, for games with large scopes.
When creating levels, innovation and variation alone are not enough to provide quality player experience. Having frustrating scenarios, unclear directions or unappealing challenges are reasons that could lead a level to have a negative impact on players. When observing levels from existing games, it is possible to highlight common patterns that play a part in improving the quality of the design.
These patterns are simple conventions, meant to describe common practices used in level design. Level design is a subconcept of game design. As such, so are level design pattern a subset of game design patterns. However, level design presents many intricacies that stand out inside the scope of game design. The major role levels play in the experience of the game is reflected by the number of resources put into this facet of the design during production. Levels can highlight the story, create smaller short-term achievable goals and help shape the player experience, with the objective of enhancing player immersion. Level creation plays such an important part in a game that sometimes developers provide their audience with level design tools, so they can create and share new levels.
Although the level design patterns we present might be well known to game designers, it is important to formally document them. By doing such, we can facilitate communication between experienced and novice designers, ultimately contributing to the growth and sharing of level design practices. For this purpose, this work aims at formalizing the concept of level design patterns, providing not only valuable resource to novice designers but also groundwork for future study and design of such patterns. It is also our understanding that this work could be beneficial to the research community, especially in the fields of game design, game analytics, procedural content generation, and automated level design.
In this post, we describe in detail six level design patterns. These patterns are noticeable across a variety of 2D games. We discuss the principles and motivation behind applying these patterns and show examples of it being used across multiple games. This work does not showcase all potential or even existing level design patterns, choosing instead to focus on some of the most common, with the intent of formalizing the concept and laying the foundation for future research and discussion to extend upon.
Design patterns date back to the seventies, with origins in the work by architect Christopher Alexander . Alexander created these patterns to find a more formal language to communicate with. The design patterns summarized recurrent problems that could be found in the environment and their respective solutions. The solutions provided worked as guidelines, and not as definitive answers, to the problems shown. This idea was transferred to software engineering in the nineties, when Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides published a book discussing software design patterns . Similar to Alexander, they summarized recurrent problems in object-oriented design and suggested respective solutions to them. Kreimeier  introduced game design patterns in a similar manner to software design patterns as a way to solve recurrent problems. This definition has changed to be less strict so it views the game design patterns as a common reoccurring game design elements that affect gameplay , .
Developers, designers, academics, game makers and critics have been discussing design patterns for a long time. Often they are not referred to as design patterns, but as tips, tricks, guidelines, tools of the trade, etc. They usually refer to design pattern concepts by analyzing a certain level or area , , -, game -, genre -, or being as general as possible -, -. That information is usually based on their experiences from designing, developing and playing games. Most notable are patterns that are recurrent across multiple games. We list similarities between previous attempts at cataloging and classifying level design patterns and our own work in the upcoming sections whenever relevant.
In addition to finding and taxonomizing design patterns, studies have investigated how to use such patterns in procedural content generation. Thus, design patterns have been used for level generation , , , -, but also in attempts to generate game rules , . A common approach is to use design patterns as constraints during generation to limit the generative space to only include levels that make use of them , , , , ; this is most often seen in constructive generators . Another approach is to use design patterns in fitness functions for search-based generators , to guide the search towards levels that utilize these patterns , , , , , and yet another to include patterns in a training set for a PCGML algorithm  to help in generating new content , .
The patterns we discuss are elements that are present in levels across multiple games, rather than being a feature that is recurrent on the same title. To this point, we choose to showcase these with screenshots from different games. We believe that having examples from different sources supports our point that these are valuable concepts with longevity.
Patterns were chosen to take into account their relevancy (if it is often discussed in the community or other works), their recurrence (if they were observed in a substantial amount of the games that were played) and their impact (how important is the pattern in the games that have it). Over 30 Games were chosen to form a representative set, mixing older titles and new ones; published from large companies to independent developers; different gameplaying experiences (such as platforming, racing games, combat-based, puzzle-based, etc); while prioritizing games that are relevant, either from being popular, having a strong community (or cult following) or being commonly referenced as a positive example.
|Avatar||the game entity the players control inside the game. For instance, Mario and Luigi in Super Mario Bros (Nintendo, 1985).|
|Boss||an enemy that poses a bigger threat than most. An example is Iceman from Megaman (Capcom, 1987).|
|Collectible||a game object that can be collected by the players. An example is the coins in Super Mario Bros (Nintendo, 1985).|
|Enemy||a hazard that takes the persona of a character. Goombas from Super Mario Bros (Nintendo, 1985) are one example of enemies.|
|Environment Tile||entities used to decorate the game, usually not interactable. Clouds in Super Mario Bros (Nintendo, 1985).|
|Hazard||entities that hinder the player from completing their goal. An example is the spikes in 1001 Spikes (Nicalis and 8bits Fanatics, 2014).|
|Inaccessible Area||an area that players cannot reach, but that might become accessible at some point in the game. For instance, dungeon rooms in The Legend of Zelda (Nintendo, 1986) that require a key to enter.|
|Level||section of the game, where players act towards winning the game. An example is World 1-1 from Super Mario Bros (Nintendo, 1985).|
|Mechanic||an element in the game, visible or not, that enforces a rule. An example is the checkpoints in Sonic the Hedgehog (Sega, 1991).|
|Object||any entity that appears in a game scene and can change state. It includes hazards, enemies, power-ups and etc.|
|Power-up||a collectible that positively impacts the players. The mushroom in Super Mario Bros (Nintendo, 1985) is an example of power-up.|
|Projectiles||moving entities projected from a hazard or avatar. Hammers thrown in Super Mario Bros (Nintendo, 1985) are an example.|
|Rule||describes how the game is played and controlled. An example is a rule to collect all pellets to win in Pac-Man (Namco, 1980).|
|Scene||a slice of a level/world that revolves around a concept, usually a challenge.|
|Screen||the part of the game level/world that is currently visible to the players.|
|Solid Tile||a game object that prevents the players from passing through it. An example is the floor in Super Mario Bros (Nintendo, 1985).|
|World||a large game area that is built from multiple levels. For example, Brinstar in Super Metroid (Nintendo, 1994).|
Before presenting the patterns we observed, we identify the vocabulary we are using throughout the post. Such vocabulary is listed in the above table. This vocabulary is extracted from Anthropy and Clark , Bjork and Holopainen  and design pattern wiki . It was then adapted to fit our work.
In this work, the patterns presented are the result of the position of game elements in the level in relation to each other. The reason we do not list checkpoints as a pattern, for instance, is that we frame it as a mechanic in the game. Nonetheless, the checkpoint mechanic can be used in conjunction with the patterns presented here. For instance, checkpoints are usually present in Safe Zones and are commonly associated with Pace Breaking.
While the patterns are presented individually, they can be combined or modified to provide a new and fresh experience. It is recurrent that new design patterns can be generated from the combination or variation of existing patterns. For example, Thompson  showed that a pattern from New Super Mario Bros U (Nintendo, 2012) is a combination of multiple known patterns. It is also worth noting that the absence of a pattern does not represent bad design. These are guidelines and ultimately it is the designer's decision to make use of such concepts.
Not all patterns are applicable to all games or levels, so we choose to focus on those we believe to be the most common across different games. In this work, we present six patterns: Guidance, Foreshadowing, Safe Zone, Layering, Branching, and Pace Breaking. In the following subsections we discuss each individually, and present examples of how games have made use of them, by presenting screenshots as visual evidence whenever possible or necessary.
When playing a level, it is possible for players to lose track of the path they need to take, especially when exploration is an aspect of the design. The pattern we name Guidance refers to the use of non-verbal game elements to guide players in an intended direction. We rather classify verbal guidance and tutorials (verbal or not), such as a non-playable character giving instructions or tips, or a character showing you an action you can replicate, as a game design element of teaching or narrative purpose. This pattern encompasses the concept of guiding players both towards making direct progress in the level, as well as in the direction of a secret or collectible.
The easiest way to guide the player is through the level shape. In this pattern, designers use solid tiles to guide the player eyes towards the target direction. This pattern has been discussed more often in 3D games , , ,  than 2D ones , . The main reason is in 3D games players usually have more freedom of movement which requires the designers to have to push them towards the next location. The previous figure shows how Super Meat Boy (Team Meat, 2010) and Super Mario World (Nintendo, 1990) use solid tiles to convey the direction the player needs to traverse the level.
One of the most common representations of Guidance is done through the use of collectibles. It can indicate the main path, as well as provide awareness to areas players are not able to see yet. Developers can use this technique to guide players away from "bad decisions" such as performing a blind jump because they cannot perceive the correct path through another location. Collectibles can also be used to guide players into exploring a path that initially looks "dangerous" or incorrect, or to steer them into a safe location or target area when they cannot see ahead of them. An example can be seen in the previous figure. The figure shows two follow-up screens in Donkey Kong Country 2 (Rare, 1994). At the end of the second level of the game, if players dive where the bananas are located, as in the left image, in what looks like a bottomless pit, they will be greeted with the platform below, shown in the right image. This type of guidance has been mentioned in previous work by Anthropy , Smith , Pugh , Koncewicz , and Kremers . The concept is referenced under multiple names, such as breadcrumbing  and signifiers , but the meaning remains the same.
Hazards are another common artifact to represent Guidance. With positioning alone, hazards can influence players inertia, as pointed out by Anna Anthropy  and Milam and El Nasr . In Expand (Chris Johnson and Chris Larkin, 2015) players move a pink rectangle in Polar coordinates, as opposed to Cartesian coordinates, trying to reach the center of the circle. The previous figure shows the comparison of a scene with and without a hazard, the red floor, in the inner circle. In such a scene, if the hazard is absent as in the right image, players can always resort to touching the inner circle and thus giving them more time to avoid the moving hazards. With the inner circle covered by the red floor, which kills on touch, players are forced to keep a safe distance from that area, as shown in the left image. Although both are the same scene, players usually proceed differently when approaching each.
Enemies can induce Guidance in a different fashion than most hazards. Enemies can be used to attract players attention, as they intend to fight them. This type of guidance has been discussed in the Boss Key Series  during the analysis of Super Metroid (Nintendo, 1994), it was discussed in the work Milam and El Nasr  during analysis of pursue AI pattern in 3D games, and in Hoeg's work  during discussing the effect of movement on player choices in FPS games. The presence of enemies guides players towards their location. For instance, enemies in seemingly inaccessible locations cause the players to wonder how to reach such. The left image in the previous figure shows how Super Metroid (Nintendo, 1994) uses enemies to guide players into the intended path. The right image shows enemies being used to attracting players to a trap (where the floor collapses), rather than a rewarding path, in Castlevania Legends (Konami, 1997).
Another common representation of Guidance is using environmental cues such as highlighted tiles (changing the color or texture of certain tiles in the scene instigates player curiosity). This technique has been discussed in several previous work , , , , , , , . Authors discuss how the use of different environment tiles can draw players' focus to certain areas, instigating them to explore. The previous figure shows how different textured tiles are used in Super Metroid (Nintendo, 1994) and The Legend of Zelda: A Link to the Past (Nintendo, 1991), respectively, to evoke player exploration.
Safe Zone is the pattern that refers to one or more areas in the current scene where the players are not exposed to negative interactions (hazards, enemies, and etc). Having Safe Zones creates pockets of space where players can analyze the surroundings and safely plan their next actions. They are especially important at the starting point (spawn point) for the avatar, as not to punish players before they can become aware of the challenge ahead of them. Safe Zones are rarely effectively drawn on the screen, but rather being identified after observing the scene for a short amount of time to notice hazard reach and patterns.
In the previous figure, we draw, with red dotted lines, the line of fire of the enemies present on the screen, which are invisible in the actual game. In these examples, the Safe Zone is a space where the avatar can stand in without intersecting any line of fire. In the scene from Mega Man (Capcom, 1987) shown in the left image, we can notice Safe Zones on the bottom-most platforms, right above the leftmost ladder and at the top-right of the screen. In the scene from Star Guard (Loren Schmit, 2010) we can notice the Safe Zones as the empty black spaces. In these scenarios, it is common for players to try and devise strategies of how to move between Safe Zones while proceeding closer to their goal.
In the previous figure, we draw dotted red rectangles to highlight Safe Zones in the scene. The level from Linelight (Brett Taylor, 2017) shown in the left image has a big center area where the moving hazards cannot reach the player. It is important for players to use the Safe Zone to maneuver the scene, as hazards move faster than their avatar. The right image shows that doorways of dungeon rooms in The Legend of Zelda (Nintendo, 1986) are Safe Zones that allow players to become familiar with the challenge they are about to face.
Safe Zones can provide the opportunity for Pace Breaking, a pattern we describe later in this post. They can also be used to express Guidance, guiding the player to favor certain paths over others. The same concept of Safe Zone has appeared in previous work , , , , but has usually been used to host checkpoints and save rooms , , , .
Foreshadowing is a literary concept - where the author hints at something that will happen later in the story. The general concept can be applied to games , , , , . We then call Foreshadowing the pattern of introducing the player to an element under a controlled environment, before this element is more integral to the game.
Foreshadowing is a helpful pattern to help players experience a new game mechanic or game object without an explicit tutorial. Once players learned the basics, the game can present a challenging situation around this concept. The previous figure shows how Mighty Jill Off (Anna Anthropy, 2008) introduces a new hazard. The spider is first introduced in the scene shown in the left image and becomes more threatening later in the game as shown in the right image.
The above figure shows how a stage hazard in Mega Man (Capcom, 1987) foreshadows the boss fight in that level. During the level, players are confronted by the scissor-shaped projectiles shown in the left image which foreshadows the stage's boss's weapon, as shown in the right image.
Foreshadowing can also instigate players curiosity, making them excited about future possibilities. This is a common feature in games with an exploratory nature. The previous figure shows two examples of such. The Legend of Zelda: A Link to the Past (Nintendo, 1991) introduces objects that the player can only interact with later in the game, as shown in the left image. Super Metroid (Nintendo, 1994) teases paths only accessible after acquiring a power-up present later in the game. This application of Foreshadow tends to reflect a design that gives players incentives to backtrack, which is a common action associated with exploration.
Layering is the pattern of combining multiple objects to create a new experience. It often relies on Foreshadowing to be able to present a fair challenge to the player. The most common use of Layering is to introduce new and harder challenges, without the need to present new elements to the player. It benefits from previously introducing the different elements separately, which players are familiar with their behaviors, but have to devise a new strategy to overcome them. This pattern can lead to frustrating experiences when the outcome of mixing these elements is not planned. Many games use this pattern efficiently , , , , , , , so as not to have game objects that seldom appear and are deemed unimportant by the player (which is similar to Thompson's Throw away pattern ).
The previous figure shows how games can create harder experiences by combining multiple instances of the same enemy or hazard. While Lesbian Spider-Queens of Mars (Anna Anthropy, 2011) achieves such by using multiple of the same enemy, VVVVVV (Terry Cavanagh, 2010) does so by placing several copies of a moving hazard in a specific layout.
The previous figure shows games that create a whole new experience by combining different elements. In Mega Man (Capcom, 1987), shown on the left image, the players have to wait to jump on the disappearing platforms when they become solid, but also have to pay attention to the enemy that runs from side to side on the floor they are standing. While in Mighty Jill Off (Anna Anthropy, 2008) players need to crawl up the level as fast as possible without touching the flames and before the spider comes out of the yellow box at the top left of the screen to follow the player.
Branching refers to providing the players with multiple paths to reach their objective. Giving players a choice leads to a feeling of empowerment. As previous work before , , , , , , , , -, , , , , we deduced that there are various ways in which this pattern has been leveraged to produce different experiences. Sometimes the game provides a false sense of choice  when to complete the level exploration of most paths are required, as is common with dungeons in The Legend of Zelda (Nintendo, 1986). In Mega Man (Capcom, 1987) levels were designed to be played in any order, as the players could choose to visit stages in any order. Therefore, every level had to be designed to be beatable with only the tools players are provided with at the beginning. Super Mario Bros (Nintendo, 1985) is famous for having pipes that players can enter to find an alternative path through the level.
Levels can have Branching with no restrictions, meaning that all paths are open for players to select from. This reinforces the feeling of exploration during gameplay. The previous figure shows two scenes that use Branching with no restrictions. In L'Abbaye Des Morts (Locomalito, 2010) shown in the left image and The Legend of Zelda (Nintendo, 1986) shown in the right image, the players are allowed to freely choose which path to take.
Conditional Branching presents the players with multiple paths, but only allows them to access certain paths after meeting specific criteria. This form of Branching stimulates player curiosity and might require backtracking or repeated attempts to explore more than 1 path. The above figure shows 2 examples of Conditional Branching. As shown in the left image, Super Metroid (Nintendo, 1994) has doors scattered throughout levels that are locked until players find the weapon that can open them. In the case of Super Mario Land (Nintendo, 1989), the avatar can be in 1 of 2 states, small or big. The right image shows a level in Super Mario Land (Nintendo, 1989) where players can only access one of the paths if their character is small. This leads players to interesting decisions, as being small makes the player more fragile, but only then can they reach certain paths .
Lastly, Branching can be used to create a risk-reward scenario , , , , , , , . When presenting players with multiple paths, one can be a safer alternative with a small reward, while another requires higher skill, but has a bigger payoff. This gives incentive for players to spend more time with the game, as they are rewarded for their investment. The previous figure shows the racing games Excitebike (Nintendo, 1984) and SpeedRunners (DoubleDutch Games, 2013) applying risk-reward Branching. In both games players can choose to take a path the requires them to be more skilled at the game, but if successful puts them ahead of the competition.
Pace breaking refers to purposely changing the dramatic arc of the game from one scene to the next. It is commonly used to either increase or decrease tension, in order to make players more invested in the overall experience. Audio and visual cues are some of the most powerful tools to convey Pace Breaking to the players. Layering is one pattern commonly coupled with Pace Breaking as the presence of multiple elements tends to generate natural tension, especially when creating a harder challenge , . Safe Zones, on the other hand, can be used to have the opposite effect and break the pace to reduce the tension , .
A common feature that creates Pace Breaking is the introduction of a hazard of conspicuous difficulty. Whether it is considered a boss fight or not, recognizing that they are in the presence of a bigger threat usually draws players attention, increasing the tension. The previous figure shows the difference between normal gameplay and boss fights in Final Fight (Capcom, 1989). In the transition to the boss fight scene, the game changes the scenario and background music, it then reveals an enemy bigger in size, wielding a weapon and with a different health bar, all which indicate this to be a new, harder challenge.
Decreasing the pace of the game can lead to interesting results. It can be used to give players time to relax and enjoy other aspects of the game, such as new environments or abilities. In other times, it is interesting to give players a moment of peace right before an intense scene to generate a climax (the calm before the storm) . The above figure shows two examples of Pace Breaking to reduce players tension. In L'Abbaye Des Morts (Locomalito, 2010) shown in the left image, players are given time to relax after a sequence of stressful challenges and enjoy the scenery of the night sky. In turn, Mega Man 11 (Capcom, 2018) introduces a completely empty room right before the climax of a stage, the boss fight, as shown in the right image. This creates a calm sequence right before the height of the dramatic arc for the level.
Pace Breaking can be a powerful tool to introduce players to a new experience, feeling or mechanic in the game . In Super Metroid (Nintendo, 1994) when players acquire a new power-up, it is common for them to have to make use of such in a very simple scenario to proceed. These usually come right after a climactic moment in the game, as the power-ups in Super Metroid (Nintendo, 1994) are usually given as rewards for beating hard challenges. The previous figure shows a similar approach in Lesbian Spider-Queens of Mars (Anna Anthropy, 2011). In the left image, we can see a regular level from the game, where the players have to use their laser to capture the other characters. Meanwhile, in the right image, there is the introduction of a level where the players are trying to reach the other characters before they break free and become stronger enemies. This change of pace breaks the normal gameplay of the game, that requires reaction and dexterity, to introduce a level with a run against the clock (timer) challenge.
Another example of Pace Breaking are levels designed to have choke points , , , arenas , or collision points . These take players from a space where they have more freedom to move and escape hazards to a tighter space where interaction with hazards is usually unavoidable. The previous figure shows this concept in Mighty Bomb Jack (Tecmo, 1986). On the longer section of levels, as shown in the left image players control their avatar in a long corridor collecting power-ups and collectibles, while avoiding hazards. Meanwhile on the bonus stage, as in the right image, players are trapped in a small room where hazards are much harder to avoid while having to collect all bombs to proceed.
In this post, we introduced 6 level design patterns extracted from observing multiple 2D games. These are meant as conventions that can improve player experience and not requirements to create a quality game. The formalization of these patterns contributes to creating a universal language for developers, helping knowledge share and expansion.
The patterns are presented in this work individually, but it is common for them to be used in conjunction. Layering multiple hazards can create tension, resulting in Pace Breaking. Locked doors can foreshadow future branches to pursue. It is important to experiment around these patterns and not be restricted by them, as the solution to a design problem might require such.
Level design patterns are generally used to have a positive impact on the gameplay experience. But it is worth noting that consciously subverting such concepts can provide a unique experience. For instance, Syobon Action (Chiku, 2007) and I Wanna Be The Guy (Michael "Kayin" O'Reilly, 2007) use the element of surprise in their level design. By presenting features common to famous 2D platform games, players are caught off guard with their unexpected behavior, such as having deadly traps where power-ups would usually be and having enemies spawn on top of the player character with no prior warning.
The level design patterns show in this work are not restricted to 2D games. They were presented as the result of studying 2D games, but all are applicable to 3D games as well. The definitions are not restricted to 2D space, changing the context does not invalidate their application. Zombie hordes on Left 4 Dead (Valve, 2008) are a result of Layering and create tension with Pace Breaking. The concept of open world games, such as Red Dead Redemption (Rockstar Games, 2010), is an extrapolation of the Branching pattern. Super Mario 64 (Nintendo, 1996) constantly uses coins to guide players and foreshadow to instigate player curiosity.
The patterns in this post can have a more technical application as well. They can be used as guidelines to procedural level generators, as part of fitness functions for search based generator, as training sets for machine learning algorithms or to guide towards having intentional level generators.
Ultimately, level design patterns have always been used in games. Having guidelines on how to improve the player experience is a very valuable tool. A formal taxonomy facilitates wider dissemination of these concepts, stimulating expansion and contribution, helping improve level design practices.
 C. Alexander, A pattern language: towns, buildings, construction. Oxford university press, 1977.
 E. Gamma, Design patterns: elements of reusable object-oriented software. Pearson Education India, 1995.
 B. Kreimeier, "The case for game design patterns," https://www.gamasutra.com/view/feature/132649/the_case_for_game_design_patterns.php?print=1, last Accessed: May 23, 2019.
 S.Bjork and J.Holopainen, Patterns in game design (game development series). Charles River Media, 2004.
 S. Bjork, "Gameplay design patterns collection," https://virt10.itu.chalmers.se/index.php/Main_Page, 2009, last Accessed: May 30, 2019.
 A. Anthropy, "Level design lesson: To the right, hold on tight", https://auntiepixelante.com/?p=465, 2009, Last Accessed: March 5, 2018.
 A. Anthropy, "Level design lesson: In the pyramid", https://auntiepixelante.com/?p=459, 2009, Last Accessed: March 5, 2018.
 A. Anthropy, "Star guard", https://auntiepixelante.com/?p=499, 2009, Last Accessed: March 5, 2018.
 A. Anthropy, "Level design lesson: Low overhead", https://www.auntiepixelante.com/?p=1022, 2011, Last Accessed: March 5, 2018.
 J. Penner, "Breaking the law of Miyamoto", The Gamer's Quarter, no. 7, pp. 4-11, 2006.
 A. Anthropy, "Knytt syndromes", https://knyttlevels.com/levels/dessgeega-KnyttSyndromes.knytt.bin, 2011, Last Accessed: Jan 4, 2019.
 T. Thompson, "Researching super mario bros. level design", https://www.youtube.com/watch?v=tzXpKlccRE, 2015, Last Accessed: Jan 4, 2019.
 M. Brown, "Super mario 3d world's 4 step level design", https://www.youtube.com/watch?v=dBmIkEvEBtA, 2015, Last Accessed: Jan 4, 2019.
 G. Soup, "Cave story's masterful game design", https://www.youtube.com/watch?v=c0sjTBzCW0, 2015, Last Accessed: Jan 4, 2019.
 M. Brown, "Boss keys series", https://www.youtube.com/playlist?list=PLc38fcMFcVul4D6OChdWhsNsYY3NA5B2, 2018, Last Accessed: Jan 4, 2019.
 M. Thorson, "Level design workshop: Designing celeste", https://www.youtube.com/watch?v=4RlpMhBKNr0, 2018, Last Accessed: Jan 4, 2019.
 M. Brown, "How mega man 11's levels do more with less", https://www.youtube.com/watch?v=nYxHMZX6lN8, 2018, Last Accessed: Jan 4, 2019.
 G. Soup, "Crosscode's brilliant level design: Analysis", https://www.youtube.com/watch?v=Dk9OEt02aDE, 2017, Last Accessed: Jan 4, 2019.
 M. Guzdial, J. Reno, J. Chen, G. Smith, and M. Riedl, "Explainable pcgml via game design patterns", arXiv preprint arXiv:1809.09419, 2018.
 S. Dahlskog and J. Togelius, "Patterns and procedural content generation: revisiting mario in world 1 level 1", in Workshop on Design Patterns in Games. ACM, 2012, p. 1.
 M. Stout, "Learning from the masters: Level design in the legend of zelda", https://www.gamasutra.com/view/feature/6582/learningfromthemasterslevel.php?print=1, 2012, Last Accessed: Jan 8, 2019.
 T. Hoeg, The invisible hand: Using level design elements to manipulate player choice. Guildhall at Southern Methodist University, 2008.
 R. Koncewicz, "What made those old, 2d platformers so great?" https://www.significant-bits.com/what-made-those-old-2d-platformers-so-great/, 2009, Last Accessed: Jan 4, 2019.
 G. Smith, M. Cha, and J. Whitehead, "A framework for analysis of 2d platformer levels", in SIGGRAPH symposium on Video games. ACM, 2008, pp. 75-80.
 K. Compton and M. Mateas, "Procedural level design for platform games.", in AIIDE, 2006, pp. 109-111.
 S. Larsen and E. Aarseth, "Level design patterns", 2006.
 S. Dahlskog, S. Bjork, and J. Togelius, "Patterns, dungeons and generators", in Foundations of Digital Games. ACM, 2015.
 K. Hullett and J. Whitehead, "Design patterns in fps levels", in Foundations of Digital Games. ACM, 2010, pp. 78-85.
 G. Smith, R. Anderson, B. Kopleck, Z. Lindblad, L. Scott, A. Wardell, J. Whitehead, and M. Mateas, "Situating quests: Design patterns for quest and level design in role-playing games", in International Conference on Interactive Digital Storytelling. Springer, 2011, pp. 326-329.
 T. Thompson, "The fine line between rehash and sequel: Design patterns of the super mario series", in Workshop on Design Patterns in Games, vol. 15, 2015.
 G. J. Winters and J. Zhu, "Guiding players through structural composition patterns in 3d adventure games.", in FDG, 2014.
 T. Pugh, "Level design tips and tricks", https://www.gamasutra.com/blogs/TomPugh/20181022/329044/LevelDesignTipsandTricks.php, 2018, Last Accessed: Jan 4, 2019.
 R. Terrell, "Folded level design", https://critical-gaming.com/blog/2008/8/5/folded-level-design.html, 2008, Last Accessed: Jan 4, 2019.
 A. Stamos, "Level design primer", https://renegadesector.com/level-design-primer/, 2014, Last Accessed: Jan 4, 2019.
 A. Anthropy and N. Clark, A game design vocabulary: Exploring the foundational principles behind good game design. London, United Kingdom: Pearson Education, 2013.
 A. Anthropy, "Game dev 1", https://docs.google.com/presentation/d/1l-uRlLM6jjQ1vwyyb-QPphk-EIAAEiOfayMrvZwEQOQ, 2017, Last Accessed: March 5, 2018.
 M. Sharif, A. Zafar, and U. Muhammad, "Design patterns and general video game level generation", International Journal of Advanced Computer Science and Applications, vol. 8, no. 9, pp. 393-398, 2017.
 S. M. Beaupre and T. G. Wiles, "General video game level generation", 2018.
 E. Adams and J. Dormans, Game mechanics: advanced game design. New Riders, 2012.
 R. Kremers, Level design: concept, theory, and practice. CRC Press, 2009.
 S. Rogers, "Everything I learned about level design I learned from Disneyland", https://www.gdcvault.com/play/1305/Everything-I-Learned-About-Level, 2009, Last Accessed: March 24, 2019.
 D. Milam and M. S. El Nasr, "Design patterns to guide player movement in 3d games", in Proceedings of the 5th ACM SIGGRAPH Symposium on Video Games. ACM, 2010, pp. 37-42.
 A. Khalifa, D. Perez-Liebana, S. M. Lucas, and J. Togelius, "General video game level generation", in Genetic and Evolutionary Computation Conference. ACM, 2016, pp. 253-259.
 A. Khalifa and M. Fayek, "Automatic puzzle level generation: A general approach using a description language", in Computational Creativity and Games Workshop, 2015.
 S. Dahlskog and J. Togelius, "Patterns as objectives for level generation," 2013.
 A. Baldwin, S. Dahlskog, J. M. Font, and J. Holmberg, "Mixed-initiative procedural generation of dungeons using game design patterns", in Computational Intelligence and Games. IEEE, 2017, pp. 25-32.
 S. Dahlskog, J. Togelius, and M. J. Nelson, "Linear levels through ngrams", in International Academic MindTrek Conference. ACM, 2014, pp. 200-206.
 G. Smith, J. Whitehead, M. Mateas, M. Treanor, J. March, and M. Cha, "Launchpad: A rhythm-based level generator for 2-d platformers", pp. 1-16, 2011.
 A. Khalifa, M. C. Green, D. Perez-Liebana, and J. Togelius, "General video game rule generation", in Computational Intelligence and Games. IEEE, 2017, pp. 170-177.
 T. S. Nielsen, G. A. Barros, J. Togelius, and M. J. Nelson, "General video game evaluation using relative algorithm performance profiles", in EvoStar. Springer, 2015, pp. 369-380.
 N. Shaker, J. Togelius, and M. J. Nelson, Procedural content generation in games. Springer, 2016.
 J. Togelius, G. N. Yannakakis, K. O. Stanley, and C. Browne, "Search based procedural content generation: A taxonomy and survey", Transactions on Computational Intelligence and AI in Games, vol. 3, no. 3, pp. 172-186, 2011.
 A. Summerville, S. Snodgrass, M. Guzdial, C. Holmgard, A. K. Hoover, A. Isaksen, A. Nealen, and J. Togelius, "Procedural content generation via machine learning (pcgml)", Transactions on Games, vol. 10, no. 3, pp. 257-270, 2018.
 C. W. Totten, An architectural approach to level design. AK Peters/CRC Press, 2014.
 B. Ciplijauskaite, "Foreshadowing as technique and theme in "one hundred years of solitude", Books Abroad, vol. 47, no. 3, pp. 479-484, 1973.
 F. Muecke, "Foreshadowing and dramatic irony in the story of dido", The American Journal of Philology, vol. 104, no. 2, pp. 134-155, 1983.  B.-C. Bae and R. M. Young, "A use of flashback and foreshadowing for surprise arousal in narrative using a plan-based approach", in International Conference on Interactive Digital Storytelling. Springer, 2008, pp. 156-167.