12-28-2016, 08:50 AM
I have been investigating an older pacman-style game: Pickman 3D. It is really fun to play and my cousins love playing it every single day. With a little background programming experience, I started looking into the files the game is made of.
There is one archive.game file which is easily decompressed using Game Extractor. Inside are practically all the game files, no need to decompress further, as I have seen on some other games. Copying all these files into the root directory and deleting the archive does not seem to stop the game from running. I can now edit and test on the go. Music is in .xm format, but .wav music files seem to work fine. Different file formats: .xml, .max and .mft. .max and .mft files have shown to be simple .xml files with information.
The levels are coded in .xml files as well:
Creaturehouse.xml - Determines the position and texture of the creature house where the monsters come from.
Episode.xml - Determines the music and data location for each level
LevelX.xml - Contains the amounts and positions of the dots, power dots (powerups) and the monsters.
LevelBlocksX.xml - Contains the data for the blocks that the level is made from.
LevelFloorX.xml - Contains the data for the underlying floor.
LevelViewX.xml - Contains camera information (probably about the top view)
RandomX.xml - Contains data on all the falling objects and their frequencies.
ViewX.xml - Contains camera information, definition of the origin and joins the .xml files together.
LevelBlocksX.xml and LevelFloorX.xml both contain unreadable code: xml version = 1.0
I could not open these files in any model viewer, so I took this binary code apart. No file extensions, but the headers are recognized as "macbinary 2 header" and "mp3 audio" for LevelFloorX.xml and LevelBlocksX.xml respectively.
The goal: to convert the unreadable polygon data to a better understandable form and back, so that I can create my own polygons for new levels. This conversion should really not be so complicated for 2D pacman style levels, I could make levels in an Excel sheet very quickly if only I were able to convert them to the right .xml code. That is what I need help with. Try it out for yourself, I included the files and a screenshot of a simpel level.
https://drive.google.com/open?id=0Bxs1uO...nNTcmx6S00
There is a pattern in the LevelFloor2 binary data if you look at it with a hex editor, but I did not get very far with that yet. LevelBlocks2 binary data is, well, crap. And this is for a simple level.
Thanks for all the suggestions and help. I really apprieciate it.
There is one archive.game file which is easily decompressed using Game Extractor. Inside are practically all the game files, no need to decompress further, as I have seen on some other games. Copying all these files into the root directory and deleting the archive does not seem to stop the game from running. I can now edit and test on the go. Music is in .xm format, but .wav music files seem to work fine. Different file formats: .xml, .max and .mft. .max and .mft files have shown to be simple .xml files with information.
The levels are coded in .xml files as well:
Creaturehouse.xml - Determines the position and texture of the creature house where the monsters come from.
Episode.xml - Determines the music and data location for each level
LevelX.xml - Contains the amounts and positions of the dots, power dots (powerups) and the monsters.
LevelBlocksX.xml - Contains the data for the blocks that the level is made from.
LevelFloorX.xml - Contains the data for the underlying floor.
LevelViewX.xml - Contains camera information (probably about the top view)
RandomX.xml - Contains data on all the falling objects and their frequencies.
ViewX.xml - Contains camera information, definition of the origin and joins the .xml files together.
LevelBlocksX.xml and LevelFloorX.xml both contain unreadable code: xml version = 1.0
Code:
<MeshPolygons>
<MeshPolygon>
Binary code (unreadable)
</MeshPolygon>
</MeshPolygons>
<Shaders>
<Shader>
Readable code containing texture information
</Shader>
</Shaders>
I could not open these files in any model viewer, so I took this binary code apart. No file extensions, but the headers are recognized as "macbinary 2 header" and "mp3 audio" for LevelFloorX.xml and LevelBlocksX.xml respectively.
The goal: to convert the unreadable polygon data to a better understandable form and back, so that I can create my own polygons for new levels. This conversion should really not be so complicated for 2D pacman style levels, I could make levels in an Excel sheet very quickly if only I were able to convert them to the right .xml code. That is what I need help with. Try it out for yourself, I included the files and a screenshot of a simpel level.
https://drive.google.com/open?id=0Bxs1uO...nNTcmx6S00
There is a pattern in the LevelFloor2 binary data if you look at it with a hex editor, but I did not get very far with that yet. LevelBlocks2 binary data is, well, crap. And this is for a simple level.
Thanks for all the suggestions and help. I really apprieciate it.