Open-source roguelike made with libtcod and written in C++
Just a personal project of mine, the basic idea being: what if you could never get hit in a roguelike?
Take a look at CONTRIBUTING.md for some contribution guidelines and (if you care) code style.
Depends on: libtcod
, SDL2
, and SDL2_image
You need git
or some other way of getting the source code; in order to follow along with the instructions below run open a console and run these commands:
git clone --recurse-submodules https://github.com/afyber/cursed-game.git
cd cursed-game
Which will download the source code into the cursed-game
directory and move into it.
Requires: Visual Studio
with CMake
(recommended), or CMake
and a build system
- To setup the vcpkg submodule run
.\vcpkg\bootstrap-vcpkg.bat
Alternatively, to use your own installation of vcpkg you can specify it with the-DCMAKE_TOOLCHAIN_FILE=path\to\vcpkg\scripts\buildsystems\vcpkg.cmake
option on your CMake command in the next step or setting theCMAKE_TOOLCHAIN_FILE
variable. - Use CMake to generate the build configuration either by opening
cursed-game
in Visual Studio or by creating abuild\
directory and runningcmake ..
in thebuild\
subdirectory. Unless you specified a different installation this command will attempt to use the vcpkg submodule to find the dependencies. - Build the project using Visual Studio or the build system you specified for CMake, which will copile the executable
cursed-game.exe
. - (Optional) Run the install configuration, which will put the files needed to run the game into the installation folder (Which for Visual Studio is
cursed-game\out\install\{platform}\
).
Requires: CMake
and a build system of your choice
- To setup the vcpkg submodule run
./vcpkg/bootstrap-vcpkg.sh
- Create a new folder with
mkdir build
, then runcmake ..
in thebuild/
directory to generate the build configuration. - Build the project using the build system of your choice (e.g. run
make
), which will compile the executablecursed-game
. - (Optional) Run the install configuration, which will put everything the game needs to run in
/usr/local/
(Sometimes? Where the files go isn't fully consistent).