I.M. Meen is the first of two PC titles, the second being the sequel Chill Manor, created by Animation Magic, known infamously for their Philips CD-i titles. I.M. Meen was released in 1995 during the height of Doom and 2D-in-3D first person games, and it does show. Features were much of what others gave including full rotational angles for enemies and an inventory system, as well as animated cutscenes with voice acting. As far as gameplay goes, as like many titles by Animation Magic, falls short. I.M. Meen's main goal was intended as an educational game geared towards children to teach grammar.
The game's storyline follows Scott and Katie who have been trapped in a labyrinth cell through a magical trap in the form of a book set up by the childish education-hating sorcerer, Ignatius Mortimer Meen. They are later freed of captivity by a friendly gnome named Gnorris who disagrees with his boss's wishes and frequently advises the children in order to help their escape from the frightening labyrinth. They must navigate the labyrinth freeing all the children kidnapped by Meen while battling his monstrous underlings, crazed incarnations at the end of each section, and his poor grammar.
|Extended Midi Files.
|Standard WAV audio files.
|LAByrinth files, generic uncompressed containers.
|PCX Format screens and backgrounds.
|Meen IMG file.
|Mostly pure text definitions, more detail below.
|Image format that makes up many of the interface graphics including icons and first-person weapons, otherwise unknown.
|BMF1 files, unknown, possible interface setup.
|Currently unknown, but L_SCRL.PRC contains grammar scroll text and L_HELP.PRC contains grammar hints.
LAByrinth files are generic headerless containers that are mainly used to package up each level along with their individual resources rather than having a uniformly shared set of resources like WADs of Doom engine titles or GRP of BUILD engine games. They start off with a simple index then uncompressed contents follow. RESINT.LAB contains all interface relative images including icons and first-person weapon graphics like the fist and hammer, and RESFACE.LAB contains ingame face graphics, all in CMP format (except GAME_SCR.PCX who's importance will be mentioned later). Then there is the RES###.LAB files that contains all resources and data for a specific level which will be displayed in a chart below.
|World sounds including triggers and doors.
|Generic sound effects for shots and hits.
|Player weapon sounds.
|Error chime heard when a mistake is made in a grammar puzzle.
|Generic image container containing all floor textures.
|Generic image container containing all ceiling textures.
|Generic image container containing all sprites and wall textures.
|Definition file in binary that sets up wall textures.
|Definition file in binary that sets up floor textures.
|Meen map file.
|Objects definition file.
|Definition file in binary that sets up ceiling textures.
|Definition file for level sounds.
|Defines starting coordinates and angle.
|Main HUD interface image, the palette within is used by all world graphics.
|Level's starting screen.
The DEF files define the level in entirety, including objects, textures, and the map itself.
MAZE1.DEF is the main DEF file as it deals with the very layout of the map. It starts with two UINT16LE that define the x and y boundaries of the map. Then after this is the physical aspects of the map. Interestingly the map can be viewed as a raw 8-bit image showing the entire layout with each pixel representing a 64x64 square. After the physical layout is the object placement segment. 00 signifies a blank spot while any number above it correlates to the object entries in OBJECTS.DEF.
This is a proof-of-concept in editing MAZE1.DEF with a graphical hex editor and it working ingame. Note too that map is rotated counter-clockwise 90 degrees in file. Top Left shows unedited map, bottom left shows edited map, middle shows modified map in minimap form ingame, and far right shows map rotated 90 degrees to match minimap.
FLOOR1.DEF and SKY1.DEF define the floor and ceiling textures respectively. They encompass the entirety of the map meaning if the map is 64x64, the filesize of each will be 4,096 bytes to cover it completely. The binary numbers refer to the graphical entry in FLOOR.IMG and SKY.IMG starting with 01.
CUBES1.DEF deals with defining wall textures based on the number within IMAGES.IMG. Unlike FLOOR1 and SKY1, this does not cover the entire area but rather defines what the texture assignment for each byte is in MAZE1's first portion.
OBJECTS.DEF defines all objects within the level. Enemies, items, doors, switches, decorations, and weapons damage are all defined here.
SOUNDDAT.DEF defines all sounds used in the level.
STARTPOS.DEF Numbers define Y (- north, + south), X (+ east, - west), and angle in clockwise rotatio. 00 is north, 5A(90 degrees) is east, and so on.
QuickBMS script for extracting LAB content.