As I mentioned I am a fan of old games, one of the games I attempted to write a remake of is Supaplex. As usual I would not settle for something less than great and I wanted to also improve it.
I learnt then for the first time how to program with DirectX, but I settled for the more basic GDI for most of the graphics subsystem.
As the original graphics were a little outdated, the game being written for a resolution of 320x200, I have redrawn everything in vector graphics so it would look great in any resolution desired. I also put in a framerate conversion engine as the game mechanics were previously tied to the framerate.
I rewrote the engine from scratch, mostly based on observation, playing the game and freezing it frame-by-frame to figure out how things work. One of the very unfortunate consequences was that at the end, my engine was so different compared to the original that i found corner cases that I would not be able to implement nicely. That did not make any levels unplayable I believe, but some of the replays, which were recordings of the keystrokes would not play correctly.
I did not give up, but instead I started working on a second version of the engine. That was unfortunately in 2006 when I moved away from Windows programming and the code was not portable. For the next few years this project was sidetracked, but eventually I returned to it and started a major rewrite. I migrated it to SDL/OpenGL reusing a lot of the stuff I had from fretscpp. It is so much easier when you have everything in place, libraries, build scripts. In one weekend the job was done (well at least the migration to SDL/OpenGL, the engine was still the second version that was not finished).
I have uploaded now the code and the graphics I have drawn myself to GitHub as SplexHD. A few of the levels are playable, but you will need the original game files for the levelset. These are available freely from here: http://www.elmerproductions.com/sp/.