Through clever manipulation of display priority and sprite priority, it’s possible to create a silhouette effect such as the one seen here in World of Illusion when Mickey passes behind the curtain:
This looks far more complicated than it actually is. It comes about as a side effect of the way display priority and sprite priority interact. Recall that every background tile and sprite has either low or high display priority, and also recall that every sprite has an ordered sprite priority (0-79, where 0 is the highest priority). Display priority determines which background tiles appear above others, as well as where sprites appear relative to the background tiles. Display priority, however, does not affect the positioning of one sprite relative to another. That is determined solely by sprite priority. A low-display-priority sprite can appear on top of a high-display-priority sprite if its sprite priority is higher. The reason for this is that, before comparing display priority, the VDP combines sprites into a sprite layer; sprites with higher sprite priority are drawn first, and sprites with lower sprite priority cannot overlap higher priority sprites. Once the sprite layer is drawn, the VDP then compares the display priorities of each tile of the planes and sprite layer to determine what appears on top.
Now, consider this situation:
- Plane A: high display priority
- Sprite 0: low display priority
- Sprite 5: high display priority
By its number, we know Sprite 0 has a higher sprite priority than Sprite 5. Let’s consider what will be visible on the screen. First, we know that Sprite 0 will appear under Plane A, but Sprite 5 will appear on top of Plane A. Second, we know that Sprite 0 will appear on top of Sprite 5. But wait—that creates a problem, since Sprite 0 is under Plane A. When that occurs, the pixels of Sprite 5 that are being overlapped by Sprite 0 are not drawn; instead, Plane A shows through Sprite 5. Sprite 0 itself never becomes visible, since it is always under Plane A. However, it does block the pixels of Sprite 5 from being drawn.
Going back to the World of Illusion example, let’s look at Plane A and the sprites:
Looking at these two images, we can see that the curtain is actually just a series of sprites. Plane A holds a solid gray chunk of tiles where the curtain sprites are overlaid. Mickey appears on top of the curtain sprites, indicating that Mickey has higher sprite priority. The display priority of each is as follows:
- Plane A gray tiles: high display priority
- Mickey sprites: low display priority
- Curtain sprites: high display priority
The result is that, when overlapping, the Mickey sprites prevent the curtain sprites from being drawn and, instead, the gray tiles of Plane A show through.
Here’s another example from Dynamite Headdy:
Notice the silhouette of the boss behind the curtain. This time, the silhouette is not a solid gray color; rather, it matches the pattern of the curtain. This image shows the layers:
The visible curtains are made of sprites, but Plane A contains the same curtain pattern at a darker color. This darker curtain color is what shows through to create the silhouette.
The same effect is seen in Ranger-X:
The mech’s legs, under water, are silhouetted.
List of Effects:
- Full-Screen Scrolling
- Row / Column Scrolling
- Line Scrolling
- Multi-Jointed Characters
- Tilting / Rotation
- Shadow and Highlight
- Palette Swapping
- Vertical Scaling
- Sprite Raster Effects
Want to post a comment? You can do so here.