Walls of Doom is a minimalistic platformer written in ANSI C using SDL 2.
The game should work under Windows, Linux, and everything that SDL 2 supports.
See the GitHub issue tracker and have a look at the releases page.
Because of old decisions, the game is resolution-dependent. You can tweak the settings file to change the window size.
This build servers uses Ubuntu 14.04.3 64-bit, and builds with the following configurations:
Clang 3.5.0
SDL2 2.0.2
SDL2_ttf 2.0.12
SDL2_image 2.0.0
GCC 4.8.4
SDL2 2.0.2
SDL2_ttf 2.0.12
SDL2_image 2.0.0
This build server uses Ubuntu 14.04 64-bit and builds with the following configuration:
GCC 4.8.4
SDL2 2.0.2
SDL2_ttf 2.0.12
SDL2_image 2.0.0
This build servers builds under Windows using Visual Studio 2015 for Visual Studio 2010, which is required for Windows XP compatibility.
SDL2 2.0.4
SDL2_ttf 2.0.14
SDL2_image 2.0.1
Because software rendering is supported, a graphics card is not required.
The game needs less than 10 MiB of free memory to run.
Windows is fully supported and self-contained binaries are provided.
- Windows XP or later is required.
- The C++ redistributables provided by Microsoft are required.
The game works on any Linux or BSD OS with a desktop environment.
OS X and macOS support is unknown. See the relevant issue.
You need an installation of CMake in order to build the project.
The following C compilers are known to work perfectly with the project:
- GCC 4.8.4 (or newer)
- Clang 3.7 (or newer)
Older versions of the abovementioned compilers are very likely to work too.
You will need SDL 2, with the TrueType and Image libraries.
$ mkdir build
$ cd build
$ cmake ..
$ make
You can pass
-DENV32=1
to CMake to get a 32-bit build on a 64-bit system.Note that to build the 32-bit version, you need 32-bit versions of all the dependencies.
You can pass
-DSANITIZE=1
to CMake to get the LLVM undefined behavior sanitizer.
It is suggested that you pass -DCMAKE_BUILD_TYPE="Release"
to CMake if you want a build to play the game, as it will generate more optimized code.
$ bash build/walls-of-doom/start-walls-of-doom.sh
$ bash scripts/test.sh
The coding style (LLVM style, but for C) is enforced by LLVM tools.
$ bash scripts/llvm/reformat.sh
$ bash scripts/llvm/analyze.sh
- Main header
- Walls of Doom headers
- SDL 2 headers
- System headers
This include order should be respected in all source files.
It is licensed under the BSD 3-Clause license. See LICENSE.txt for more information.