Trees' Terrible Guide to Sonic Level Design

Discussion in 'Tutorials Archive' started by Unlimited Trees, Dec 4, 2016.

  1. Unlimited Trees

    Unlimited Trees Banned for being a fucking cockwomble Exiled

    Joined:
    Apr 2, 2016
    Messages:
    168
    Location:
    A tree field in the middle of nowhere
    Welp, I've won the Lava Reef trophy, and I've been planning on making a guide like this since forever, so I guess now's my chance.

    Ok, so after seeing a bunch of terrible level layouts in some of the entries in the Hacking Contest, I've decided that now is the time that I do something about it. I'm gonna make a guide about level design. Now, you might be asking why I'm making one when there's already a better one at Retro. Well, that one no one ever pays attention to, and SSRG only has one guide about it, and it only covers the basics such as putting objects on the floor (which I'm not saying that the guide is bad, in fact you should check it out here: http://sonicresearch.org/community/index.php?threads/making-layouts.2558/ but it doesn't really cover a lot).

    Anyways, in this guide, I'll be covering a few things:

    -Flow
    -Object placement
    -Gimmicks 'n shit.
    -Making the level layouts themselves
    -Other stuff

    Alright, so let's begin!

    Part 1: Flow

    So before we start getting to flow itself, we need to understand about two sections which appear all over a typical Sonic level: the "Gotta go fast" sections, and the platforming sections. Basically, in Gotta Go Fast sections of a level, there's usually a bunch of slopes and loops, and some other stuff to show how fast Sonic can go. Pretty basic stuff. Then you got the platforming sections, where as the name states, the player has to go more slower in this area and they have to do some platforming stuff. This two sections are what make up a level, and are everywhere in a level. One thing you should understand is that you shouldn't have too much of these sections. You wouldn't want to have your level being nothing but going fast for 30 seconds, or have nothing but boring, tedious platforming with no breaks whatsoever. Anyways, how are you supposed to connect these completely different sections to each other in a level? You can't just be running through a loop and then all of a sudden be jumping across platforms above a bottomless pits. So now's the moment we understand about Flow.

    Flow is basically how you connect the 2 sections to each other. You need to know about flow if you want your levels to be seamless, otherwise you will end up with shit such as Sonic 2 But With More Level Design. Now, let's begin with learning how to connect a "Gotta Go Fast" section to a platforming section.

    [​IMG]

    Ok, so you have this loop here, and you have these steps which leads to somewhere. How are you supposed to connect the two? Well, one option you could do is add a slope like this which brings you up:

    [​IMG]

    A great thing about these slopes is that when you're launched up, you lose a bit of speed, so that when you land you'll be ready to start doing some platforming. One thing to note is that you don't want to immediately start putting some bottomless pits or some huge platforming sections here. Just start out slow with some small platforms to get the player ready, then start bringing in some more stuff. Here's another example:

    [​IMG]

    Here you're going down a slope, and after some boring, flat ground, you could place a spring which slows the player down if they don't jump over it. Like I said earlier, after this you don't want to put any major stuff such as a huge wall that you have to jump over. Start out slow so the player is prepared, then put some stuff here for the player to go through. Putting a giant wall which directly stops the player RIGHT AFTER they were going fast. That breaks flow, and is bad level design. Let me show an example...

    [​IMG]

    THIS is wrong. Throwing a random wall out of nowhere is not ok...

    [​IMG]

    ...while making some build up before a wall to jump over is fine. Just try not to make the wall way too big.

    Anyways, let's start talking about connecting platforming sections to gotta go fast sections. Just like with platforming sections, you don't want to start throwing stuff such as huge loops right after getting done doing some big platforming sections. You need to start making some build up, THEN do your stuff. The only difference here is that it isn't as hard to do the build up, just do a few small slopes and you should be fine.

    [​IMG]

    THIS is wrong. By the time you to the loop, you have almost no speed, so you won't be able to get past the loop...

    [​IMG]

    ...while here you can make it through because you have enough speed thanks to the slopes.

    Anyways, that's pretty much the basic stuff you need to know about flow. Note that the images there are only examples, so if you see any problems such as misplaced chunks, I don't care lel :p One thing you need to know, is that the examples I provided are merely one of the many things you could do to connect the 2 sections together. You could put a loop which sends you down. You could have a ramp which lanuches the player into a spring like in one section in Emerald Hill Zone Act 1. You could have a spring which launches you. There's so many stuff you could do, just try to make it flow. Anyways, let's go into the next part...

    Part 2: Object Placement

    Ok, so Markey sorta explains it in the guide I linked above (which I'll link here again: http://sonicresearch.org/community/index.php?threads/making-layouts.2558/), but I'm gonna mention the things he said again here.
    Some objects, such as spikes, rocks, and springs MUST be put on the ground. With spikes and springs they can be placed on ceilings or on the wall, but they still have to be DIRECTLY on it. You can't have it slightly float in the air, it would look strange. Things such as monitors sort of get an excuse, as there's a few monitors which float in the air in Sonic 2, but that's only on rare occasions. For enemies which move on the ground, they don't have to be directly on the ground as when they spawn in, they are put on the ground thanks to the game's engine, but it would still be nice to put them on the ground. For flying enemies, such as buzzbombers, they must put at least away from the ground. You don't want them to be flying right on the ground. It'll be strange. This is the same for floating objects such as floating platforms and swinging platforms. Rings can be put on the ground or the air, but try to make it so you could reach them! They exist to be collected, after all. Here's an example of where some objects should be placed (this image is totally not a rip off of Markey's guide trust me)

    [​IMG]

    Anyways, now's the moment where we start going into things Markey didn't mention in his guide: The areas in which the objects are placed. So let's say that you're running through a Gotta Go Fast section. You're just collecting a bunch of rings, and then out of nowhere, a set of spikes appear. This is bad object placement. You can't just toss in an obstacle out of nowhere right in the middle of a running section. If you place an enemy, then it's somewhat passable since you can just simply spin into it (or just run into it if you invincibilty). However, what isn't passable is if you were to dump a ton of enemies into an area at once, whether it be a Gotta go Fast or platforming section. It's ok to have a lot of enemies in a level, if you're trying to add some difficulty. But randomly placing a bunch of enemies everywhere isn't challenging. It's dickish. You want the player to, not only have fun, but feel challenged when going through a level. Just throwing a bunch of spikes or enemies at their face isn't gonna help with anything. Oh and speaking of spikes, STOP PUTTING THEM EVERYWHERE. They're good if you want to prevent a player from going somewhere, as that's understandable. There might be a bottomless pit which you want to prevent the player from just falling into because they weren't anticpating it. Putting some spikes near a bottomless pit will at least warn the player "hey, don't go there, you'll focking die, mate". Apparently spikes are British. Anyways, another thing we need to go into is monitor placement: fuck Eggman monitors. They are the worst gimmick in existence and shouldn't be used AT ALL. I know I used it in Pepsi in Sonic 1, but most of the levels were parodies anyway (See: Not Green Hill Zone), so I guess it gets an excuse. But if you want to make a full on level, get rid of them. Unless it's for a last level, and the amount of Eggman montiors is small, then don't use them whatsoever.

    Anyways, enough about Eggman monitors, let's get into the rest of contents of a monitor. Ring monitors: try to put a lot of these everywhere, but don't just smack them right on the floor. Put it on a floating platform or in a hidden wall. This goes the same for the rest of the monitors. You want the player to feel rewarded when collecting these. When you just dump 6 or so monitors in an extremely obvious spot, that's not rewarding, and it just ruins the fun of finding stuff. Shield monitors: Personally, I don't really care for these. I only go after elemental shield monitors as they actually have a use, and I might go for regular shield monitors in Sonic 1/2 in case of a boss or something (or if I'm trying to be a collectomanic :v). Oh, right, the guide. As with ring monitors, try to put them everywhere, but try to keep the amount of shield monitors in a level to about 5 or so. Invinicbility and speed shoes: These are the more top tier monitors, and are really cool. What isn't cool is when they're everywhere. They don't need to be as hidden as 1Up monitors, but they should be an award for the player, not something that they can just get whenever. 1Up monitors: these are the most bad ass monitors, and as such, they should not only be hidden well, but kept to a minimum of about 2 or so monitors in a level. One problem I have with a lot of hacks is how they just put 1up monitors in the most obvious spots, one hack in particular that does this is Sonic & Ashuro. I hate how it puts 1ups everywhere. There's one moment where you go down a hole, and you are launched by a speed booster which you will most likely hit, and you're sent to a room with a 1up monitor that you will most likely encounter. You shouldn't just straight up give 1ups to a player. They should be earned for skill.

    Another thing I need to talk about is springs, speedboosters, and automation in general: You NEVER want the game to feel automated. Even in "Gotta Go Fast" sections, the player should never have to feel like all they have to do is just let go of the controller and let the game play itself. A lot of people joke about how a lot of Sonic titles past the classics are "hold right to win", hell someone even made a hack of Sonic 1 called "Hold Right To Win Edition". Although the games aren't exactly hold right to win, there are a lot of sections in these games which are "do nothing but hold right and boost". The same goes for a few hacks out there. A lot of hacks tend to just place springs and speedboosters everywhere, hell I even parodied that in PiS1 with Dimps Place Zone. Just don't put springs everywhere that make the player feel like they don't have to do anything. It's a really simple thing to do.

    Next up let's talk about some more bullshit that people need to stop doing: making the player jump across platforms for a long time. Sonic 1 NAC Tiny Version by Joshwoakes comes to mind: there's a section in that game where you do nothing but jump across platform to platform above bottomless pits for about 30 seconds. It's long, tedious, and stressful. Don't put long sections of nothing but bottomless pits. This probably should've been put in the Flow section of this guide, but since floating platforms are objects, here we are.

    Lastly, we need to talk about the most important object in a Sonic game: Rings. They are the one thing (besides shields) that protects Sonic from death. They keep you from dying, and when you get hit, they all scatter so you can recollect them before they disappear. They shouldn't be against the player. In this case, I bring up an extremely old hack from last year that never got released (nor finished) which I remember having an area where some rings would lead you to death. Don't do this. Don't put rings which lead the player to a bottomless pit. Another thing you shouldn't do is place a ton of rings (by a ton I mean like fill-the-entire-screen ton of rings) in an area, unless it's a really secret spot. Like monitors, rings should be an award (for the most part). Not only that, but rings should be placed everywhere. Platforms you jump across, in a loop, you name it. They should also guide the player. Say you have to make a leap of faith, and you have no idea where you're supposed to land. If you put some rings which lead to the place you're supposed to go to (oh and by the way, don't do leap of faiths above bottomless pits, that's just dickish).

    Anyways, that's some of the basics of object placement. Now it's time for us to go into the next section of this guide which should've been a part of the object placement guide but because reasons you get this really short section...

    Part 3: Gimmicks: And how you use them.

    So this is gonna be a pretty short section of this guide. So every zone in a Sonic game has it's own gimmicks. Green Hill Zone has bridges, swinging platforms, collapsing ledge platform thingys, all that stuff. Marble Zone has Fire, swinging platforms, collapsing platforms, lava, pushable blocks and buttons. Fire. And so on. Each level should have their own gimmicks, and they all should be placed throughout a level. You want to try to keep your gimmicks a little bit far away from each other, but you want to have a lot of the gimmicks placed everywhere so that your levels don't feel bland and boring. Another thing that should be noted is that these gimmicks need to follow the same object placement rules mentioned above, so go look at that. And... I guess that ends this section. Told ya this would be short. Why did I give this it's own section?

    Ok, so now you know about all the rules of level design. How levels should flow, how objects should be placed. How gimmicks... should be placed. Now that you understand this, it's time for you to make a level, and this leads us this our next section...

    Part 4: Making a Level Layout

    So now that you know everything, it's time for you to start making a level layout! But where do you start? WHERE DO YOU END? How will SuperEgg cook his steak? Well, let's start getting our tools. So you'll need the following stuff in order to get ready:

    -A level editor, a lot of people use SonLVL and SonED2, as they're more up to date compared to other editors (cough cough ESE2). Personally, I use SonLVL for art, and SonED2 for making the layouts, but you could do whatever you like with these tools.
    -a disassembly of your choice. For Sonic 1 I recommend the Two-Eight disassembly (gives you 128x128 chunks), for Sonic 2 the Github disassembly, and for Sonic 3... well.. um I never actually never hacked that game, lel. Go look at the disassembly page at Retro or go bug someone who had experience with that game...
    -A most importantly: knowledge. You already got this guide, you should know by now.

    So, first things first, what you should do is draw your layout on paper, that way once you start making the level in SonED2/SonLVL/Blah, you won't be blindly doing stuff (like I did with PiS1 for most of the levels, lel). Try to understand the level your making, what chunks there are, what blocks you can use, what gimmicks and objects you can place.

    The next part is making the level in the level editor. Before you even do anything, make sure you wipe the level clean. If you just edit over the level like I did with Sonic 2 But With More Level Design, the results are gonna be horrible. Trust me on this. Now, it's time to construct the level. Look at the sketch you did earlier, so you will know how the level will be. Sometimes you might have to make some stuff different, but as long as the level plays nicely, it's fine. Also, try not to have too many objects in a level. Try to keep it at least below 320. You don't want the game to slow down! Another thing you should do while making a level is playtest it. If you don't test your level, you may never know of some problems that might happen, such as a glitch or a problem with how the level plays. Anways, there's probably some other stuff that I should explain, but I either don't know about it or I'm too lazy to explain :p

    Finally, it's time to explain some other stuff which I haven't mentioned in the other sections..

    Part 5: Extra stuff (game specifics, some other random information, etc.)

    Multiple characters: In later Sonic games, there were more characters you could play as, and with more characters, you get some character specific moves which you could utilize for character specific sections and secrets, such as with Tails' flight you could put a hidden 1up above a platform Sonic couldn't normally reach, or with Knuckles' climbing abilties you could put a whole new path way.

    Pathswappers: I thought I didn't need to use anymore example images, I thought wrong. In every game past Sonic 1/CD, they added a path system which replaced the old loop system. Basically, there is two set paths Sonic can go through, and when Sonic touches an invisible object known as a "Pathswapper", Sonic would be moved to a set path. Here's an example of a loop using pathswappers:

    [​IMG]

    Note: the reason there's pathswappers here is because I'm using the Project Two-Eight disasm by MarkeyJester, which adds the path swapper system to Sonic 1

    Y-axis looping levels: In some levels, such as Scrap Brain Act 2, Metropolis, and Sandopolis Act 2, the Y-axis loops, meaning that when going at the "top" of a level sends you to the bottom of a level. One thing you need to understand is two things: 1) When making the player go from the top/bottom to the bottom/top, you need to connect the chunks together so it doesn't look shit, and 2) although I'm not sure it does this in Sonic 2 and up, in Sonic 1 when going from the bottom/top of the level to the top/bottom, the objects won't load until about a second later, so watch how you make your levels!

    COPE: by teeh way all ur haxors need cope signs in every level so if you don't do that i'll be mad k thx bye

    Anyways, finally that concludes this guide. It took awhile to write it. Anyways, if you have any criticisms about this guide, then please tell me! I want this to be a good guide so that noobs don't end up making terrible Sonic 2 But With More Level Design clones. This is my first guide, and honestly there's still some stuff that could probably be improved, as I'm not that good at level design, but someone had to do it.
     
  2. EMK-20218

    EMK-20218 The Fuss Maker Exiled

    Joined:
    Aug 8, 2008
    Messages:
    1,067
    Location:
    Jardim Capelinha, São Paulo
    Wonderful! It's more for me to practice to improve levels in my hack. The guide is very clear and very well explained. Thanks a lot, dude!
     
  3. pixelcat

    pixelcat The Holy Cat Jr. Member

    Joined:
    May 31, 2014
    Messages:
    395
    I wouldn't be surprised if this gets pinned... really useful stuff here!
     
  4. ProjectFM

    ProjectFM Optimistic and self-dependent Member

    Joined:
    Oct 4, 2014
    Messages:
    912
    Location:
    Orono, Maine
    This covers everything, even things that I have known for a while but rarely see mentioned like shooting the player into the air between sections or how bad of an obstacle the Eggman monitor is. One thing I'd like to add is that you should rearrange your chunks by organizing them into groups with common features (straights, slopes, ground, loops, waterfalls, etc.) in order to get rid of the pain of searching for a certain chunk. This takes a little while to do but it saves a ton of time and frustration and can even allow you to find out which chunks you need but are missing.

    You can rearrange chunks in SonLVL by simply dragging a chunk in the "chunk" tab. One problem I've had is that you keep needing to move a chunk, scroll up, move a chunk, scroll up, etc. in order to get the chunk upwards across the long list of chunks because just dragging it to the top of the screen will cause the list to scroll DOWNWARDS. I probably should have mentioned this on the SonLVL topic because of how tedious this makes rearranging chunks. However, there's a chance that this was fixed since the last time I rearranged chunks.

    Edit: One extra thing. The picture of how to use path swappers with loops is different than how Sonic 2 and 3K used them. You only need the path swapper in the top of the loop and at the end with both of them switching you to the second collision when going left. The one in the top of the loop should also be set to only work if Sonic is touching the ground.
     
    Last edited: Dec 4, 2016
  5. MainMemory

    MainMemory Well-Known Member Member

    Joined:
    Mar 29, 2011
    Messages:
    922
    Interestingly enough, I found the exact opposite problem: dragging a chunk to the top of the list scrolls up, while dragging to the bottom of the list does nothing at all. So I should probably fix that.
     
    ProjectFM likes this.
  6. SaunicBoom

    SaunicBoom Well-Known Member Member

    Joined:
    Sep 14, 2007
    Messages:
    324
    An excellent guide! I love your emphasis on properly structuring levels for players to build up momentum and maintaining a smooth flow with proper enemy/obstacle placement. You've come a long way for sure, Unlimited Trees! =)
     
    Unlimited Trees likes this.
  7. Unlimited Trees

    Unlimited Trees Banned for being a fucking cockwomble Exiled

    Joined:
    Apr 2, 2016
    Messages:
    168
    Location:
    A tree field in the middle of nowhere
    Thanks! I'm glad you guys liked this guide. I made this because I've realized that noobs (such as myself) never really look for actual good guides on level design, and instead go straight into hacking, to end up making shit such as Sonic 2 But With More Level Design. I know there's the Retro Guide on how to make Level Design. Hell, I've even kinda copied from that guide, but considering that the guide is buried deep in Retro, and there's a lot more noobs who come here, I figured to make a guide for noobs, hence why I haven't covered most of the things that guide did. I realized that there's a few stuff I forgot to mention, such as multiple routes, some stuff about gimmicks, and tons of other things, but I'll put them in the post later. Also, one thing to note about the example images used, they're merely used as examples, and yes I know about some chunk errors but as long as people understand what works then I'm fine :v

    It would be nice to see this pinned, since I think noobs need to actually learn how to make levels, and not end up with, well, you already know.

    Also, I know MainMemory questioned this on IRC and I've already answered it, but about me using SonLVL for art and SonED2 for layouts, it's just that I'm more used to SonED2, and since I only just got into SonLVL about a month ago there's still some things I need to figure out about it.

    Anyways, I shall disappear into the shadows once again, waiting for next Sunday so I could post whatever I plan on doing~
     
  8. Giovanni

    Giovanni It's Joe-vanni, not Geo-vanni. Member

    Joined:
    Apr 16, 2015
    Messages:
    311
    Location:
    Italy
    Really wonderful guide! I like it. But there is a specific part I want to talk about...

    If there is something I hate in a Sonic hack is monitors being placed on floating platforms. It's bad, because the platforms sink at your weight, but the monitors don't.
    Avoid placing monitors on floating platforms.
    Or else edit the platforms code!
    With this "fix", you will now be able to place monitors on platforms.

    On GitHub, go to _incObj, and search object 18. Then search Plat_Nudge.

    Code:
    Plat_Nudge:
            move.b    $38(a0),d0
            bsr.w    CalcSine
            move.w    #$400,d1
            muls.w    d1,d0
            swap    d0
            add.w    $2C(a0),d0
            move.w    d0,obY(a0)
            rts
    At first sight, one might want to completely remove the subroutine, but NO! Doing so, will cause problems to all the vertically moving platforms. Just change the $38 to a $0.

    Save and build the ROM. Have fun at placing monitors on platforms!
    Monitor on platform.PNG
     
    KCEXE, Niko and HackGame like this.
  9. pixelcat

    pixelcat The Holy Cat Jr. Member

    Joined:
    May 31, 2014
    Messages:
    395
    Would've been so nice if monitors would move with the platform... yeah, sweet dreams.
     
    EMK-20218 likes this.
  10. LuigiXHero

    LuigiXHero Well-Known Member Member

    Joined:
    Mar 22, 2014
    Messages:
    280
    I've seen hacks do that though. Like Megamix.