FABIEN SANGLARD'S WEBSITE

ABOUT  CONTACT  RSS  GIVE


Dec 25, 2021
Street Fighter II, subtile accurate animation

This article is the final part of a series about Street Fighter II and the CPS-1. It is recommended to read the previous entries before reading this one.

The problem

If you read the previous entries, it is now abundantly clear that the machine running Street Fighter II can only manipulates tiles made of 16x16 pixels. Keeping this in mind, take a look at this short segment of gameplay. Something odd, not feasible should come to your attention.

The opponents stamina "health bar" are animated smoothly on a per-pixel basis. How is this possible? If the developer had worked with three tiles (one for the "edge", one for "full", and one for "empty"), the twelve tiles health bars would have changed only in increment of 16 pixels as follows.

Not only this implementation makes the animation choppy, it also creates a feeling of inaccuracy that present the mechanics of the game in a poor light. A better system had to be used.

Fine stamina tracking

Poking in the game sheets reveals how Capcom programmers made it work smoothly. The health bar tiles are located on sheet 0x81.

We can see not three but twenty tiles being used showing that a lot of problems can be solved by throwing memory or storage at them.

The intermediate states for a tile are all pre-rendered on row OxF0. These extra tiles allow a pixel perfect health bar animation.


*