Xeen Wiki
Advertisement

The graphics for monsters, as seen in the 3D game world, are stored in two sprite files: xxx.ATT, and xxx.MON, where xxx is a number between 000 and 999 (in theory). ATT and MON files always come in pairs - for example, you will not find 001.ATT without 001.MON also existing.

The xxx number is not the monster's ID number within the game, rather it is just a number which identifies this set of monster graphics. Multiple monsters in the game can use the same graphics set. The in-game monster data is defined in a different type of file (XEEN.MON and DARK.MON), which can also specify a "special effect" that will also be applied to the monster animations. For example, palette-cycling is added to the higher-level witch monsters in Clouds of Xeen to allowing the one graphics set to be reused for higher level "boss" type monsters while still looking visibly different.

ATT file[]

The ATT file always contains 4 frames. The first three frames make up an "attack" animation and is played whenever the monster attacks the party. The final frame is the "hit" frame, and is displayed whenever the player injures the monster.

Example: 000.ATT (Clouds)[]

000 ATT 0 000 ATT 1 000 ATT 2 000 ATT 3
Frame 0 Frame 1 Frame 2 Frame 3
000 ATT 0-2 000 ATT 3
Attack Animation Idle Animation


MON file[]

The MON file always contains 8 frames which make up the "idle" animation. The idle animation is constantly played while the monster is not attacking or being hit by the player. Note that the idle animation can be played either "looped" (frames 0-1-2-3-4-5-6-7) or "bouncing" (frames 0-1-2-3-4-5-6-7-6-5-4-3-2-1) - this is defined in the XEEN.MON/DARK.MON file. Whether the animation should be looped or bouncing depends on the way the graphics have been drawn, for example the slime sprite below was designed to be "bouncing" rather than "looped".

Example: 000.MON (Clouds)[]

000 MON 0 000 MON 1 000 MON 2 000 MON 3
Frame 0 Frame 1 Frame 2 Frame 3
000 MON 4 000 MON 5 000 MON 6 000 MON 7
Frame 4 Frame 5 Frame 6 Frame 7
000 MON 0-7 000 MON 0-7-0
Looped Animation (0-7) Bouncing Animation (0-7-0)

Examples from Darkside (Looped)[]

002.MON 050.MON 064.MON
002 MON 050 MON 064 MON
Advertisement