A Guide to the Graphics of the Sega Mega Drive / Genesis

Return to Table of Contents


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:

An example of a silhouette effect in World of Illusion.

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:

Plane A from the above World of Illusion example. Notice there is no curtain here–just a wall of gray.
The sprites from the above World of Illusion example. The curtain is made entirely of sprites. Mickey appears on top of the curtain since his sprite priority is higher.

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:

A silhouette effect in 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:

This animation shows each of the layers. Notice that there are curtains on both Plane B and the sprite layer.

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 are silhouetted in this scene from Ranger-X.

The mech’s legs, under water, are silhouetted.

Next: Palette Swapping

Return to Table of Contents

List of Effects:
  1. Introduction
  2. Full-Screen Scrolling
  3. Row / Column Scrolling
  4. Line Scrolling
  5. Animation
  6. Multi-Jointed Characters
  7. Tilting / Rotation
  8. Scaling
  9. Shadow and Highlight
  10. Transparency
  11. Silhouette
  12. Palette Swapping
  13. Vertical Scaling
  14. Sprite Raster Effects

Want to post a comment? You can do so here.