|  |  |  | Sprite management in M.U.G.E.N |  |  |  |

The sprites used by Mugen are all stored in .SFF files. These SFF files are simply collections of 8 bit (256 colors) or 24 bits(16 million colors) PCX files. 8 bit sprites can share the same palette to save space and memory and to increase their performance once in-game. In fact, every sprite in a character's SFF file must share their palette, except the big portrait that appears in the character selection and the VS screen which can have an independent palette if needed.

Each sprite has, besides, four numeric values associated: group number, image number inside that group, and the axis' x and y components. The group # and the image # dentify the sprite, and are used when building the character's animations. Some groups are traditionally bound to certain actions, e.g. group 0 for standing, 11 for crouching, or 130 for standing blocking... This isn't more than a recommendation though, if you want for example assign group 9657 to the crouching sprites, or assigning each sprite a separate group, it's golden (but not recommended though). However, there is a set of special sprites called the required sprites, which have preset group and image numbers, and which you must necessarily assign a sprite. These sprites will be shown when the character, after being hit by certain moves (e.g. thrown), falls under the enemy's control. If you leave out any required sprite, the character will dissappear when hit by a move which uses it, so use them ;). Beside these, there are two other sprites which aren't considered "required" but you must also use: they are (9000, 0) - group 9000, image 0 -, which is the small portrait you can see in the character selection cells, and many times next to the life bars.

Some examples of required sprites: From left to right and from top to bottom: (5000, 20) - Standing hit high, head back far; (5010, 0) - Standing hit low, bent over slightly; (5020, 10) - Crouching hit, head back moderately far (nor much nor little); (5030, 50) - Falling, head down far; (5070, 10) - Lift by enemy, body tilted forwards far; (9000, 0) - Little portrait; (9000, 1) - Big portrait.

Besides this, each sprite has an axis. ¿What is the axis? Look. Each character's position (and his projectiles', and each dust puff's, and each visual efect, and...) is determined by a single point, which has a "x" component (where more negative means more to the left) and an "y" component (where more negative means more towards the top), so for example, when the "y" component is 0, the character is on the ground. Sprites are drawn in relation to this point. Well then, the axis represent that point's coordinates in relation to the sprite so, for example, the lower the axis' "y" component, the higher it will be drawn. The axis' coordinates are measured from the top left corner of the sprite. All this can be somewhat hard to understand, but you'll understand it better with an example:

Axis placing examples: To the left, a sprite with its axis (shown as a cross) placed in different locations (x, y). To the right, the same sprite as it would be drawn in Mugen, where the cross marks the point which determines the character's position. You can see how the sprite is drawn in relation to this point, depending on the axis' location..

Poorly placed axis will cause "shiverings" and strange displacements en the sprites, which are one of the most noticeable "newbie trademarks" (said in a friendly way) ;).