Jump to content
  • entries
    39
  • comments
    0
  • views
    820

Ripple Effect


Piledriver

24 views

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!

OSRipple.gif.2b4c12f9de89d248d48378b8da49b2c8.gif

 

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.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...