Now that we have our decoding of the PIC images up to a well-defined point for F15-SE2, it’s time to look and see where else MicroProse has used this format. As we know from the DarkLands document we discovered back on my second post, along with the thread on a Civilization forum, we know that the format was used in those games, albeit in a different form. Lets dig through the archives to see what other titles use the format, and if that format is the same.
(more…)MicroProse
Posts related to various MicroProse games and assets
Post Index
-
Some assembly required

In a previous post, we left off having validated that all the parts we created for the pipeline required to decode a PIC file worked. While it was helpful in testing/debugging each part to have it as a stand-alone program, and it will be helpful again when we go on to write an encoder, the time has come to put all the pieces together into a single unit, but thankfully no actual Assembly will be required.
(more…) -
The other foot
Before we get into putting the decoding pipeline together, I wanted to take a quick break to talk about the other asset files. Back in my first post in this series I mentioned two different graphics asset file extensions PIC and SPR (likely sprites), but so far we have only been talking about the PIC files. There may be others, but those two stood out.
(more…) -
Houston, we’ve had a problem…
Okay maybe the end of my last post was a little evil. But I swear it wasn’t just a gimmick to get you to come back and read more. I knew things weren’t perfect, and I wanted to separate out the debugging of those issues, as they are not directly related to the rendering code that was the scope of that post. So just to recap a little, we have all the pieces of the pipe built in order to be able to take a PIC file and convert it into a PPM image file. Now we can visually see the results of what is happening in the images themselves, which will hopefully make things easier to debug. So without further ado, let’s get on with the big reveal.
(more…) -
A picture is worth a thousand words
Or so they say. Well in this case, it may be that a picture is worth a thousand hours of looking at raw data. In my last post we decoded the RLE data stream that was output from the LZW compressed data in the PIC file. What we have now is the RAW image data, hopefully. All that is left is to render it to a screen, or some other image format that other tools can actually open. To keep things simple, the latter option is what we’re going to take. We will convert the PIC file data into a format we can open with conventional image viewing/editing tools. But before we can do that the PIC file may have one more trick up its sleeve.
(more…) -
Run, Forrest! Run!
In my last post we left off with having a basic LZW decompressor up and running, now it’s time for tackling the RLERun-Length Encodingencoding of the data that the LZW compressor output. This brings us one step closer to rendering the image, which at this point is becoming critical in order to see if we are on the right path in decoding the PIC file format.
(more…) -
Bigger is better?
By the end of my last post we had established that the MicroProse PIC file format likely uses LZWLempel-Ziv-Welch compression, on top of RLERun-Length Encoding in order to store the image data. Today we’re going to try to write some code to read in a PIC file, LZW decompress the file, and output the raw RLE data, bringing us one step closer to seeing the image itself. In this post we’ll dig into some code on how to implement LZW decompression.
(more…) -
Welcome to the Matrix

As we left off in my last entry, we had determined that the format was not the
(more…)Pictor PC Paint
.PIC file format as I had hypothesized. One of the first things to do is to search the Internet to see what information is already known about the format. As I mentioned in my previous post, the .PIC format used with Darklands has apparently already been documented by someone, so that is likely a good starting place. The next thing to do is to look into the files we have with a hex viewer to see if there are any common elements in the files, or anything else, that stands out. This will also allow us to see if they are similar in anyway to what has already been documented with the Darklands format. Given that Darklands was released in 1992, a few years after F15-SE2 (1989), the formats could be entirely different despite sharing the same file extension. However, even if they are different, it’s reasonable to hypothesize that the files would share the same core genetics with the latter version being more evolved version of the former. That is unless MicroProse made some radical changes along the way. So let’s take a look.
