Skip to content

blockattack/blockattack-game

Repository files navigation

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

Screenshot

Block Attack - Rise of the Blocks

Supported OS

Linux

Recent Linux version. Target is all current Ubuntu Desktop LTS versions (up to 5 years).

Windows

Target is all officially supported versions of Windows for x86-64 that allow manually installed software. Currently Windows 10+.

Dependencies

  • A version of g++ with C++17 support. Tested on g++-11
  • 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 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

Since getting a C++ project with many dependencies to compile can be a daunting task, 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.WindowsBuild . -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

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors