A customizable, cross platform, open-source falling block game, packed with a bunch of features.
Features:
- Ghost piece support
- Hold piece support
- Customizable next pieces support
- Customizable DAS support
- SRS, TGM and Classic rotation
- Full wall- and floor kick support
- 7-piece bag random generator
- Classic, Extended and Infinity lock support
- Sonic drop and Zangi-move support
- T-Spin and Mini T-Spin support
- Combo support
- Battle mode, Sprint and Ultra
- Proper menu, configuration and stats
- Gamepad support
- Music and sound effects
- Big screen, small screen support
- Runs on most desktop systems
- Runs on embedded Linux, even without X11
- Runs in browsers (experimental)
- Theme support
See the Releases page to download the latest version.
On Debian/*buntu, you can also install the game from a PPA:
sudo add-apt-repository https://dl.bintray.com/mmatyas/deb
sudo apt-get update
sudo apt-get install openblok
- CMake (at least 3.1)
- C++11 supporting compiler (GCC 4.9 or better)
- SDL2, SDL2_image, SDL2_mixer, SDL2_ttf
- optional: gcov, lcov (for generating test coverage report)
Eg. on Debian: sudo apt install cmake libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev
or on Fedora/RPM: sudo dnf install cmake SDL2-devel SDL2_image-devel SDL2_mixer-devel SDL2_ttf-devel
mkdir build && cd build
cmake ..
make
./src/openblok --data ../data
Optional build parameters:
ENABLE_MP3
,ENABLE_MOD
,ENABLE_FLAC
,ENABLE_JPG
: Enable/disable loading certain media formats. Default: MP3 and JPGON
, MOD and FLACOFF
CMAKE_BUILD_TYPE
: To create an optimized release build, set this toRelease
. To create a debug build, set this value toDebug
. See the CMake documentation. Default:Release
.INSTALL_PORTABLE
: The game needs to know where it can find the data files. By default, the game is searching for them in the absolute path of the installation location, which is usually/usr/local/share/openblok
orC:\Program Files\openblok
. By settingINSTALL_PORTABLE
toON
, the game will search for the files in the same directory as the binary. Default:OFF
on Linux,ON
on Windows.CMAKE_INSTALL_PREFIX
: The base directory of the installation step (eg.make install
). Defaults to/usr/local
orC:\Program Files
. See the CMake documentation.BUILD_TESTS
: Builds the test suite. You can run them by calling./build/tests/openblok_test
. Debug build only, default:ON
.BUILD_COVERAGE
: Allows building the test coverage report. RequiresBUILD_TESTS
andgcov
/lcov
. Default:OFF
.
Useful build targets
make coverage
: Builds the test coverage reportmake install/strip
: Installs the game on your systemmake package
: Createstar.gz
and Debiandeb
packages
Runtime arguments
You can change certain game parameters, eg. the location of the data directory. Run the game with the --help
flag to see the available options.
Hardware acceleration on ARM Linux
Using the default SDL2 library shipped with Debian/Raspian, hardware acceleration may not work properly, causing slowness and ugly graphics. For the best performance, it is recommended to build your own SDL2, as described here. With hardware acceleration, OpenBlok runs full speed even on a first-gen Raspberry Pi.