This is open source Grand Theft Auto 1 remake project.
Currently it is in very early stage, a progress so far: https://youtu.be/KnqaO0YZzZY
At the moment, makefile configured so project will build with clang compiler.
Before build project make sure to install dependencies:
- apt install libglew-dev libglm-dev libgl1-mesa-dev xorg-dev clang
- apt-get install libopenal-dev
Run these commands in terminal:
- git clone --recurse-submodules https://github.com/codenamecpp/carnage3d
- cd carnage3d
- make
You will need Visual Studio 2015 to build the project. Before compile, add system environment variable SDKDIR with path where all the dependencies lives. These dependencies are:
- GLEW
- GLM
- OpenAL-Soft
Game needs to be configured before launch, there is example config document in gamedata/config/sys_config.json.default - it must be copy-pasted to same directory but withoud ".default" suffix: gamedata/config/sys_config.json .
Most important param there is gta_gamedata_location - it is location of GTA1 gamedata resources.
Original GTA1 game resources required in order to play (Full or DEMO). Demo version still available for download https://www.rockstargames.com/gta/extras/demos.html .
It is possible to download and play demo version of the game easily just typing a few commands in console:
- make get_demoversion
- make run_demoversion
Note that game must be compiled and configured before this step as described above.
Tested on Ubuntu Linux, Windows 7, Windows 10.
- To select specific level to play you can add command line argument -mapname, for example: -mapname SANB.CMP
- To specify the game data location add argument -gtadata followed by path
- To enable split screen mode add -numplayers, for example -numplayers 2, max 4 players is supported
It is similar to original:
- Arrow keys to walk/drive in directions
- Space to slide on car
- Enter to enter or exit car
- Tab to enable or disable car emergency lights (if it present)
- Z, X to change current weapon and Ctrl to shoot
When in "Free Look" camera mode, moving with W, S, A, D keys.
In addition there is support of xbox-compatible gamepads. To enable it or change default key bindings create config file gamedata/config/inputs.json (copy-paste template inputs.json.default) and modify it as you wish.