Real Level Design Tips
a guest Aug 21st, 2016 145 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- This is a repost from memory because someone thought it was a good idea to let Level Judges be minimods and delete threads because it hurts their feelings or is btb related when it actually isn't. I'll archive this time so it will be ready to read on pastebin if there's any more bullshit.
- 1. [i]Optimize that shit.[/i]
- If your level is going to have custom graphics, optimize them. If you have a completely opaque PNG but it has all the alpha channels saved, you're doing it wrong. If you have a GIF file that only uses 8 colors but you're saving as if it has 256, you're still doing it wrong. Run your graphics through an optimizer tool, there's plenty of ones out there. With 32x32 (which SMBX uses a lot) images and other images with small dimensions you should be able to reduce the file size between 80-90% which keeps download sizes small and knocks off a second or two in loading times. Also, if you're going to be working with Lua Lua, there's no one universal rule for optimized code but just pay attention to when you're repeating lines a lot with slight changes, such as long if-then chains. Scripting and programming relies on math skills, so do the Math when you can to get a desired output and make use of the Math class instead of doing a bunch of checks when if you do the math right you should know exactly what your outputs would be.
- 2. [i]Label that shit.[/i]
- Write out your level name for level file and folder, and the full title of the song if you used custom music. Don't be a dork that wants to keep people from maintaining an archive and wondering which level is which and what songs you used, especially if you don't include them in your OP or ReadMe. Chances are you don't own the custom song anyway so at least give the actual composer enough credit by letting people know about it. For your Lua code, make your variable names clear and label your functions with comments properly along with the code within them. To make a comment in Lua enter two dashes (--) before a line, and you can use that to leave notes on what a particular piece of code does. This helps you work on your Lua project if you come back to it later on and forget what some of the code does, and it helps everyone else understand what you're doing or at least trying to do.
- 1. [i]Test that shit.[/i]
- If you're not able to beat your level without cheats, then it's not worth anyone's time. When you submit a broken mess and call it a level, that's no good. Make sure you can't cheat your level by having blocks that are one block high in the air because a player with a powerup can run and duck into them, and break your level. Also make sure you extend ceilings and walls above the top of the level boundary so that the player can't walk over parts of your level. Also when you test your level do it while [i]trying[/i] to break it so you can take care of any bugs that a player would encounter. Before submitting your level, do a final test. People always forget to put Mario's spawn back at the beginning of a level instead of midway for testing, or forget other quick but important changes like that.
- 2. [i]Make that shit fun.[/i]
- Fun is what normal people call "replay value" as reviewers would say. If your level contains any of the following it's not fun, you hate your player, and you probably should just uninstall SMBX:
- [*] More than two bosses.
- [*] The same boss being respawned after the first one dies.
- [*] Boss battles that rely even slightly on AI and not total player agency.
- [*] Chasing Koopa AI
- [*] Ice physics on snow tiles.
- [*] Ice physics used more than occasionally.
- [*] Messages that explain gimmicks.
- [*] More than one message in a sequence. (exception: dialouge but not for more than like 5 messages)
- [*] Any situation when the player has to wait on AI.
- [*] Metroid stuff to make bosses harder than they need to be.
- [*] Any situation when there is three or more projectiles on screen.
- [*] Hitboxes greater than or equal to the dimensions of an NPC.
- [*] Repetition of any sort.
- Games are about having fun, and nobody cares about your super cool boss rushes or complex events when your level is terrible. The player should be saying "Wow, I've never seen that before that's pretty cool!" or "Wow, that was cool I want to do that again or maybe make a level with that gimmick," not "I want to kill myself and bring the level designer with me." It's not a contest despite popular opinion, so enjoy making your levels so people enjoy playing them.
- 3. [i]Consider that shit.[/i]
- When you submit your level and get a review, there are things to consider when taking criticism. When someone critiques your level, it's supposed to help you not hurt you but look out for the following buzzwords that discredit whoever uses them and should be ignored:
- [*] Clash
- [*] Cutoff
- [*] In my opinion
- [*] [Insert Mario Game] styled
- The context should rarely matter. Your level is being reviewed, not your graphics so if there's a few pixels where they shouldn't be that doesn't effect the level at all. Don't do anything stupid like having bushes in the air, not correctly using tiles, and making cgfx bad on purpose because then you have it coming.
- Discuss. If there's anything that I forgot to mention or missed, let me know and I will amend this post. If you're in doubt about if your level follows these tips, ask this question:
- Would my level not be seen in a Nintendo Super Mario Bros. game?
- If you said yes, then you screwed up somewhere. Check this video out for a clearer understanding but apply it to SMBX:
RAW Paste Data