- Example screenshot
- Description
- Used tools and libs
- Compilation and installation
- Licensing
- Testing
- Potential further improvements
- Screenshots
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 ;)
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 | - |
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.
Tankble is published under MIT license.
The project uses the following software and licenses:
- Allegro - The giftware license (more on https://liballeg.org and https://github.com/liballeg/allegro5),
- Catch2 - Boost Software License 1.0 (more on https://github.com/catchorg/Catch2).
- Compile project.
- Run target named
tankble-test
. - Check output. All tests should have status
passed
.
Tests are done using Catch2 test framework.
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.