When creating a map, it's generally advised that you follow all of these guidelines listed below in order to ensure the best user-experience and/or quality of map possible. If your map follows every single guideline below, then your map will generally be very enjoyable for the player.
Does your map have enough variance in its layout that it's enjoyable to move around in?
If moving around your own map doesn't feel enjoyable to you, it's likely safe to assume that other players will think the same, and this will degrade the map's experience overall. As Shrek 2 is a platforming game, make sure you include plenty of interesting obstacles and world geometry that invokes a sort of creative exploration for the player.
Does your map use other elements aside from cutscenes to explain itself?
While cutscenes can be a nice and convenient measure for mappers to explain various aspects of the map to the player, you must remember to not rely on these. If you rely on these too much, then you will potentially risk making the player less engaged with the map, which is a net loss. Unskippable cutscenes are especially a red flag; typically unskippable cutscenes will always hinder a map, especially in terms of its replayability.
Does your map explain what to do, but not how to do it?
What this means is that you as the mapper must make sure that the player will always have a general idea as to what they should be doing. When the player is left clueless as to what to do, it will heavily degrade the player's experience of the map, which you obviously don't want. While you need to make sure the player will know what to do (such as where to go, or what the general goal is), you should not go as far as telling the player why or how they should be doing something. By not explaining why or how the map is what it is, it will allow the player to think for themselves, which increases the map's engagement overall, resulting in a more interesting and unique experience.
Does your map have surprises throughout the map?
Surprises may include unexpected discoveries or unexpected events. Being able to surprise the player is typically a good thing to strive for as a mapper, as it will generally increase the player's engagement with the map. However, surprising the player will become harder to accomplish once you factor in a need for replayability. Having an aspect of luck in your map may assist in this, but is not required.
Is your map rewarding for the user?
If, you as the mapper, can make the player feel good about themselves from playing your map, then you've made a good map. You can typically do this by adding in certain challenges or rewards for difficult tasks.
Does your map have a lot of difficulty variance?
While some mappers may argue that balancing your map's difficulty to be only one of the three listed above, it's generally expected that if your map's difficulty is linear/flat, that the player will become less engaged with the map. While this is not always the case, it's generally safe to assume so. So, in other words, as a mapper, you should make sure that there's parts of your map that are easy in difficulty, medium in difficulty, and hard in difficulty. By having this sort of difficulty structuring, you will make a more interesting and memorable experience for the player.
Does your map punish the player in a fair way?
You need to make sure you're very delicate with punishing the player, because there are many cases that exist where a map punishes the player and the player feels annoyed, rather than feeling frustrated. While being frustrated can be seen as a negative for some, it can usually be assumed that if the player feels frustrated, this means that the player is displeased about their own lack of some sort of skill for a temporary moment.
If as the mapper you can make a player feel frustrated at times, this typically means you've created a fair obstacle, which is usually good. However, if the player feels annoyed, they will quickly become less engaged with the map, and this will increase the chances of the player quitting the map before fully completing the map. As the mapper, you should remember that you will always want any player to be able to finish your map in a fair and fun manner. If a player is exiting your map before completing it, something is likely wrong with your map.
Does your map invoke any sort of emotions throughout the playthrough of the map?
Whether it be happy, sad, frustrated, or general satisfaction, if your map is not invoking any of these sort of emotions, it typically means your map is not engaging enough for the player to care about the map's experience. Your map will garner more emotion if you make sure your map is following every tip shown on this page.
Does your map only focus on certain game mechanics?
By not focusing on every single game mechanic at once, you will typically not overload the player, which will allow the player to digest the map more easily, increasing engagement. This does not mean that you cannot make a map that uses every game mechanic at once, rather that any map should space these mechanic usages out, as to not overwhelm the player.
Does your map have the ability to be replayed multiple times and not feel boring?
Most generic maps don't have much replayability in them, which is typically bad for a map. If you can create an experience that is consistently fun no matter how many times a player plays your map, then you've successfully created a replayable map! Replayability is typically achieved via multiple possible routes, decisions the player makes that alter how the entire map plays out, randomness, or long-term engagement.
Does your map not have a lot of repetitive texturing?
This typically refers to world geometry (BSP) surface texturing, and how you should refrain from using only a few textures for the entire map.
Is your map generally asymmetrical?
By having a asymmetrical design overall, you will creative a more interesting and unique layout for the player to explore. While having some symmetrical designs can be important, try not to use many of them, since you may otherwise make the map look more boring overall.
Does your map have multiple POIs (places of interest)?
By having multiple POIs in your map, you will allow the player to not only feel like they are progressing and/or exploring, but it will also allow the player to more-easily identify the layout of the map, which is typically good to do.
Does your map not have a ton of secret areas?
On the flip side, does your map have secret areas? You should typically always add in a few secret areas to your map, as it creates a unique exploration experience for the player, and it creates a sense of reward for the player. Despite this, be careful how many secret areas you add into the map. If you add in too many, you may overwhelm the player, which is not good since this will only cause the player to feel less engaged. So in other words, make sure that you not only add in secret areas into your map, but you space them out enough so that you don't overwhelm the player.
Does your map used varied light brightnesses depending on the size of the room?
Doing this can be very important for further engaging the player in the environment you've created as a mapper. By varying the brightness of the lighting depending on the size of the room, you can allow the player to more-easily identify the size of the room they are currently in, and may also help with the player's depth of the map, which will help with engagement.
Does your map properly use texture alignment?
This typically refers to world geometry (BSP) surface texturing, and how you should make sure you properly align all of the textures for each surface so that you don't see any texture seams. If the player can obviously see texture seams, this will make the player less engaged with the map's environment.
Does your map use border textures for wall segments or doorways?
This is generally a good practice, since it will increase the amount of depth your map will appear to have, which is good for player engagement.
Does your map use different floor textures for each different floor height?
This is generally a good practice, since it will increase the amount of depth your map will appear to have, which is good for player engagement. Additionally, it's usually a good idea to apply this practice to ceilings.
Does your map have proper AI nodes for NPCs to navigate the environment?
Assuming your map features NPCs, especially enemies, it is vital that you build your maps in a way that is intuitive for NPCs to navigate it. As a reminder, all pickups are forcefully counted as its own AI node, so you need to keep that in mind. If you need to figure out whether NPCs can navigate your map, turn on the path visibility in the Perspective viewport. If all you see is a ton of lines flying all across the map, then you need to figure out how to simplify this. If you're using MPak, then you can place down invisible walls and cubes to cut off certain paths for NPCs that you don't want them to take.
AI nodes in this game work as such (assuming they are pathing to you):
The NPC will try to run directly toward you. If a direct path is not available, then:
The NPC will try to find a route of AI node paths that lead to you. If a path exists, then they will run this path until they can run directly toward you. If no such path exists then:
The NPC will try to run directly toward you anyway. Since they will likely be blocked, they will continue to try to run toward you until a valid path is found, or until the NPC is no longer blocked off
Does your map eventually loop on itself in some form?
This may sound un-intuitive, but it's actually a core component to general progression for your map. Take for example FGM Factory. Do you remember how at the beginning of the map, there's a window that shows you the end of the map? Although you can't go through the window, once you eventually get to the potion room, you get to see the beginning of the map. This is essentially a loop, as the player will be able to see how far they got in the map once they arrive to the potion room. Not all loops need to be crossable, but if they are crossable, then you will create an interesting dynamic into your map, especially if your map changes slightly each time the player arrives back at a location they've already explored.
Exception: not every map idea can revolve around this, and not every map idea should revolve around this. This guideline should be considered optional.