Duel 6 Reloaded
About this project
Duel 6 Reloaded is a cross-platform open-source last-man-standing 2D multi-player game. The game currently supports up to 10 players that can compete in 26 arenas. The arenas consist of solid blocks, moving platforms and water sections. Players are able to move through the environment using walking, jumping and crouching and use weapons to eliminate their oponents. There is a diverse set of 12 available weapons that differ in shot and reload speed, shot power and splash damage. In addition players can pick up various bonuses to boost their stamina and other characteristics. The number of rounds can be specified and the game collects player statistics during the gameplay such as number of wins, kills or accuracy. There are negative points for comitting suicide and drowning that discourage players from performing kamikaze attacks. The game features customizable player profiles and level editor.
- Windows (version 4.3.0, stable)
- Windows (nightly)
- Linux (version 4.0.1, stable) (libSDL2 and libSD2_mixer packages required)
- Linux (nightly) (libSDL2 and libSD2_mixer packages required)
The very first version of the game has been developed in 2002 by myself as a sequel to Duel 5 which was popular 2D deathmatch game published in a Czech computer magazine Level. Since then the game code has been continually improved and later open-sourced under the BSD license.
The game is written using the following technologies:
- C++ with C++11 and C++14 features slowly making it into the sources
- SDL 2
- OpenGL (currently the game is built on top of a very legacy OpenGL version 1)
There is a builtin quake-style console that can be used to modify game aspects at runtime.
The game has been tested on the following platforms:
- MS Windows with Visual Studio 2013 and MinGW 64 compilers
- Linux with GCC 4.9 compiler
- Mac OS X with LLVM/Clang compiler
The game offers several customization options
Each player has its own set of skin colors and sounds for various game situations. These can be configured through JSON files located in player directory.
Levels are saved in JSON format and there is an HTML5 level editor available in my GitHub repository that can be used to create new levels and modify the existing ones.