This project is C++ Platform for competition between AI bots written in any supported language.
Client will communicate with platform with platform via sockets.
Currently we have moving & shooting tank, background with customly generated roads. No network yet, no collisions yet.
simplescreenrecorder-2021-11-15_09.57.11.mp4
To compile the project you should have compiler that supports C++20 & cmake. You have to remember about two things:
- Graphical files are stored in git-lfs
- Package manager is stored as github submodule
- Dependencies are installed via vcpkg
So, before you start, you must first download checkout git-lfs (https://git-lfs.github.com/)
> git lfs install
> git lfs pull
In case you already run git lfs install
before cloning the repo, pull
is not needed
To download submodules, run:
> git submodule init
> git submodule update
Next step is to install all dependencies with vcpkg
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install
.\vcpkg\bootstrap-vcpkg.bat
.\vcpkg\vcpkg install
mkdir build
cd build
cmake ..
make
We need help! If you have time & want to help - take a look at "Issues".
Please keep in mind that:
- All PRs should contain tests.
- To format the code, please use clang-format (configuration file is attached to the repo)
- Naming convention must be kept consistent:
- class/struct/enum names: PascalCase
- class members: mCamelCase
- class methods: snake_case
- free functions: snake_case
- function parameters: snake_case
- local variables: snake_case
- global constants: UPPER_SNAKE_CASE