Ripple Effect
One day I was brainstorming about how I could spice up the kernel a bit. I explored striped foregrounds and backgrounds. Even animated backgrounds that looked like waterfalls or lavafalls. They looked kinda cool but somewhat distracting and I considered it a lower priority feature (which obviously didn't make it in in the end). While I was poking around in the kernel code I looked at the code that always sets the playfield row thickness/countdown value to 4 giving each playfield row a uniform thickness. I thought I could sort of deform the screen if I altered that thickness on some rows. For things to look good and for the screen to be anchored at the top and bottom for every row that I made 1 "pixel" thicker I had to make another row 1 pixel thinner. This gave me some interesting deformed looking screens. I came up with a "ripple map" where I store the thickness of each row in a table... the thicknesses can be only 3,4,and 5... I could go with values beyond 3 and 5 but then things looked really zany (in a bad way). I realized I could make an animated rippled effect if I advance the starting index into the table every frame and then loop back to the beginning of the table... but this would require special case code in the kernel! I guess it couldn't be done.... kidding. I just made a second copy of the table right after the first so the index will point to the same ripple data I want without having to do any complex looping logic. A cool looking effect that has an impact on gameplay... and it was a relatively cheap effect to implement. Check out the result of this!
I had a few more ripple maps with more exaggerated ripples for screens with plenty of open space... but I had to cut those in the end. Even on a solid screen with no visible ripple the effect is still running but with a ripple table that is filled with all the same values - 4. Seems wasteful, but this allowed me to have a single general purpose kernel and not have to make multiple kernels one with the effect on and one with it off. I have seen this effect in a few other Atari games - Smurf and Go Fish come to mind. I don't think it had any impact on the gameplay in those games though.
0 Comments
Recommended Comments
There are no comments to display.