I don't believe there was any kind of reusable engine or library employed, unless you want to count DirectX as an engine, but it's more of a super-programming-interface that sits above BIOS, OS, and specific-driver calls.
To my best understanding, the game is coded in C++, relies on DirectX 8 (vanilla) or DirectX 9 (Conquests) for drawing to the screen. It will absolutely not run with less than 768 vertical resolution and 1024 horizontal resolution, but it can adjust well to even modern displays with an ini edit.
The graphics files are 8-bit (paletted) PCX files while the overall display is full 24-bit RGB. Some palette entries are replaced by foggy or shadowy transparency in the full display.
Animations are in 8-bit paletted FLIC format with slight but breaking modifications from the base specs. Audio is a weird format I'm not sure anyone has fully figured out yet but seems to be MIDI-like indexes referring to WAV files.
The SAV files are binary and compressed with PKWare DCL. I kind of think the save files are just binary dumps of the C++ object data, but I'm not as convinced of that as I used to be. It's definitely not any sort of schema-defined or database format.