don't click here

Sonic 1 Backgrounds

Discussion in 'Engineering & Reverse Engineering' started by kazade, Jun 16, 2012.

  1. kazade

    kazade

    Member
    64
    0
    0
    A 2D Physics Engine
    I'm working on a Sonic-style game engine and I'm testing it by trying to recreate the Sonic 1 title screen. I've implemented code in my engine for parallax backgrounds (video here: http://ubuntuone.com/4xO7rHF9k9kNiBblDnKBuv), but I need to get hold of the sprites that make up the title screen background. So my questions are:

    1. I assume that in the originals, the background animations (e.g. the waterfalls, ripples) are done by manipulating the colour palette?
    2. Is it possible and easy to rip each frame of the background animations, has this been done already? (I've had a look around but I can't find anything except a single static full background)
    3. It looks to me like the backgrounds in Sonic 1 are made up of 3 layers, is that correct?

    Ideally I need to get individual frames of each of the background layers, but I'm guessing that's not easy to extract... if it is something that I could learn to do (I have zero experience in hacking ASM or Sonic roms), could someone point me in the right direction?

    Thanks,

    Luke.
     
  2. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    1. Yes, though some things are animated tiles, waterfalls and the "ripple effect" in GHZ/the title screen are palette animations.
    2. I don't know.
    3. The Mega Drive has two layers, Plane A is usually the foreground, Plane B is usually the background.
     
  3. Techokami

    Techokami

    For use only on NTSC Genesis systems Researcher
    1,373
    81
    28
    HoleNet!
    Sonic Worlds Next
    To answer #2: Someone made rips here.
    To clarify MainMemory on #3: There is also the concept of tile priority, which make tiles appear in front of sprites. This can make it seem like there are three layers, when in truth there are just two.
     
  4. Knucklez

    Knucklez

    I love 2B 'n' ass. Member
    687
    21
    18
  5. dsrb

    dsrb

    Member
    3,149
    0
    16
    …except… those links are pretty crap, as they don't show the entire backgrounds, just a measly single screen's worth, and they don't have any of the alternating animation frames either. The link by Techokami is a lot better in both respects.

    Not saying it's your fault, but I wouldn't bother with those; they're vastly inferior.

    Edit – see below; good catch!
     
  6. Knucklez

    Knucklez

    I love 2B 'n' ass. Member
    687
    21
    18
    The link is by Techokami, actually. But I was pretty aware of how terrible my links were compared to his. I was only trying to add more background options that I could find.
     
  7. kazade

    kazade

    Member
    64
    0
    0
    A 2D Physics Engine
    Thanks guys, that's all really helpful! I have got more questions though :)

    Specifically looking at the Sonic 1 title screen. Am I right that the background is only made up of two layers? The back layer being the darker mountains, and the front layer being the nearer mountains, waterfalls and ocean?

    I just want to clarify that because the image here: http://forums.sonicretro.org/index.php?showtopic=25359 seems to indicate there are 3 layers (although, that's probably GHZ, not the title) and when I watch it, the near ocean seems to move quicker than the far ocean - but it could just be my eyes :)

    Also, those backgrounds are amazing for the levels (e.g. GHZ) but on the spriters resource link the title background is again a static image (although I guess I could colour swap the ocean from the GHZ background).
     
  8. Jayextee

    Jayextee

    Unpopular Opinions™ Member
    3,253
    62
    28
    Atro City
    I DONE MAKED GAMES.
    Actually, the front layer is Sonic and the ring/ribbon/wings combo.

    The background is one layer, although split into many horizontal 'strips' that are all moved at different rates -- the water itself being 1 pixel tall strips. The reason you're finding static images is because that's what the backgrounds are, the movement (and, as you've noted, cycling palette 'animation') is done via the software.
     
  9. kazade

    kazade

    Member
    64
    0
    0
    A 2D Physics Engine
    I see!! That explains everything!

    In which case, where I can find out how much each row of pixels is being moved by? (I'm guessing I'm going to have to start learning ASM :D)
     
  10. Jayextee

    Jayextee

    Unpopular Opinions™ Member
    3,253
    62
    28
    Atro City
    I DONE MAKED GAMES.
    Not sure, but Selbi's Parallax Editor may be of some use here; though I haven't personally used it and can't vouch for this.