Mailaender / blockattack-game

Block Attack - Rise of the Blocks - the game

Home Page:https://blockattack.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

blockattack-game Build status Codacy Badge license

Block Attack - Rise of the Blocks - the game
A Tetris Attack Clone under the GPL.

Homepage: https://blockattack.net
Source: https://github.com/blockattack/blockattack-game

Screen shot

Block Attack - Rise of the Blocks

Dependencies

  • A version of g++ with C++11 support. Tested on g++-4.9
  • libSDL2
  • libSDL2_image
  • libSDL2_mixer
  • libSDL2_ttf
  • libphysfs
  • libfmt
  • libboost (only needed for compiling)
  • libboost-program-options

Building

The only supported build method is using the CMake
To build do:

./packdata.sh
cmake .
# or
# cmake -DCMAKE_BUILD_TYPE=Debug .
# or
# cmake -DCMAKE_BUILD_TYPE=Release .
make

The result should be in the "Game"-folder. To run

./Game/blockattack

You can also choose to install it with

sudo make install

Windows build uses MXE (mxe.cc) and Docker. See "Building with Docker".

Building using Docker

As getting a C++ project with many dependencies to compile can be a daunting task then I have provided a couple of Docker images that can perform a build. Both for Windows and Linux.

The project should at all time be able to compile on the oldest and latest supported version of Ubuntu. This is tested with Docker.

On a fresh checkout you can use:

docker build -f source/misc/docker/Dockerfile.Ubuntu18.04build . -t blockattack_test

and

docker build -f source/misc/docker/Dockerfile.WindoesBuild . -t blockattack_test

Source Structure

This project is a bit unconventional because I didn't know any better at the time.

  • Game - The output is placed here
  • man - The manual file and the script to generate it. May be moved to source/misc at some point
  • source/code/ - The source code
  • source/code/Libs - External libs that are compiled into the project because they are either header only (Cereal) or not designed for use as a shared library.
  • source/code/sago - Source code. Not designed to be specific to Block Attack - Rise of the Blocks
  • source/assets - Source for the assets if relevant. For instance svg source for the graphics.
  • source/misc - Misc stuff. Code related tool that are used for development but not part of the final product.
  • source/misc/astyle - Helper script that enforces code style using the "astyle"-program
  • source/misc/docker - Docker files used by Travis CI (but can just as well be used for local testing and release builds)
  • source/misc/embedded_libs - Contains dependencies not present on all supported systems
  • source/misc/icons - Icons for the installer
  • source/misc/screenshots - Screen shots like the one in this README file.
  • source/misc/translation - Translations and related tools and scripts
  • windows installer - Information needed to Windows installer. May be moved to source/misc at some point

Reporting bugs

Please report bugs on github: https://github.com/blockattack/blockattack-game/issues If possible: Check if the bug is already fixed in master. But if you don't know how to check it then just report it.

Contributions

Contributions are welcome. See CONTRIBUTING.md for details.

About

Block Attack - Rise of the Blocks - the game

https://blockattack.net

License:GNU General Public License v2.0


Languages

Language:C++ 90.5%Language:Less 5.5%Language:Python 1.6%Language:CMake 1.5%Language:NSIS 0.3%Language:Shell 0.3%Language:HTML 0.2%Language:C 0.1%Language:Cuda 0.0%Language:Starlark 0.0%Language:Makefile 0.0%