Giter Club home page Giter Club logo

openblok's Introduction

OpenBlok

Linux/OSX build status Windows build status Coverity Scan Build Status

A customizable, cross platform, open-source falling block game, packed with a bunch of features.

Screenshot

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

Download

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

Dependencies

  • 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

Build

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 JPG ON, MOD and FLAC OFF
  • CMAKE_BUILD_TYPE: To create an optimized release build, set this to Release. To create a debug build, set this value to Debug. 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 or C:\Program Files\openblok. By setting INSTALL_PORTABLE to ON, 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 or C:\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. Requires BUILD_TESTS and gcov/lcov. Default: OFF.

Useful build targets

  • make coverage: Builds the test coverage report
  • make install/strip: Installs the game on your system
  • make package: Creates tar.gz and Debian deb packages

Notes

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.

openblok's People

Contributors

mmatyas avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.