Warning! Your devicePixelRatio
is not 1 (or your browser doesn't CSS media queries, in which case you can probably ignore this warning)!
Since HTML is as braindead as it can get, creating sites outside of diversity hires corporate art sphere is damn near impossible, so this site is not really optimized for HiDPI screens.
Some images might appear blurry.
Need for Speed 4: High Stakes (PlayStation)
Created: 1756774243 (2025-09-02T00:50:43Z), 4419 words, ~19 minutes
Tags: review, western, ea, nfs, racing
This post is part of series nfs: 1, 2, 3:HP (W, PS), 4:HS (W, PS), 5:PU, MCO, 6:HP2
(Source)
To (probably) nobody's surprise, after NFS3 I decided to try NFS4 on PlayStation too. Unlike 3, there are bigger changes compared to the Windows version here, including a completely different career mode, and way less content. But first, the intro as usual.
Unlike with NFS3, here the intro video is almost exactly the same as the Windows version, no different EA logo this time. However, it has a Dolby Surround©®℗🄯™℠¤$€§‰¶〒🚽⚠⚄⅋ⓗ⾞⛂e̸͍̫̘̖͉̳͖͐́ť̷̙͕̲̙̺̘̭͖͊̌c̵̣̠͌͆͒̅͋̉̿͗͒̇͒̕̕͘. logo, and it's different from NFS3's logo! It also has the police chopper which I didn't meet in this game, but I can't say I know all the ins and outs of the pursuit mode of this installment. And that's all about the intro.
Technicalities#
After NFS3 PS article, I'm going to start with technical shit again, because it's a mess.
But before I can even dig into it, how to get the game?
I saw Need for Speed: High Stakes (Complete Edition) posted on the (back at Christmas half-dead) CDRomance site.
One of the few (maybe only) mod for console NFSs!
It combines cars from various regional releases, some new tournaments, and a bunch of small modifications/fixes.
I could no longer download it, but I could still download the original game (mirror), and the patch from NFSMods.
It comes with some wangblows only patcher exe, which I didn't even try to run it as appears to be a standard xdelta3 patch.
So get xdelta3
installed on your computer somehow (on Gentoo, it's dev-util/xdelta:3
), unpack both the original game and patch it:
xdelta3 -d -s $ORIGINAL_BIN $XDELTA_FILE $OUTPUT_BIN
For example, in my case it was:
xdelta3 -d -s Need\ for\ Speed\ -\ High\ Stakes\ \(USA\).bin nfshs_ce_v2a/nfshs_ce_v2a.xdelta nfshs_ce_v2a.bin
Please note the patch only patches the .bin file, not the .cue. Don't try to use the original .cue, the file size is different, but fortunately DuckStation can open the .bin file directly. If you can't trust yourself, simply delete the .cue file (and the original .bin too, if you don't intend to ever play it).
About DuckStation, I'll refer to what I wrote in the NFS3 post, I used almost the same setup. I've decreased overclocking, this game looks more optimized, and with 400% the menu animations look way too fast. Something like 250–300% works.
Then onto the bad news. I went to the settings, and I noticed there isn't an option for rear view mirror. Eeeh?! Why!? Seriously... is this GTA or what!? Then I went to the controller settings. I could choose between preset A, B and C. NFS1, 2 and 3 on PS had custom bindings, 4 not. You have to choose one of the layouts designed by brainlets and live by them. Except, of course, this is an emulator, I remap the buttons however I want.
So I selected preset B, the only one with an analog brake/accelerate input, then I remapped them onto a more familiar layout in DuckStation... but then I couldn't use the menus, aargh!
But let's see, DuckStation has input presets, so I made two preset, one for the menu, one for the race, looks perfect, let's find the shortcut to switch between presets...
There's no.
Huh?
Really no?
What's the fucking point of fucking presets then if you can't switch between them!?
Apparently, if you put your game into a library (whatever it means, I just want to run duckstation bin_file
, leave me alone with that stupid GUI deigned for people with room temperature IQ), you can set presets on a per-game basis.
Well, cool, the way I use DuckStation, everything is per game...
So a few table flips later, I went back to my inputor (mirror), which I originally wrote to fix the stupidness of Wine and NFS6, to fix this crap. Since it has a Turing complete configuration format (an euphemism for not having a configuration format at all, you just have to write a Lua program), I wrote a little script which can change between two presets, and doing some crazy rebindings (like mapping the two separate trigger axes to a single Y axis). To change between presets, just press the PS button, I also added some very rudimentary support to change the DualShock's led color based on the preset. But of course doing this is not enough, inputor grabs the evdev device, but apparently SDL likes to talk to the HID device directly (and poorly), so you'll need something like
export SDL_GAMECONTROLLER_IGNORE_DEVICES=0x054c/0x09cc
if you have a DualShock 4. Tweak as necessary if you have a different controller. Why do I have to write at least one script, tool, hack, or workaround every time I want to play a fucking game!? I don't know how people who can't code function these days.
Anyway, I also set up DuckStation to toggle widescreen hack on PS button, so I can have menus in 4:3, and races in widescreen, in an almost perfect harmony. Except when it desynchronizes, so I also changed the script to be able to press the PS button without triggering a preset switch (hold right stick to the right, an input I've not used).
The doom of career mode#
So after the technicalities, let's look at the game, which is nothing like the Windows version. There you had a separate career and arcade mode, the only connection between them was you could unlock some items in arcade mode by finishing career events. Here, you can't even start a normal arcade race without doing some career shit. You select Single Race, select number of opponents, select track, select car... no, you can't actually select your car. You can only select cars in your garage, which is empty when you start. All you can do is go to car dealer, and from the 20000 unspecified units of money you have, you can buy a Mercedes SLK 230 or a BMW Z3 Roadster 2.8, which both cost exactly 20000. Everything else is more expensive, and you don't earn money from single races, you need to do the career events. So let's check the race types, as they're quite different from the Windows version:
- Test Drive: this is where I'm going to contradict what I just wrote, as in this mode you can race non-owned cars. But this grant only extends to non-owned, locked cars and tracks are not available here either. Also, "race type" in quotes, since all you can do here is go a single lap around a track, without opponents, but with (annoying) traffic. I guess this is the counterpart of NFS3's practice mode, except no assists nor ghost cars, and locked to one lap. In short, everything is worse.
- Single Race: race alone, against one opponent or the full grid, on the track of your choice. This is like Single Player Arcade, Single Race from the Windows version, except, of course, way more primitive.
- Hot Pursuit: pursuit races, actually another mode where you don't have to own the cars. Unlike NFS3, you can be a cop, but this lacks the elaborate modes from the Windows version of NFS4. More on this later.
- Tournament and Special Events: career mode is made up from these two modes. I have no idea why did they split into two. I only found two differences between them. First, tournament button's text is in singular, while special events text is in the plural form in the main menu. Second, special events have entrance fees while tournaments do not.
So career play.
After you bought your first car, you'll have 0 money on your account, and the only way to make money at this point is to complete the first Tournament (you can't start later tournaments as you don't have the required car, and special events need money to enter).
Like the Windows version, you have damage (even though the damage model is even more, how to put it, simplistic), and in career events you have to pay for repairs.
The big difference is here you don't get a menu where you can select what you want to repair, repair costs are automatically deducted from the money you earn.
I have no idea what happens if you go negative, but at least here you get some money after each race (like in NFS5), not just when completing the event, and if you're not too bad, these per race earnings will be usually enough to pay for repairs.
Furthermore, if you finish a race without any need for a repair, you get a safe driving bonus.
Unfortunately, it's stricter than NFS5's "don't scratch the car" challenges, and like in the Windows version of NFS4, bumps still damage your car, so don't expect to get this bonus too often.
The rest is more-or-less the same as on Windows, after each race you earn some points, then at the end of event, placements are determined by the points.
Winning events can unlock other events, tracks or cars.
But compared to the Windows version, this whole thing felt much shorter.
In the Windows version you have 11 tiers with 2+
Then tracks. Just like with NFS3, in the PSX version you have to unlock more tracks than on Windows. But here's the bummer: you don't have the tracks from NFS3, only have the new tracks from NFS4. And unlike the PS version of NFS3, no exclusive tracks either. So even though you have less career events, you'll still get bored racing the same tracks again and again. Also, my pet peeve, track presentations, will be pretty short this time, as there are no track presentations here. Not even a slideshow like in NFS5.
Onto the actual gameplay. First, here you only have non-rotating map. I personally prefer it to the rotating one, but it's way too zoomed out—you see the whole track, so it's pretty useless to check upcoming turns. Fortunately I didn't need it after completing the PTSD-inducing Windows career mode... If you pause the race, upon resuming the music restarts from the beginning. In the end I solved this problem by muting the game's music and playing something else from the media player. There's no dynamic music anymore, and I've heard the NFS4 soundtrack enough times to not miss a thing. Plus this way the music doesn't mess with the Dolby TMblahblah decoder.
Car handling didn't seem as weird as in the PS version of NFS3, but maybe it's just Stockholm syndrome speaking from me. AI, especially traffic AI, is wildly different. Instead of they just going round the track on a fixed path like if they were some slot cars, they react to you, they try to overtake the slower vehicles in front of them (and causing an accident many cases). They're just way more chaotic, and also more fun, when their bullshit doesn't cost your race.
Plus some words about tournaments. First, if you skip a race, you don't receive any reward, unlike the Windows version. So you better finish all the races, no skipping over them. Second, when you finish a tournament, since the game doesn't auto save, you have to do it manually. Fortunately the game helpfully asks if you want to save the game, selecting yes brings you to the save menu, where it will take ages to scan your memory card, and when done with it, it'll automatically select the continue option. Not the save. Continue. You have to press down and circle. If you spam circle, it won't save. You have wade through the options menu to go back to save again. (╯°□°)╯︵ ┻━┻
Finally some race footage after I completed the career mode. Selecting the penultimate tournament where you can race with 911, Diablo SV or F50, then entering with a Skyline? On a track which is full of speedy straights? Racing against expert AI opponents with upgraded cars? What can go wrong? Apparently, nothing, the Skyline is a great car, even if not the fastest. And they only included this car in the Japanese release, EU/NA/Australia only got garbage western cars. Pathetic.
(Soundtrack: Ectoplague - Poltergeist Pandemonium and Necromancer - Tyrant (feat.
Cheats#
I'll start with some preface. There is a championship called GT Racing Championship. To enter, you have to buy a car which costs 500k. The maximum amount you can win at this point is 175k from International Supercar Series. So I'll have to repeat that shit 3 times? Come on! Instead I made a copy of the memory card, entered a special event and immediately canceled it to lose some money, and made a save and compared the two in a hex editor, and it found like 6 differences. I've figured out what is ought to be the money from the changes, changed it, restarted the game... and it reverted to the default settings. Huh? Going to the save options, it says save is corrupt. Perfect. There must be some kind of checksum on the save. Sigh.
So another attempt, there's an Infinite Cash In Account
cheat, which gives you a lot of money.
Not actually infinite, but practically infinite.
It must be possible to somehow modify it to give a saner amount of money, right?
This cheat corresponds to the GameShark code of 80115DA6 0FFF
.
Meaningful, right?
Not?
Aww, poor guy, I feel you.
So I went searching, but finding how GameShark codes work on the internet can be a bit problematic, as you'll usually find hundreds of results for cheats for random games, but not much about what the codes mean.
One site I found is EnHacklopedia which have the list of codes, but a probably more reliable way is to read the comments in DuckStation's chtdb.txt (warning, 3.7 MiB file!).
It'll tell you:
;* 80XXXXXX YYYY - 16-Bit Constant Write, Poke $80XXXXXX with 0xYYYY **COMMON**
So this code is writing 0x0fff or 4095 to some random memory address.
But I definitely got more than 4095 money enabling this cheat.
Turns out this only writes the upper 16 bits of a 32 bit number (and PlayStation is big endian!).
So after some calculating, I ended up with a modified code of 80115DA6 0009
, this will give you somewhere between 589,824 and 655,359 depending on the lower 16 bits.
Enough to buy the car.
But, during this whole process, something happened.
I imported the cheats from CE's zip file into DuckStation.
When I looked through the cheat list, I found interesting items.
Like, Increase Track Detail
.
Why didn't I know about this?
Force Dashboard View
.
Huh, what?
Looks like this game actually had a dashboard view, it's just not exposed on the UI.
Trying it I can kinda understand, the graphics quality is ridiculously low, you can't look back and it's buggy on mirrored tracks... but still better than what the vanilla game gives you.
There's also a hood cam, similar to what you have in Underground and later editions, but I didn't use that too much.
Hot Pursuit#
Originally I didn't want to write much about this mode as I largely ignored this mode when playing NFS4, but then of course I went on months long hiatus while writing this post, so I needed some refresher on the game, so I tried this mode.
First you have to chose whether you want a solo race (so just against the police), or a duel where you have a racer opponent, other than the police. Then you can select a skill level, from beginner, intermediate and expert. At first, learning from PS NFS3, I chose the easiest difficulty, and it was still pretty hard. Maybe not as in bad as in NFS3, but it's still bullshit, and you'll need a couple races to somewhat get used to it. But when I could more-or-less manage myself on the beginner on the easiest track (Landstrasse), I tried the expert. I was expecting some Rabi-Ribi BEX Loop 10 0% items kind of insanity, but nope. In fact, I didn't notice any difference. The same bullshit before and after, the RNG is just way too insane for the difficulty setting to have any visible effect.
Honestly, I'm not sure what to write about this mode. It's more or less the same as NFS3, if you slow down a tiny bit while a police is near, they catch you, if you scratch the roadblock, they catch you, and a lot of times getting caught the first time ends the race. The only fun thing the PS version has is Local Police in track settings, where racing in a non-English speaking country (apparently England and Scotland are non-English speaking countries), the police will speak in the local language instead of English. Which, in practice, means German on Landstrasse (shouldn't it be Landstraße?) and French on Route Adonf (which probably should be Route À Donf, and I'm a bit surprised there's no ô in it...). And while German sounds way more badass, the track sucks, so here is me trying to race against the cops on Route Adonf.
(Soundtrack: Revizia - Karma and Thy Night'85 - Night Maneuvers from Darksynth)
One funny feature of the CE patch is allowing you to race against the police on the race tracks. Again, probably a cut feature, as I don't think otherwise the game would have the AI paths needed for police on these tracks (the why is a good question though).
Instead, the more important addition is the be the cop mode from the Windows version. Only seems to available in solo mode, where you can select a cop car, and of course, it's also completely different. It's "cinematic"! Or in English, long and useless, unskippable cutscenes all the way. Seriously, without DuckStation's fast forward, I'd kill myself before completing one race. When you start the race, you'll see a long cutscene about the police spotting a speeding driver, responding to a report, or such. Then, depending on the difficulty, on beginner you have 4 minutes, on intermediate 3, and on expert 2:30 minutes to catch the driver. If you run out of time, it's game over, otherwise you successfully caught one racer, you get 45 seconds bonus and a new driver to catch. And repeat, including another long ass cutscene. This time however you only get 40 bonus seconds for catching him, then 35 and so on. After catching the 10th driver (when your bonus would decrease to 0 seconds), the race ends, and I think this is the winning condition. According to the wiki, you can unlock some police cars like this, but I didn't bother too much with this mode.
Here's a video of what this mode looks like. I've left the two first cutscenes in, the rest I sped through using fast forward, and it's still over 8 minutes. I'm playing on beginner difficulty here, because I couldn't be bothered to record 10 races before I get one where I don't fail. Because here, unlike the normal pursuit, the difficulty matters. Not just because you have less time, but the opponent's difficulties increase too. Here you can see many cases where I easily overtake a racer (and sometimes go a bit too far), in expert difficulty they all go flat out. Still, it is definitely doable, but it's pretty tight—botch up a single arrest, and you'll likely run out of time, even if not immediately.
(Soundtrack: Baddon - Mecha, Glitch Black - Left to Bleed and Rot, Occams LASER - The nightshift and Vector Seven - Tyger's Claw from Darksynth)
As a side note, compare this video with night mode in NFS3. You can race during the night without cosplaying a blind driver! Woohoo! (Even though, it's more like sunset than night...)
Also assists. As a cop you can ask for 3 kind of help: back up, road block, spike belt. Now in reality, asking for the latter two will evoke a response among the lines of "no available units". Even the back up only really works on beginner difficulty, on harder difficulties you usually get the same rejection. Now, at 5:27 in the video, you see a case of successfully managing to request a road block—I have no idea why did I press that button, but here is it. I think the purpose here is to be only able to ask for help after the pursuit went on for a while, but in this case you're already dangerously close to running out of time: on beginner you have 7:45 to catch 10 drivers or 46 seconds on average, on expert 6:15/37 seconds. If you have to wait a half minute to activate an assist, you're already toast.
How wide can it get?#
(Sorry for the typographic crime over there.)
In the meantime, I got an ultrawide monitor with 32:9 aspect ratio (it's like two 16:9 monitors next to each other, except no bezel between the two) with a resolution of 5120x1440 (which I still have to look up in xrandr
output every single fucking time).
However, I'm only going to include a few screenshot here, no video, as
- My current setup is unable to record a video at this resolution with any meaningful FPS.
- You most likely don't have a monitor to watch this at it's native resolution anyway.
- It's more like a bugfest than an actually working solution. It still didn't stop me to play through the whole game in this mode though.
- Even these screenshots broke my pipeline.
Let's talk about the last point first.
For screenshots, in DuckStation config I enabled Internal Resolution screenshots, which means my screenshots came out as 13651x3840 gigantic images.
Normally I compress PNG images on this site with zopfli, using 500 iterations.
I carelessly tried to do the same with these PNGs–I killed zopflipng
after 37 hours.
Let's try with 1 iterations first... 169 minutes 52 seconds.
Uh oh.
2 iterations?
172 minutes 33 seconds.
So each every iterations adds about 160 seconds... so with 15 iterations it should be done in about 3.5 hours, right?
Well, wrong.
I made the above measurement on my laptop, using a single thread on an otherwise idle system, while I ran the real encoding on my desktop computer, in parallel.
So single threaded turbo boost no longer applied, and it wasn't idle.
The first image finished after 4 hours 35 minutes.
It was the one I used to make the preliminary measurements, apparently I managed to choose the image which is the fastest to encode.
The last image finished after 7 hours 25 minutes.
I hope you're fucking grateful for the measly 10% reduction in file sizes this caused.
(ノಠ益ಠ)ノ彡┻━┻
Then I also had a problem was cjxl
.
I realized at the beginning that I probably shouldn't use the glacier preset, as it takes 1–1.5 hours to compress a normal full-HD image, so I went into libjxl
's source, and reduced the number of trials a bit.
Then I started the process... and it ran out of memory in 18 minutes.
I have 128 GiB RAM...
Argh, let's try again with 16 threads... then it ran out of memory after an hour.
12 threads?
OOM in 3.5 hours...
At this point I removed even more tries, using what looked like optimal parameters for other screenshots here, to a mere 8 trials.
I also fixed the fantastic feature of cjxl
where after it finds the optimal parameter to compress the image, it recompresses the image again.
Because apparently using more than 10 GiB of RAM for a single encoder state is OK, but keeping a single 20 MiB compressed image in RAM is too much.
It was already annoying with full-HD images, here it was unbearable where a single try takes hours.
Anyway, with this setup I was able to compress each of the image in about 3.5 hours.
And not parallelizable, since a single cjxl
ate almost my entire RAM.
The results? But be careful before clicking on a thumbnail, unless your browser knows JXL images (which is probably only Pale Moon at the time of writing, as Mozilla is too busy sucking Jewgle's dick), you're clicking on 17–22 MiB images (JXL is only 7–9 MiB)!
The thing is, at 16:10, this game is pretty much still perfect. Moving objects at the very side of the screen sometimes disappear, but unless you're looking for it, it's barely noticeable. At 16:9, you can see the track geometry disintegrating at the side of the screen at times. At 32:9, the left and right third of the screen is in a constant missing geometry state. It's so bad, it's good.
Oh and some random trailing rant. This new monitor can do more than 60 FPS, so I just tried to record with 60 FPS, but I got a lot of duplicate frames. I looked at DuckStation's FPS counter, and saw it's still stuck at 59.81—59.82 FPS. Even without V-sync, only speeding up emulation seems to produce more FPS (but enabling it speeds up everything, so it's no good). Looking through DuckStation's source code, I realized PlayStation ran at ((44100 * 0x300 * 715909) / 451584) / (3413*263) FPS (or 53693175 / 897619 or about 59.8173), and DuckStation emulates this. So then I tried to record at 53693175 / 897619 FPS (obs GUI doesn't allow you to specify such a big numerator, you have to edit the config file), which came out as 19321 / 323 FPS in the MKV file (close enough I guess?), but the video is still not smooth. (┛◉Д◉) ┛彡┻━┻ Now normally DuckStation's frame graph looks stable, but there are occasional spikes, but I can't have both frame graph and recording without a frame graph, so I have no idea if it's just recording is overloading the computer or OBS is a piece of shit, but at this point I stopped caring. Also this is why the three videos in this article were recorded at three different FPS values...