I figured I might as well share my current build in case anyone wanted to test the progress for themselves.
First of all, here's my first attempt at trying to re-create Prince of Persia, from way back in 2008:
https://fluffyquack.com/prince/builds/2008-06-03.zip
I was working on that for a couple of weeks with a friend of mine. That's somehow 17 years ago now, which feels rather surreal. I thought I had posted about it on this forum back in 2008, but it must have been in another Prince of Persia community. We didn't get too far in the project. There's basic movement, a basic level editor (I can't remember how to access it), and there's even basic online multiplayer implemented. But no sword fighting, no traps, no gates, no enemies, and no sound. You can move using the directional keys. You can press Q to turn on aspect correct rendering. There's more debug keys to press, but I don't know what they are.
And then fast-forward to today with my current build of my new project:
https://fluffyquack.com/prince/builds/2025-03-14.zip
First of all, you'll need to copy over game files from POP1 and POP2. Copy POP1 DAT files to Data\Prince\POP1 and POP2 DAT files to Data\Prince\POP2. I think my code is compatible with any DOS release of POP1 and POP2 files. I should note that my code currently expects to load both games. It'll crash if files from either game are missing.
In-game instructions:
- Press Escape to access the menu that has a bunch of self-explanatory buttons.
- Controls are the same as the DOS versions of POP1 and POP2.
- IJKL for free-cam. You'll have to turn the default camera back on if you want to exit free-cam.
- Middle-mouse button to teleport player.
- In the menu, you can add additional human players. The additional players are controlled using Xinput controllers. The camera only follows the first player, though.
- Shift+L to skip to the next level.
- Page-up / page-down to switch the camera to a different level.
- O / P to change render scale. Hold Control to change scale in integer steps.
This is very much a work-in-progress, so a ton of stuff is missing. POP1 is pretty far along, but it's still missing some substantial content: palace tileset implementation isn't done yet, there's no correct render-order/masking, no cutscenes, no music, only one palette for enemies, many sound effects are missing, and no "scripted" events (every encounter with Shadow Prince, the mouse, Jaffar, and the skeleton fight are missing). There's also a few bugs. For instance, chompers don't always activate.
POP2 is missing even more stuff. No sound, no enemies, no traps, a bunch of missing graphics, even more wonky render-order stuff, no cutscenes, no music, no color cycling and palette switching are missing, and no "scripted" events. That said, I'm happy with the progress I'm having and while I can't promise exactly when I'll have POP 1 and 2 fully implemented, I swear it'll happen sometime this year.