Skip to content

Clone of old arcade game named Battle City / Tank 1990 written using Allegro game programming library.

License

Notifications You must be signed in to change notification settings

przemek83/tankble

Repository files navigation

CodeQL

Table of content

Example screenshot

Alt text

Description

Clone of old arcade game named Battle City / Tank 1990 based on very old group project from studies. 15 years after the original version, I've decided to heavily revamp, modernize, apply new ideas and publish it as open source. The effects can be observed in this repository.

Remark: For creation of bitmaps I've used all my graphics designing skills which are somewhat close to none ;)

Used tools and libs

Tool Windows Lubuntu
OS version 10 22H2 22.04
GCC 8.1.0 9.5.0
CMake 3.25.0 3.25.0
Git 2.38.1 2.34.1
Qt Creator 9.0.0 9.0.0
Allegro 5.2.6.0 5.2.6.0
Catch2 3.3.0 3.3.0
VS Code 1.73.1 -

Compilation and installation

Use directly CMake or any IDE supporting CMake project. CMake should:

  • configure everything automatically,
  • download dependencies using Git (Allegro, Catch2),
  • build dependencies,
  • compile Tankble and link binaries.

This is of course a happy path...

TIPS: on Linux, you might need to install libxcursor-dev to be able to use Allegro library.

Licensing

Tankble is published under MIT license.

The project uses the following software and licenses:

Testing

  1. Compile project.
  2. Run target named tankble-test.
  3. Check output. All tests should have status passed.

Tests are done using Catch2 test framework.

Potential further improvements

Ideas:

  • Add sounds and some music in menu.
  • Add points received during gameplay.
  • Use more sophisticated font than basic built in one from Allegro library.
  • Divide Game class and add tests for gathered within logic.
  • Implement proper mechanism for dropping frames in cases of CPU spikes and performance lags.

Screenshots

Alt text

Alt text

Alt text

Alt text

Alt text

Alt text