One of the most interesting, impressive and hard to modify features of the original Sonic games is the background scrolling. It allows a level to add a sense of depth to the backgrounds, and the background layer can even be used in unique ways that allow for awesome effects (like in Hill Top and Marble Garden Zone). I recently decided that I wanted to do something along the lines of Marble Gardens' effects in one of my levels, so I set to work trying to figure out how to mess with the level scrolling. However, I've had trouble figuring out what I should even do! The code for the deformation scripts (at least in the sonic 2 disassemblies) aren't commented, and use commands I'm not quite comfortable with. When I try to dive in and fiddle with the code, It always seems to result in the foreground getting messed up in rather trippy ways. And although Selbis' Deformation Generator produces very well commented and easy to modify code, it doesn't allow for movement on the y axis, which the effect I have in mind desperately needs. Does anyone have any tips on how to get started on creating advanced background effects? I've gotten thus far on reusing the original code, Selbis' previously mentioned generator, and fiddling with the output of that program, but that is very limited in comparison to what the games normally do.