Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
We do often include affiliate links to earn us some pennies. See more here.

Any of our readers remember Driver 2? I remember spending absolutely hours driving around in this classic PlayStation game and now maybe you can relive it or experience it for the first time.

Thanks to a developer working on an open source (MIT licensed) game engine, using a little reverse engineering magic the game has be reborn. Like a lot of open source game engine reimplementations (OpenMW, OpenRA, openXcom), it does need you to own the original game to have the data files as this is just the code that is being offered - which means hopefully any rights holders will leave it alone.

YouTube Thumbnail
YouTube videos require cookies, you must accept their cookies to view. View cookie preferences.
Accept Cookies & Show   Direct Link

Their current goals include to make the game playable from start to finish, with all game modes working as intended. Eventually, they want to rewrite it all to properly upgrade it with modern stuff. You can get it running on Linux, and the lead developer has a GitHub issue open indicating they're looking for help to sort out automatic Linux (and macOS) builds.

You can find it on GitHub.

Article taken from GamingOnLinux.com.
19 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
The comments on this article are closed.
19 comments

fabertawe Nov 16, 2020
I loved the original Driver on PS1, great fun. Looking forward to playing this.
elmapul Nov 16, 2020
i played driver 1, i did knew that there were other driver games (eg: San Francisco), but never heard of driver 2.
elmapul Nov 16, 2020
i wonder why its easier to reverse enginering an game than making an free open source alternative to it...
it shouldnt be
fagnerln Nov 16, 2020
This reminds me that I never finished the tutorial on Driver 1... lol

I played San Francisco which is a good game, but it's boring
Julius Nov 16, 2020
Quoting: elmapuli wonder why its easier to reverse enginering an game than making an free open source alternative to it...
it shouldnt be
Actually no. Making an engine for an existing game is much easier. You have a fixed target and all the art assets are already done.
CatKiller Nov 16, 2020
View PC info
  • Supporter Plus
Quoting: elmapuli wonder why its easier to reverse enginering an game than making an free open source alternative to it...
it shouldnt be

Traditionally for game makers, about half the budget goes to marketing. Asset creation is almost all of the rest. Making the game engine, while both critical and often difficult, is only a small part of the whole. Content is also difficult to do incrementally: you need your story to happen in the right order, and you want all of your artwork to look good before people see it.
aristorias Nov 16, 2020
Well, only really if the data structures and formats are known or closely based known formats, otherwise a huge amount of time will be wasted on reverse engineering that. I wonder how much they had to figure out without specifications.
Regarding asset creation, there seem to be a lot of highly talented freelancers out there (thinking of all the elder scroll mods) who would be capable of competing easily with high end titles. But why would a team like that not ask for money instead? ;-)
whizse Nov 16, 2020
View PC info
  • Supporter
I've always assumed there to be quite a different challenge, possibly a different mindset, between a reverse engineering project and creating your own game from scratch.

I kinda get it. It's somewhere between deciphering ancient hieroglyphs and restoring an old barn find. Plus the opportunity to study an old favorite from a whole new perspective, learning new things about the game, and possibly the minds who created it.

Anyhow, that's a pretty slick trailer! Makes me want to get out there, steal Eleanor and try some Halicki stunts!
brokeassben Nov 16, 2020
Quoting: fagnerlnThis reminds me that I never finished the tutorial on Driver 1... lol

I played San Francisco which is a good game, but it's boring
Holy shit, that MANDATORY tutorial was so difficult. It didn't help that there were no real instructions on how to perform the required stunts to get past the tutorial within the time limit. It got fun after that...
hardpenguin Nov 16, 2020
Oh sweeeeet! This is amazing, I love Driver series!
Dunc Nov 16, 2020
Ooh, I've a lot of fond memories of this. In fact, it's one of the few 20-ish-year-old games I do have any genuine nostalgia for, because I didn't play most of the big names until much later.* It was the first game where I felt like I was really travelling the world. I'm sure the depictions of the real-world cities weren't remotely accurate, but they were closer than we'd ever seen before.

It's also worth pointing out that this is a free-roam, open-world game that came out before GTA3 (its big “thing” was that, unlike the first game, Tanner could walk around outside his car and steal other ones). A lot of people saw GTA3 as DMA/Rockstar's answer to Driver 2.

Quoting: fagnerlnI played San Francisco which is a good game, but it's boring
That's the trouble, of course: a true sequel would basically be GTA in real-world locations with more driving and no gunplay. Which doesn't sound like much fun. The two series seemed very alike back in the day, but Rockstar clearly had the more engaging formula, concentrating on the on-foot side with the cars coming second.

When Ubisoft decided to bring Driver back, to give them their due they did try to mix it up and do something different, which, yeah, made a decent enough game, but it ended up being neither very interesting or recognisably Driver.

*I took something of a sabbatical from gaming in the '90s, but when a friend of mine upgraded to the PlayStation 2, he very generously passed his PS1 to me. Since this game came out at the very tail end of that console's life I was able to play it pretty soon after release.
ronnoc Nov 16, 2020
Any Linux build up yet? I have the original disks, but the release in GH is only an .exe. Would like a native build!
whizse Nov 16, 2020
View PC info
  • Supporter
