Prince of Persia: The Sands of Time

Prince of Persia: The Sands of Time

50 ratings
Mods/Fixes/Tweaks for appreciating Sands of Time on Modern Hardware
By Dr jebus
Sands of Time is old now.
Programmers designed it to run on 4:3 aspect ratio on computers made in 2001-2006 for Windows 2000.
It probably capped out at 60 FPS.

If you want to play it today, and actually *enjoy* it, this guide will help you turn back time and resolve 95% of the technical hurdles.
2
   
Award
Favorite
Favorited
Unfavorite
Intro
This guide provides instructions and links to a collection of fixes: Audio/Video Desync During In-Engine Cutscenes Fix, Widescreen Fix, Fog Fix, Resolutions over 1920x1080 Fix, and Creative EAX Fix.
What is Audio/Video Desync?
(If you don't care about the desync explanation, or how to set up a good save point for repeated testing/troubleshooting, just skip down to "Audio/Video Desync: The Fix")

During the in-engine cutscenes, modern hardware has a tendency to mess up the delicate balance of individual audio/video playback speeds. This is because of framerates being so high (lots of us have 120fps to 144fps to 265fps nowadays, and 2002-era developers did not write their games to accommodate the future).

The result is animation happening way ahead of the sound effects, which deteriorates the immersive experience.
IMPORTANT: You typically won't notice this bug until toward the end of the cutscene. This is because the audio and video tracks will start synchronized, but the animation steadily gets further ahead of the audio as the scene plays out.

This is what we want:
<==========================================> Audio duration
<==========================================> Video duration

This is what happens: (not necessarily to scale)
<==========================================> Audio duration
<==================================> Video duration
(for context, please understand that the high framerate doesn't cause less video, it just plays the frames of animation faster, so the video finishes before the audio)
(Optional) Set up a good savepoint for Testing/Troubleshooting purposes
Some players may want to tweak their FPS somewhere between 50 - 59, and then play a few tests to get the best possible results. If this is you, the details below include an explanation, and instructions for an ideal savepoint.

The cutscene I used is the one where Farah and The Prince are first arguing. The point where the desync is most noticeable is toward the end, where The Prince hits a scarab, and then strikes the floor with his sword. Each of these actions includes a distinct impact sound effect.
If you hear those sounds play after The Prince's animations, then you have confirmed the desync bug.

If you want to be able to quickly Quit the game > Change FPS > Start the game > Load the save > Replay that cutscene > Repeat until you find the sweet spot FPS for your liking, then the savepoint you want is the one named 7% "Had I really seen her?" This save is fairly early on: Shortly after the [plot device of time] is unleashed, then a bit of combat, directly after you climb out of the first bedroom, exiting through a hole near the ceiling. You get a chance to save after each vision (the large glowing sand vortex)
Audio/Video Desync: The Fix
I have read elsewhere that the fix is to lock the gameplay at 59 FPS. I did this using NVIDIA Control Panel > Manage 3D Settings > Program Settings > Prince of Persia (pop.exe) > Scroll Down to Max Frame Rate and set it to 59 FPS

NOTE: This initially worked perfectly, but for unknown reasons the desync occurred again while I was showcasing to a friend. HOWEVER I then tested at 50 FPS and the audio/video is synced up properly now! 50 FPS also fixes the same desync issues in Warrior Within!
Other details/fixes I implemented (most of these are mentioned/linked on the pcgamingwiki):
- I use DXWnd to force opening the game on a specific monitor: https://sourceforge.net/projects/dxwnd/

- I have VSYNC set to OFF.

- I am using the Widescreen Fix made by nemesis2000: https://community.pcgamingwiki.com/files/file/1999-prince-of-persia-sands-of-time-widescreen-fix-by-nemesis2000/

- Fix for resolutions above 1920x1080
* Big BIG thanks to DawidFreeman on NexusMods, who researched this VERY useful fix for the Hardware.ini file (this is supplemental to the Widescreen Fix mentioned above)
* Edit your Hardware.ini using Notepad.
* Copy the below text, and Paste it over whatever comes after "Resolutions=" and before "AdapterFormats=" near the top of this file.
* It should look like this when you are done:

Resolutions=640,480,32, 720,480,32, 720,576,32, 800,600,32, 1024,768,32, 1152,864,32, 1176,664,32, 1280,720,32, 1280,768,32, 1280,800,32, 1280,960,32, 1280,1024,32, 1360,768,32, 1366,768,32, 1600,900,32, 1600,1024,32, 1600,1200,32, 1680,1050,32, 1768,992,32, 1920,1080,32, 1920,1200,32, 1920,1440,32, 1506,847,32, 1707,960,32, 1969,1108,32, 2176,1224,32, 2560,1440,32, 1280,1440,32, 3840,2160,32
AdapterFormats= <-------- (If you don't see this line, you pasted over too much text. Hit CTRL + Z and try again)
* Save the file to complete the edit

- Fog fix (much more visually appealing than turning off fog, trust me!!!)
* Edit the Hardware.ini file. Near the bottom, find and adjust these two lines as follows:
* ForceVSFog=1
* InvertFogRange=0
* Save the file to complete the edit

- Proper Xbox controller button prompts
* Thanks to spiken0 for this one (with this installed, the game will prompt you to press "RT" or "LB" or "[X]" instead of "Btn 4" "Btn 8" "Btn11" etc.: https://www.gamepressure.com/download.asp?ID=80263
* If you are using a Microsoft X360 or XboxOne controller, then by default, Steam will auto-populate a custom controller profile (which is kinda trash)
* Open the profile by right-clicking Sands of Time in Steam > Manage > Controller Layout
* Make it look like this:

- Enable Creative EAX Audio using any sound card, without using Creative ALchemy (yes, for real!). Big BIG thanks to Jathom95 for figuring this out! If you are wondering "wtf is a EAX?" check out this demonstration:

(big BIG thanks to Zaxx for posting this video, and linking to the forum and instructions!)
* This one is too big to type out in this thread. Just follow the instructions here: https://www.tombraiderforums.com/showthread.php?t=225900
* Yes, I know it says "tombraiderforums," and the fix is for Tomb Raider: Angel of Darkness. Don't worry; the tools you install and the registry edits TOTALLY WORKED for Sands of Time AND Warrior Within, and are supposed to enable EAX compatibility for all sorts of games from that era!
Conclusion: Only 95%
You might have remembered that earlier, I said only 95% of this game's problems could be addressed.
There is only one more diamond to find. The last 5% needed to make this game absolutely perfect:

Directional Audio Fix/Audio Proximity Fix

During play, you will notice that whenever a sound effect or voice line plays, the volume of that sound will be higher or lower depending on proximity to the sound source.

This is ALMOST GOOD. But here's why it sucks:
- Sound volume is determined by proximity to THE CAMERA (this is stupid)
- Sound volume is NOT determined by proximity to The Prince (this would have been smarter, but still not the best)
- This means while you are having The Prince do some stylish acrobatics, Farah might be dropping voice lines, containing some Spicy Hot Character Development
- But you couldn't hear it, because the K'THUNK of a pressure plate drowned her out
- And then the Prince probably replied, and you probably heard that, but without Farah's line it feels like you are missing the full context!

Thus far, nobody has cracked this particular case (or at least I haven't found the solution anywhere).
We've all tried adjusting the positional audio settings in the menu, it's no good.
Someone MIGHT convince you to just "turn all volume options down except for voice, and then turn your speakers way up." This is a fool's errand. Yes, you will hear all the dialogue, but you have to kill the sound effects and music to do it. No thank you.
And here's the even WORSE part: Drop into an in-engine cutscene and all the sound effects, voices, AND music will suddenly be loud enough to demolish your speakers and your eardrums.

Please, do not do this to yourself.

Theory for how someone (not me) might fix this:
Someone might eventually discover code where the game applies directional audio to voices and sound effects and how to throttle volume depending on distance. Probably the *best* possible outcome is to force the equivalent of an "audio deadzone."
That is to say, all voice lines and effects can be quieter based on how far the character/camera is from a given sound, but only to a limit (say 75% of max volume).
That way, if your camera suddenly snaps to a dramatic angle to enjoy a graceful jump over a perilous drop, you would still hear the complete voice line, because it would never go as low as 10% of normal volume. The theoretical "audio deadzone" would prevent those sounds from playing below 75% of max volume.

Anyways, a man can dream.

Bonus Dead End: I did a little extra digging, and found the Sands of Time speedrunning community on Speedrun.com:
https://www.speedrun.com/pop_sot/guides/bblxf

As a meme, these silly fellows extracted all of the voiced lines from the game files, and then re-recorded every single line themselves, and then patched them back into the game.
I thought perhaps they might have figured a way to manipulate the sound files to force the proper volume, but no: https://www.speedrun.com/pop_sot/forums/0td1p (thanks to Jaka for the response though!)

But good news for you: I asked the question and got the answer, so you don't have to!

Thanks for reading, I hope this guide helps you enjoy this game to its fullest.
If you are somehow still reading, it is very much appreciated. Good luck to you, and whoever might discover this final nugget of sound perfection.
19 Comments
jaw knee 3 Apr @ 10:50pm 
button prompt mod not working for me :isaac:
mickyubi 13 Mar @ 6:00am 
Not relavent but i am not gonna lie, when i read "the K'THUNK" this shit made me laugh. Thank you for making my day a better one.
stone10 29 Dec, 2024 @ 9:38am 
my game's constantly crashing
Felix2good 2 Dec, 2024 @ 3:38pm 
Did everything on this guide and some enemies don't spawn. I did everything correctly. Even my friend who did everything too has the same problem. A quick fix is to ALT+TAB out and back in or rewind time to spawn them. I'm not sure which exact step broke this or if there is a fix
Zeithri 30 Jul, 2024 @ 11:10am 
Wonderful mate! Take my points.
It worked! I thought I'd have to sit here for hours :owhero:
<S> Raiden 24 Mar, 2024 @ 5:30am 
Ahh, I am likely mistaken. I wish there was an easy way to rectify the issues.
Dr jebus  [author] 23 Mar, 2024 @ 10:41pm 
@<S> Raiden I have to assume Jaka didn't know.

In other news, several years ago I built a 2000's era PC to verify whether the audio issue existed back then, but I can't fit the video card into the chassis. Athlon integrated graphics are AWFUL for framerate.
Hopefully I'll get around to a better chassis so I can finally verify this old mystery.
Dr jebus  [author] 23 Mar, 2024 @ 10:32pm 
@SnArL My apologies. Any chance you saved over the POPData.BF file while the game was running?
Or perhaps Steam automatically restored the defaults of that file as a way of maintaining game file integrity?
<S> Raiden 22 Feb, 2024 @ 6:43am 
I wish Jaka would have elaborated a bit further and stated if he knew what was up with the camera volume issue or not. I played this game originally on like a gt600 with some equal processor (or lesser) and I don't recall ever having any issues with the audio, if that is indeed true I wonder if the issue can be rectified by some other moderation similar to the FPS 50 fix
SnArL 1 Feb, 2024 @ 8:01pm 
The button prompt change doesn't work, it still says keyboard keys after replacing the file.