juzzlin / DustRacing2D

Dust Racing 2D is a traditional top-down car racing game including a level editor.
http://juzzlin.github.io/DustRacing2D/index.html
GNU General Public License v3.0
301 stars 67 forks source link
c-plus-plus car cplusplus-14 game level-editor linux-app opengl physics qt qt-game race-track racing top-down windows-app

Dust Racing 2D

Video of the game

Dust Racing 2D (Dustrac) is a tile-based, cross-platform 2D racing game written in Qt (C++) and OpenGL.

Dust Racing 2D comes with a Qt-based level editor for easy level creation. A separate engine, MiniCore, is used for physics modeling.

Features

License

Dust Racing 2D source code is licensed under GNU GPLv3. See COPYING for the complete license text.

Dust Racing 2D includes the source code for the GLEW library. See src/game/MiniCore/Graphics/glew/glew.h for the license text.

Dust Racing 2D includes the source code for the GLM library. See src/game/MiniCore/Graphics/glm/ogl-math/glm/glm.hpp for the license text.

All image files, except where otherwise noted, are licensed under CC BY-SA 3.0: http://creativecommons.org/licenses/by-sa/3.0/

Playing

Controls

The default controls for player one (the pink race car):

Accelerate Brake Turn left Turn right
Up Down Left Right

The default controls for player two (the grey race car):

Accelerate Brake Turn left Turn right
W S A D

The key configuration and game mode can be changed in the settings menu.

ESC or Q exits the race and also the current menu.

P pauses the game.

Races

In the race modes there are always 12 cars. By finishing in TOP-6 a new track will be unlocked.

The record times and best positions are stored separately for each lap count.

Pit stops

Your tires will wear out as the race progresses. This causes more and more sliding.

Fortunately there's a pit (the yellow rectangle). By stopping on the pit your tires will be repaired.

Custom track files

Dust Racing 2D searches for race tracks in ~/DustRacingTracks/ where you can place your own race tracks.

On Linux/Unix also $XDG_DATA_HOME/DustRacing2D/tracks is added to search paths, or $HOME/.local/share/DustRacing2D/tracks if $XDG_DATA_HOME is not defined.

Command line options

--lang [lang] forces the language. Currently available: fi, cs, de, it, fr, nl, tr.

E.g. dustrac-game --lang it

--screen [index] forces the screen on multi-display setups when in fullscreen mode.

E.g. dustrac-game --screen 1 would start the game on the second display.

Building the project

Please refer to the INSTALL document for build/install instructions if you're going to build Dust Racing 2D from sources.

In a nutshell, on Linux after installing Qt5, OpenAL and Vorbis dev libs you just:

$ mkdir build && cd build

$ cmake ..

$ make

..or open the top-level CMakeLists.txt in Qt Creator or other IDE that supports CMake.