Quoting: ronnocAny Linux build up yet? I have the original disks, but the release in GH is only an .exe. Would like a native build!
I'm trying, but I doubt anyone has built it on anything but Windows? There's a an unguarded "#include "windows.h" in one place, and lot and lots of little things that seems to trip up gcc on my system but presumably works fine in VS.
Rosalie Nov 16, 2020
Quoting: whizse
Quoting: ronnocAny Linux build up yet? I have the original disks, but the release in GH is only an .exe. Would like a native build!
I'm trying, but I doubt anyone has built it on anything but Windows? There's a an unguarded "#include "windows.h" in one place, and lot and lots of little things that seems to trip up gcc on my system but presumably works fine in VS.

I fixed it, see https://github.com/OpenDriver2/REDRIVER2/pull/24

if you want to build it for yourself, execute the following:

git clone https://github.com/OpenDriver2/REDRIVER2
cd REDRIVER2
curl https://patch-diff.githubusercontent.com/raw/OpenDriver2/REDRIVER2/pull/24.patch -LO
patch -p1 < 24.patch
cd src_rebuild
premake5 gmake
make -j4


then check "Bin/Debug" for the executable
whizse Nov 16, 2020
View PC info
  • Supporter
Quoting: ronnocAny Linux build up yet? I have the original disks, but the release in GH is only an .exe. Would like a native build!


Patch to make it compile, and also amazingly link:
https://pastebin.com/iyGdgzwx

Also, it uses premake5 of all things. I mean an alpha build? Come on!

Build instructions goes like:

Install/build premake5
cd src_rebuild
premake5 gmake
make
fun stuff in bin/Debug/
whizse Nov 16, 2020
View PC info
  • Supporter
Quoting: Rosalie[snipped long post]
Dang! Beaten by 18 minutes, and a much cleaner patch too!
whizse Nov 16, 2020
View PC info
  • Supporter
Music and video clips needs to be manually converted using a Java tool called jPSXdec. Music seems to work, but videos had a couple of issues, case (insensitivity), and of course the dir separator.

Quick patch below. I assume C++ have a rich standard library with something to do proper path concatenation, but I'm too lazy to find out.

There are a lot of different ways to have fun with games!

 
diff --git a/src_rebuild/GAME/C/SYSTEM.C b/src_rebuild/GAME/C/SYSTEM.C
index 6b8710a..e3f96dd 100644
--- a/src_rebuild/GAME/C/SYSTEM.C
+++ b/src_rebuild/GAME/C/SYSTEM.C
@@ -28,7 +28,7 @@ OTTYPE* _OT2 = NULL;                          // 0xF7200
 char* _primTab1 = NULL;                        // 0xFB400
 char* _primTab2 = NULL;                        // 0x119400
 char* _replay_buffer = NULL;           // 0x1FABBC
-char gDataFolder[32] = "DRIVER2\\";
+char gDataFolder[32] = "DRIVER2/";
 
 #ifdef USE_CRT_MALLOC
 
diff --git a/src_rebuild/utils/video_source/VideoPlayer.cpp b/src_rebuild/utils/video_source/VideoPlayer.cpp
index 4fd478d..c8b598c 100644
--- a/src_rebuild/utils/video_source/VideoPlayer.cpp
+++ b/src_rebuild/utils/video_source/VideoPlayer.cpp
@@ -604,14 +604,14 @@ void DoPlayFMV(RENDER_ARG* arg, int subtitles)
                fd /= 10;
 
        char filename[250];
-       sprintf(filename, "%sFMV\\%d\\RENDER%d.STR[0].AVI", gDataFolder, fd, arg->render);
+       sprintf(filename, "%sFMV/%d/RENDER%d.STR[0].avi", gDataFolder, fd, arg->render);
 
        ReadAVI readAVI(filename);
        
        // also load subtitle file
        if (subtitles)
        {
-               sprintf(filename, "%sFMV\\%d\\RENDER%d.SBN", gDataFolder, fd, arg->render);
+               sprintf(filename, "%sFMV/%d/RENDER%d.SBN", gDataFolder, fd, arg->render);
                InitSubtitles(filename);
        }
        else
@@ -621,7 +621,7 @@ void DoPlayFMV(RENDER_ARG* arg, int subtitles)
 
        if(arg->credits)
        {
-               sprintf(filename, "%sDATA\\CREDITS.ENG", gDataFolder);
+               sprintf(filename, "%sDATA/CREDITS.ENG", gDataFolder);
                InitCredits(filename);
        }
 
GustyGhost Nov 17, 2020
Quoting: DuncOoh, I've a lot of fond memories of this. In fact, it's one of the few 20-ish-year-old games I do have any genuine nostalgia for, because I didn't play most of the big names until much later.* It was the first game where I felt like I was really travelling the world. I'm sure the depictions of the real-world cities weren't remotely accurate, but they were closer than we'd ever seen before.

My first experience with this feeling of travel sits squarely with GTA: San Andreas. The only one after that perhaps was years later with Minecraft. If only the San Andreas Multiplayer project were an engine reimplementation, I would have built and run it already.
14 Nov 22, 2020
View PC info
  • Supporter Plus
I played Driver 1-3 and was a big fan! Man, those police chases.... I would like to try this out on Linux.

A friend of mine has one of the Driver games on one of those tiny game emulator boards. It's just the demo though and it didn't run very well on the little SBC.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.