What I want to do here is come up with some neatly organized advice that's actually helpful for making good levels. No highfalutin' philosophical goals, no wordy treatises- just a bunch of things I've picked up on while designing levels not just for Super Mario World, but also classic PC games like Lode Runner: The Legend Returns and Jetpack. If you have any suggestions or feedback, do feel free to post or send me a PM. I know I wasn't very responsive last time, but I do want to make something out of this one.
Now then, let's begin.
Table of Contents
Level Structure (Micro)
23. Good obstacles anticipate the easy way out.
Take a look at this obstacle.
It's very plain. We all know what players are going to do here: jump over the Rex, and continue right.
Why don't we modify this so that things aren't so simple?
Now that the first Rex has the high ground, jumping over it is a bit more tricky, and maybe not the best way to progress. Notice that Mario can also jump onto the platform directly above him to get more leverage. In addition, Mario can't just carelessly continue right after clearing the first Rex, since there are two more right behind it, and at different elevations! The high road might be the safest, but Mario has to navigate the platforms to get up there. Mario could also wait for the topmost Rex to drop, or just rush through the bottom with precise hops. This is a lot more complex than the last version of the obstacle, and we didn't even do that much. We knew the player would just jump over the Rex and continue right, so we just raised the ground and added a couple of platforms and Rexes. That's all.
Let's look at another example.
Here, we've placed a pit behind the first Rex, so Mario can't just jump over it recklessly. Players might try to bounce on the first Rex instead, but that could put them directly in the path of the second one if they're not careful. Players could sneak past the first two rexes by opting for the lower airborne platform and the note block, but then they might not be able to scale the cliff before the third and fourth Rexes drop down. This version of the obstacle might be the best of all, because it's not immediately clear what the best approach is. It's like when Olmec explains the paths players can take through the temple in Legends of the Hidden Temple- there are multiple paths, but each one is fraught with its own kind of dangers and challenges. This is another example of that moment-to-moment nonlinearity I mention a bit further down, making players think about what to do. And really, did we do that much? We sprinkled some diagonal platforms over a pit and put Rexes in places that weren't pathetically easy to deal with- that's all we did. We only used one kind of enemy, too! The possibilities are endless.
The very first version of the obstacle is poor because it has a clear dominant strategy- that is, it will require little to no effort for players to discover what the easy way out is. Generally, this is something to avoid.
This lesson should also show you how important it is to actually play the game you're making levels for. If you have no firsthand experience, how do you expect to anticipate what players do? Watching videos of others playing the game can also be good training, especially if they employ a playstyle different than yours.
26. Introduce new mechanics in nonthreatening situations.
What if your teacher suddenly gave you a test on material you were supposed to cover a month later? That would feel pretty unfair, no? Like you had no way of preparing.
Well, when players die from not knowing how one of your mechanics works, it's pretty much the same feeling. That's why you should introduce new things in a relatively safe environment so that players can learn them before having to apply them.
Take a look at these screws on Super Mario Bros. 3's airship levels. The first one you encounter, in World 3, is placed over solid ground, so there's no penalty for falling off the very first time you jump on one. On top of that, it's not even necessary to use in order to progress; players can just as easily jump along the lower path.
In world 4, there's another set of screws that you can use to avoid a salvo of flames. This is more practice for players. The environment's a bit more dangerous, since you can fall into the flames, but the set of screws still isn't necessary to pass.
In fact, it's not necessary to use them at all until World 6's airship comes around, and by that point most players should have seen the screws before and know what they do.
Think carefully about how you introduce new things- it can make the difference between a fluid game and a frustrating one.
19. The most effective kind of nonlinearity happens moment-to-moment.
Watch these 10 seconds of gameplay.
Now these 10 seconds.
And now these 10 seconds.
And lastly these 10 seconds.
Notice something? Each of the four players used a slightly different method to cross the gap, but all four methods worked. No frustrating calls to customer service for an inconsistent obstacle!
If you want your levels to be "nonlinear," this is the sort of situation you should strive to create. When players have choices as to how to deal with an obstacle, it makes the game more engaging, because players have to think for themselves. These choices are meaningful because they affect what players are doing now.
Some might tell you that nonlinearity involves branching the level into two paths. Personally, I disagree. I think all that does is create two separate linear sections, and choosing between those two tends to be arbitrary and superficial.
If I'm not making any sense, I'm basically saying that you should focus on the individual obstacles rather than having multiple paths. I'm not against multiple paths, mind you- I just think people tend to overuse them and make them out to be more important than they really are. This is all just my opinion, by the way, so feel free to ignore it.
15. Avoid end-of-jump enemy encounters (EEEs).
Mario is most vulnerable right before landing a jump.
If you place a fast enemy- like this kicker here- such that it appears right before Mario lands, players can't do much to avoid it until the last second, and sometimes things line up so that the enemy is pretty much impossible to dodge. These EEEs are generally situations to avoid when building your stages.
Now, decreasing the amount of time players have to react (in general) is a way of making levels harder...but there is definitely such a thing as going too far. If you're going to use EEEs, make sure players have enough time to react. The only way you're going to figure that out (unless you're extremely perceptive about this sort of thing, and trust me, few people have that skill) is by getting others to test your stage. Your own opinion is biased because you already know where all the enemies are. Even if you think you know, get others to test anyway. Different players go through the level differently, and enemies might appear on-screen at slightly different points in time. Those slight differences are important- they can determine whether your enemy setup is fair or not.
14. Use buffers to help deal with sprite limitations.
Lunar Magic is not a game engine. It's an editor that works on top of the existing engine that SMW uses. What this means, as you've likely already discovered, is that there are limitations on what you can do. One of those limitations is that you can only have so many sprites on screen at the same time before the framerate takes a nosedive.
This can be a problem when you want to make action-packed levels where Mario is dodging lots of enemies at once. It's especially a problem when you need to use the maximum number of sprites on a single, particularly action-packed screen. What do you put on the next screen when adding any more sprites will cause slowdown? This is where buffers come in handy.
A buffer, in this context, is basically anything that separates large clumps of sprites by enough space that you don't have to worry about slowdown. Logically, it has anything that's not a sprite (unless you have room for one or two more without slowdown). So, buffers tend to be a good place for powerups, midway points, tricky jumps, slides, eye-catching scenery, etc. Essentially, do anything you can to occupy/distract players while they're en route to the next obstacle. Otherwise, you'll just have this empty space between your obstacles that creates more downtime for players, makes the level seem longer than it is, and overall just feels less fun than if you had used one of the above as a buffer.
Even if you have room for a few sprites, there are situations where two adjacent obstacles just add up to too many sprites overall. Buffers are handy in a variety of situations, so don't forget about them.
24. Don't surround powerups (or midpoints) with enemies and dangerous situations.
Powerups are there to help you reach the goal. They are not goals themselves. Now, if you have a rare powerup that makes players quite powerful, there's nothing wrong with making players work a bit harder than usual to obtain it. However, players don't like going for a mushroom/flower/cape if there's a good chance they're going to get hit anyway. I mean, think about it- powerups allow you to take hits without dying, so if you take hits on the way to getting a powerup, doesn't that defeat the purpose?
This is why you should be placing powerups as you build the level, not after (and the same goes for midway points, rest areas, and the like). If you want to place a powerup somewhere and there are enemies there already, you'll have to move a lot of things around or risk placing the powerup in a spot that's unnecessarily tricky.
Similarly, midpoints are there to save your progress. If you make it hard to obtain them, you're really defeating the purpose, not to mention potentially forcing players to repeat a section they've already beaten, which is not good.
25. Don't depend on enemies that make players wait and nothing more.
The perfect example would probably be those boo circles you see in ghost houses. Don't overuse them, and be careful when you do use them. All players can do in a boo circle is wait until the opening cycles around so they can continue. They usually need to be used in combination with something- regular boos or a powerup block, for example- so that players aren't just sitting around for several seconds. Alternately, you could try increasing the rotation speed or opening up multiple gaps in the chain.
The point I'm trying to make is that when players are just waiting, they aren't really thinking about much, so they're hardly even playing the game until that opening lines up and they can continue. In really bad situations, it's hardly any better than a loading screen.
Another thing I've noticed (and I've been guilty of this myself) is that some designers like to block doors and exit pipes with a chuck enemy. This is less creative than you might think, as players know exactly what to do but it's just a matter of waiting for that chuck to get out of the way once hit. It kind of takes away from the feeling of smooth transition that doors and pipes are supposed to have, too. This is just my opinion, but I think you should avoid such scenarios.
10. Put enough room between powerup blocks and ceilings.
This one's short and sweet.
Big Mario is two tiles high. Therefore, when players go on top of a powerup block to get its powerup, they should have at least two tiles of space. Otherwise they have to perform awkward crouch jumps that distract from the level at hand.
16. Make sure your coin guides actually line up with Mario's movements.
Sometimes I'll be playing a level and I'll see coin guides equivalent to these:
When your guides don't line up, they give the impression that you're a lazy designer who doesn't even understand how the character moves and how players tend to play the game. For example, when players have to clear a gap using a note block, they tend to hold down the jump button for the higher bounce so there's less of a chance they'll miss and fall into a bottomless pit. So, if you're using a coin guide for that jump, it should follow the higher bounce.
Now, if for whatever reason you want players to take the lower bounce- maybe there's a tricky Yoshi coin to collect, for example- perhaps a lower coin guide would be appropriate. The thing to keep in mind is how players tend to make their jumps. Your guides should be intuitive to most players. This is another area where getting others to test your levels can be handy.
Level Structure (Macro)
27. Start with the base idea, then add layers of complexity.
Watch the first level in this video. Notice how the level gets more and more complex as it goes on, but still maintains the same basic idea of spinies falling out of the trees while para-bombs float down? For example, at first only some of the trees block your view, but as you get deeper into the forest, the trees get pretty heavily concentrated abd it's harder to see what you're doing. There are also less safe spots in the second half because of the trails the hopping flames leave behind, and also because the pits are wider and more frequent. Even in the first half, there are lakitus that are also throwing spinies along with the ones that are falling from the trees. In the very beginning, though, there are less enemies, and players have the breathing room they need to get used to the kind of obstacles the level has later on.
Here's another example. One theme in this stage is ascending jump-through platforms while avoiding grinders. The first few instances use no more than a couple of grinders and give you room to maneuver, but later on the spaces get narrower and you have bony beetles to worry about as well. Alternating evenly between these areas are falling platform sections that become trickier as they demand more precision in less time across larger combinations. The back-and-forth between these two motifs also gives the level a distinct up-and-down feel, making the way you move through it equally interesting.
This is one great way to design levels- start with a simple base idea, and add to it as the level goes on. Introduce players to the concept so they know what to expect, and then start bringing out your more creative challenges.
28. Use transitions to tell a story.
I've got three videos for you this time. You don't have to watch the whole thing in any of them- I just want you to look at the different areas of each one.
Two (first level)
In the first level, the forest is being burned to the ground, so the second area has a red palette and the third area looks derelict and decayed. In the second level players travel to the sky, so the second section is icy and the third section takes place in the clouds, complete with parachuting enemies. In the third level, players escape from a sunken ship to the water's surface, so while the first section actually takes place within the ship, the rest of them are underwater segments that eventually travel upward.
Having environmental transitions like this is one simple but effective way to make your levels more memorable. Don't just leave level progress to the overworld; show where players are going while they play the actual levels.
You can also tie together adjacent levels in the same way. Going from a grassy plains level to a watery cave level? Why not have the former's exit in the cave itself, for example? Transitions help make your hack look like a continuous whole rather than just a collection of levels, so don't forget about them.
Having said that, I'm not against hacks that are supposed to be more like a collection of levels- if that's what you're going for, more power to you.
20. Your level doesn't have to be 100% nonlinear or even nonlinear at all.
In the end, what matters is the experience the level provides. If that experience happens to be very linear, there's nothing inherently wrong with that, so long as the quality of the experience is high.
There's basically a tradeoff between player control and designer control. When the designer has control, s/he can make very specific experiences for the player, but the player can't deviate from that experience. When the player has control, s/he can choose what kind of experience to have, but that makes it harder for the designer to balance the game.
I know this probably sounds overly theoretical and not very useful, and you might be right. I only bring this up because I don't want new designers to blindly covet some vague sense of "nonlinearity," thinking that's the only way to go about making levels.
So, essentially, my message here is that you shouldn't over-worry about whether your levels are linear or nonlinear. Focus on the kind of experience you want to make, and make it.
22. Don't let your levels drag on for too long.
Watch this video.
This was one of the first levels I created in Lunar Magic. Don't give me that look- we all have to start somewhere. All the same, look at how much this level goes on and on. It takes the torpedo ted spinbouncing concept and runs it into the ground. Every little variation of the idea that you could possibly think of is in there, and you have to clear every single one to complete the level.
Don't do this.
You don't have to explore every single variation of the idea to make a good level- a small sample is enough, and players will likely thank you for your restraint. Sometimes you'd be surprised how little you have to do (compared to all the ideas you have) in order to make a level that feels complete. If your level's long enough and you still have more ideas, why not have another version of that level concept in a different part of the game, for example?
Also, keep in mind that your own levels will feel shorter to you because you know how to beat them. Rest assured that players seeing the levels for the first time will take longer. A little polish, fat-trimming, and focus can go a long way here.
30. Avoid item babysitting.
Super Mario World allows you to pick up and carry around objects that you had to use on the spot in previous games, such as p-switches and springboards. While this allows you to create some puzzles and hide some secrets around the idea of bringing these items to the right location, it's all too easy to overdo it. For one thing, carrying an item through the whole stage distracts players from the actual level, since they'll constantly have to be careful not to lose it. Carrying items also hinders players' ability to climb vines/nets and spinjump, so transporting them across long distances can feel like an unnecessary powerdown. Sometimes, players aren't sure where to use the item and they'll spend a lot of time wandering aimlessly, which can be frustrating.
Essentially, items are there to give your hack a bit of "flavor" here and there- they shouldn't be the main focus unless you can actually come up with numerous clever ways of using them. When you do use them, make sure to test them to make sure they aren't exercises in boredom or frustration for players.
9. Don't place the secret exit right behind the regular exit.
This especially applies to levels that are really long. If you place the secret exit behind the normal one or even just near the end of the stage, you're asking players to repeat the entire level a second time even though they already beat it. Why would you do that? Imagine having to rewrite a 20-page essay even though you got an A on it- doesn't it seem pointless?
Now, if players take a different path through the level to arrive at the end and get the secret exit, that's a different story. In fact, I would encourage having a separate path for secrets in general, and I would prefer to have the entrance to that path somewhere in the beginning or middle of a level. The point is, players should be doing something different to get the secret exit. If they just go through the whole level a second time and go under the regular exit, they're basically doing the same thing.
Audiences, Players, and Interest Curves
1. Look at things from the player's point of view.
When you create a level in Lunar Magic, you can see the whole thing just by using the scrollbar. Players, however, only see a small fraction of the level at a time.
As you build your level, test it, and improve it, you'll come to know it like the back of your hand. Players, however, are seeing it for the first time. You may know how to deal with every obstacle in the stage without much trouble, but players don't, and they need time to react to the obstacles and get used to the level in general.
So, when players first start your level, what should they see?
Of course the example on the left is an exaggeration, but nonetheless, it's easy to forget that what seems obvious to you can be a big problem for players. The example on the right makes the level look lively without placing players in immediate danger. Remember to always give players a reasonable amount of breathing room.
4. Know your audience.
I also covered this in my previous level design guide, but I can't stress enough how important it is to keep in mind who's going to eventually play your game and what they want.
Let's say you're making a "mainstream" hack that most of the smwcentral community will enjoy. Correct me if I'm wrong, but most of us here have completed the original game at least once, so for your hack to make a good impression, it has to go above and beyond what the original did. Some designers accomplish this by taking what the original had and using it in new ways; others create new assets altogether (music, graphics, etc.). Both ways are fine.
Of course, you don't have to design for the mainstream at all. Maybe you want to make a game for people who eat "Kaizo hacks" for breakfast. In that case, perhaps most of your levels should demand a very high amount of precision from players and have cruel difficulty.
Or maybe you're designing for people who want to go back in time like they're playing the original game again, something like a "second quest." In that case, you should probably stick with the graphical style of the original, to keep things authentic. But that shouldn't stop you from, say, making new enemies that are in the style of the original game.
Perhaps you don't have a specific audience in mind, and you're making a Mario hack to learn about game design (certainly one of my motivations for making Rise to the Challenge) or accomplish some other goal. That's fine, too. In that case, constantly think about what you want to achieve and whether you're achieving it- are you going about things the right way?
I guess all of that might sound like a no-brainer, but if you constantly remember your audience, your hack will be more consistent and focused.
6. Variety makes players think.
Although the controls for 2D Mario games tend to be simple, Mario can actually perform quite a few moves in SMW apart from the staple "running and jumping" he's famous for, including but not limited to: climbing, sliding, picking up and throwing objects, bouncing on enemies, spin jumping and spin bouncing, ducking, swimming, throwing fireballs and twirling capes, flying, gliding, inflating himself, scrolling the camera, shell kicking, riding Yoshi, and wall running. That's a huge moveset, even if it's condensed down into a few contextual button presses, and there are probably even more things Mario can do now that we have all of these custom blocks to create and play around with. This variety is something you should make use of in your levels.
For example, if your level just involves Mario running to the right and jumping over enemies that require little thought to dodge, chances are it might be kind of boring. You can use the above actions to help "spice things up." That is, if players have to do various things in a level, then they have to think more about how to play, which makes the game more engaging.
Now, that doesn't mean you should take every single one of the above actions and cram them into every single level. There is such a thing as having too much variety in a single level, and if you have everything in every level, then there's not much difference between the levels, which is also bad. Instead, generally speaking, each of your levels should take a few of these actions and focus on them a bit more than the others. That will help each level stand out on its own.
This advice doesn't just apply to Mario's actions- it applies to everything in your game: enemy types, Mario's path through the level, environments, special mechanics, and so on.
7. Find a middle ground between boring and overwhelming.
If your game or level has no variety (or too much repetition), it will feel like the same thing over and over again, and players will be bored. If it has too much variety (or too many new things at the same time), there will be too many things to keep track of or learn, and players can become overwhelmed and frustrated.
Let's say someone is playing Super Mario World for the first time. If the first level involves a long, straight platform with a single koopa every two screens, the player will move, jump, move, jump, move, jump to the right. Boring, no? On the other hand, if the first level switched the controls on you every two seconds without any transition, while at the same time you have to run over conveyor belts sitting on top of lava AND deal with a half-dozen castle enemies the player has never seen before...you see where I'm going with this?
Obviously those examples are exaggerated, but all the same, if your game doesn't find that middle ground and stick close to it, it may suffer the consequences.
Now, that doesn't mean you can never deviate from the middle. Players have to learn new mechanics in order to progress through the game, and a certain amount of repetition can help players learn those mechanics. The trick is to introduce new things with the right pacing. Introduce them a few at a time, and make sure the player understands them before moving on to the next set of new things.
21. Don't get caught up in categorization.
During your stay at smwcentral, you may come across people who have the curious habit of assigning ice cream flavors to their own made-up categories of hacks. Pay them no mind. In fact, it would probably be best if you ignored their classifications altogether. Why? If you get caught up in what kind of ice cream flavor your hack represents, it will hold you back from making the best hack you can make. Sticking to one flavor of ice cream just because you don't like the others will only encourage you to ignore things that can help you improve your levels. It's just another form of selective perception- a self-imposed framework of rules and limitations that have nothing to do with making the best hack possible.
In fact, if you care overmuch about what kind of ice cream flavor you're making, you just might be a scrub.
What is a scrub, you ask?
Read this article, and read it well. The same concepts apply here.
Environments and Visuals
5. Can't think of decorations or environments? Time to do research!
If you're having trouble brainstorming what kinds of decorations to add to your foreground tilesets, don't underestimate how far a bit of research on the level's environment can take you. Nobody expects you to have an encyclopedic knowledge of every environment/biosphere/climate/country/part of the world/etc., so don't be afraid to look things up!
As an example, let's say I want to make an underground mines level. What sort of things can one find in a mine? For those who have played Donkey Kong Country, the answer is obvious: mine cart rails. But the thing is, you can take it a lot further than that; environments can go in a lot of different directions.
Let's do a Google search on "underground mines." After the Wikipedia links, one of the first results is this page. Just a brief glance can give us so many ideas. Is our underground mine level going to be filled with gemstones and minerals? Will there be stalactices/stalagmites galore? Will there be construction equipment lying around and bumble-bee-colored warning signs? Will Mario get a drill powerup? Will the goombas wear hard hats? Maybe we'll make use of the spotlight sprite to emulate the feel of needing a flashlight to explore the darkest corners of the caves? Maybe we can draw some shovels leaning against walls. Maybe we can include bird cages (look up why canaries are important in mines if you don't get that last one).
Now look at all the angles of attack we have here. We could look up reference images of rubies and emeralds, of shovels and pickaxes. We could research what kind of heavy machinery is used to drill deeper into the mine. We could find out what different kinds of caves there are, and what sort of colors they have. We can make our level look great and authentic, all because we took a quick look at a webpage whose apparent purpose is to teach mining to grade schoolers.
Don't underestimate the power of research. You can be sure that the developers of AAA franchises do an insane amount of research to lend their games an authentic flavor down to the last detail. You don't have to be that perfect, but if you just remember that research can help you, your levels will probably end up much better than they would otherwise.
13. Environments are more varied than you may think.
Take a look at Super Mario Sunshine's levels. Notice something? Even though all of them take place in a "tropical" setting, they all interpret the environment in their own way and have their own flavor, from a construction-heavy harbor and steep cliffs to a treetop village and a hotel on a sunset-swept beach. The word "tropical" can encompass a lot of different meanings, and (for me at least) one of the joys of playing Super Mario Sunshine was anticipating and discovering all the different spins and twists the level designers put on the environment type.
If you can accomplish this environmental variety on a level-to-level or even just a world-to-world basis, your hack will be more fun to play. What sort of different forest environments can you think of? What sort of environments might you find on a volcano, in the sky, wherever? Brainstorm and research and find inspiration- it will help you.
29. Have a consistent visual style.
Have a look at this level. A fair amount of its difficulty comes from not knowing what's what. Bowser statues are usually solid, but here they're not; spikes are usually a single color, but here, they come in a variety of colors; it's unclear what's a ledge and what's a completely solid tile, and everything is just tossed in together without so much as a by-your-leave. Overall the level isn't too bad, but the visual confusion drags it down.
Colors don't just serve to make things look nice in your level- they also help players identify and differentiate things. If the foreground and background have very similar palettes, like in this stage, it can be hard to tell not only what's solid and what's not, but also what's dangerous and what's not, which can be awfully frustrating for players who want to be challenged by the obstacles and not visual trickery.
I can certainly understand the desire to decorate your levels and make them look nice, but if you overdo it, the visuals can distract from the gameplay. Sometimes minimalism is a good idea.
32. Adapt global graphics to local environments.
This sounds more complicated than it is. Basically, when your game introduces a new environment, consider modifying some of your graphics, especially sprite graphics, so that they actually fit within that environment. Perhaps you could have pitchin' chucks throw snowballs in wintry areas, for instance, or give koopas backpacks instead of shells in mountainous stages. This will make players really feel the change in environment, and make the game more memorable on the whole because such attention is paid to even the smallest details.
Project Management and Workflow
2. Start simple, add details later.
As you work on a level, you'll inevitably see things you want to change, or get feedback from testers that convinces you to make changes. That's why you should start only with the bare, basic structure of the level first. If you want to modify a section of the level and you have all these decorations and details in the way, you'll end up moving a lot of things around. On the other hand, if you've only laid out the essential platforms, walls, and ceilings that define the level, then making changes is easy and will save you a lot of work down the road.
In fact, plenty of respectable level designers in this community start out with only cement blocks. Why? They're easy to change. Once the level feels right, the cement blocks can be changed to the appropriate tiles, and your level will both play well and look good. Now, personally I like to use a few more tiles than cement blocks, especially if the level I'm making has slopes, and of course cement blocks aren't a substitute for water or things like that. Still, the point is that you can save yourself a lot of frustration by starting with the base design.
One thing you should really stay away from is filling in the dirt tiles too early. If you end up repositioning things, you'll also have to resize the dirt tiles.
3. Don't over-rely on the "add objects" or "add sprites" dialogs.
2014/11/15 Edit: These dialogs have been updated, so this point is no longer relevant. I'll keep the image of Jetpack's interface, though, since it's a good example to keep in mind.
If you go looking in these dialogs every time you need to add something new, it's going to cost you a lot of time. Do yourself a favor and have everything you need in front of you from the beginning. Personally, I find that when everything I can use is visible at the same time, it's easier to come up with ideas and experiment. Diving into dialogs every five seconds ruins my creative flow.
One method I sometimes use is to take everything in a given tileset and condense it into a few screens in Lunar Magic. That way, I can have two Lunar Magic windows open: one for my templates, and one for my level. Then, I can copy and paste whatever I need, and avoid the dialogs altogether.
Of course, you don't have to use my system- just do what feels comfortable for you. The point is, when you need to add something, it should be right there in front of you already, so you can focus on actually building the level.
After all, when you're cooking a meal, isn't it easier to have everything prepared beforehand? You're not going to start cutting carrots when your attention's needed at the stove, are you? Think about it.
In Jetpack, you press the enter key and every tile you can use shows up in the same window. Now that's a user-friendly "add ___" dialog!
31. Avoid building tile by tile.
One of the great things about having tiled graphics in platformers (as a designer) is that you can easily resize/relocate the terrain and objects without having to patch up too many seams. That's why, when you're working with Map16 tiles, you should be careful to arrange them in the same way. Otherwise, you'll have to place things down tile by tile, which eats up an enormous amount of time, distracts you from more important things, and can often be demotivating. To the same end, make use of z-order around overlapping objects, especially when filling in dirt, to minimize the total number of objects you use.
Following such practices will not only make things cleaner if you ever have to move stuff around, but will also end up taking up less space in the ROM file, because a single object uses the same amount of space no matter how small or large it is. That's certainly going to be a concern if you plan on doing anything large-scale. There are times when a tile-by-tile approach can't be helped- when creating a special sense of architecture, for instance- but be careful not to attempt more than you can handle.
12. Memorize maximum jump distances.
A standing jump is 4 tiles high, and a running jump is 5. A full-speed running jump ranges from 5.5-6 tiles high. A running jump is about 9 tiles horizontal for a platform at the same elevation, and more or less if the platform is lower or higher, respectively. I forget the horizontal distance for a full-speed jump, but it's obviously more than 9.
Why are these numbers important? Primarily, you'll almost never have to open the ROM to test whether a jump is possible- just look at the distance, measured in number of tiles, and you'll know. In addition, jump distance is related to difficulty, so it may be a factor in making your levels harder. Long jumps can also help to serve as a "buffer" between different level sections, explained above.
8. Game design is a marathon, not a sprint.
This probably goes without saying, but if you're planning on making a full-scale hack or even just a very involved level, you're going to have to put in the hours. Pretty much nobody has made a good SMW hack without spending a decent amount of time planning things out, building levels, testing, improving, etc.
Having said that, take your time. If you spend the entire day thinking about one level, it's easy to lose steam and feel stuck. Spread the work out over smaller, frequent sessions so you can recharge between them by doing other things (non-SMW-related). Focus on small goals. Maybe you want to work on the palette for the foreground tiles, or brainstorm some graphical decorations, or try to introduce a new mechanic you thought of, or code a block you need. It doesn't matter what it is- if you have these bite-sized chunks of work to take care of (as opposed to this giant "thing" you have to do), I think it will be easier on you psychologically, and in the end, those small things will add up to a good hack.
Testing and Critiquing
11. Test your levels as all forms of Mario.
Small Mario is one tile tall, whereas Big Mario is two tiles tall, so you have to be careful when making narrow passages or precise jumps. What might be fair game as small Mario may be a great deal more difficult with a mushroom in tow. You should avoid such instances of "Big Mario Discrimination" because they ruin the purpose of having powerups in the first place.
Also, if the enemies you use are weak to fire, you should test the level with fire flowers to see if there are wide difficulty swings. If there are, maybe you should use more fireproof enemies to balance things out, depending on how hard you want the level to be overall.
Capes give players a lot of power and also allow them to fly up to high places, so in addition to testing the level's difficulty, you should also check whether the secrets you hide or the puzzles you make are nullified by capes. You may want to shorten some platforms so players can't get the running start they need to fly, for example, or hang barriers from the ceiling so players can't continuously fly/glide for too long.
17. Understand the testing tradeoff.
When getting others to test your levels, there's a tradeoff between asking testers specific questions and getting "pure" unbiased feedback. Asking questions can direct testers' attention to specific things you're worried about, but then testers might not comment on anything else. Without questions, testers might pick up on things you hadn't noticed, but they might not focus on the things you did notice.
One thing some designers like to do is have players go through the level first, then answer questions after. With this approach, you can get a mix of things you hadn't noticed and things you were specifically worried about. However, players might not remember every detail of their playthrough in hindsight, especially that moment-to-moment stuff that's quickly forgotten at the next obstacle.
What you definitely don't want to do is ask too many questions. This distracts testers from playing the stage, and so the feedback you get might be pretty "artificial."
If you're lucky, you'll have testers that will play the level multiple times and give thorough answers to questions, but not all testers are willing to go to such lenths- testing takes time. On top of that, the more the testers play the level, the more they become like you, the designer, memorizing the layout of the level. The feedback you get from someone who knows the layout of the stage will be different from that of someone who's playing it for the first time.
There's no panacea for testing, so give careful thought to what you want out of the testing phase.
18. Pay attention to and critique what other designers are doing.
The SMW hacking community is a lot larger than it used to be, and there are plenty of designers creating their projects alongside yours. You can learn a lot by looking at what other designers are doing right and what they're doing wrong. Why is someone's level fun to play? Can you incorporate what that person did into your own levels? Alternately, why is someone's level not fun? Are you making the same mistakes? Other projects are also a great place to find inspiration, though keep in mind I'm NOT telling you to plagiarize and make blatant copies of what others are doing.
One thing you should be doing at least somewhat regularly is critiquing others' work. By nailing down why you think other designers' work is good or bad, you're adding to your understanding of how to make good levels. It's the same as critiquing artwork. One of the reasons S.N.N. (one of the current site administrators, for those of you who are new here) is good at level design is because he's forced himself to give carefully-thought-out critiques for multiple level design contests. Two of the reasons I know as much as I do about level design are that (a) I've played literally thousands of games, and (b) I've designed dozens of levels for quite a few of them. It's really just something that comes with practice and experience.
What's that? You're not good at critiquing? Gee, I feel so sorry for you. Do you I think I was born with super mega ultra feedbacking powers? Look, even if you think you suck at it, you have to try. You have to be willing to accept that you'll post crappy feedback at first before you improve. It's the same with drawing, it's the same with composing music, it's the same with language, it's the same with most things. Make bona fide attempts to critique, and keep on doing it- there are no shortcuts here. Don't underestimate the importance of giving feedback. It's something you'll need as a level designer. After all, if you can't tell why someone else's level is bad, how can you tell whether your own is bad?
Also, be respectful when giving feedback. People (usually) put effort into their work, so if you're aggressive and accusatory and post one-liners like "this sux," you're not really helping.