OpenV2K

An open-source Rust reimplementation of Frontier Developments' V2000, built by reverse engineering the original executable, its data formats and how the retail game behaves. It aims to be the same game, but built on a modern foundation, ditching DirectX 5 for OpenGL.

OpenV2K running V2000's first level: the player's ship flying over a snowy island with pine trees

Download

Latest release: v0.1.0 · SHA256 checksums · All releases

Open source on GitHub · MIT / Apache 2.0

Before you play

You need an original copy of V2000. OpenV2K ships no game data, executables, videos or music. It loads them from your own installation and checks them against the known retail checksums.

Windows

  1. Download and extract the Windows zip.
  2. Run OpenV2K.exe. If its folder doesn't already contain V2000's data, the launcher can either drop the executable into your existing V2000 installation, or install the game and its music from your BIN/CUE or ISO disc image.
  3. Press Play.

Releases aren't code-signed, so Windows SmartScreen may warn you the first time you run it.

Linux

The Linux build has no graphical launcher. Point it at an existing V2000 installation, or install one from your disc image first:

tar -xzf OpenV2K-*-linux-x64.tar.gz && cd OpenV2K-*-linux-x64
./openv2k --data-dir /path/to/V2000            # play an existing installation
./openv2k install --image V2000.bin --destination ~/V2000   # or install from disc
./openv2k --data-dir ~/V2000

SDL2 is built into the binary. Windows is the main platform; the Linux build is newer and less tested.

New to V2000?

P7uen's Games Archaeology

P7uen's V2000 World is the best V2000 resource on the web: controls, enemies, weapons, levels, a full walkthrough, and even a hand-restored version of the publisher's original 1998 website. Start there if you've never played it, or if, like me, you haven't since you were a kid.

The story

V2000 was one of the games I played growing up, and it takes a lot of tinkering to run on a modern PC. What started as pulling a few sprites out of its data files turned into rebuilding the whole thing. Read how it started.