Skip to content

KomodoPlatform/antara-gaming-sdk

Repository files navigation

antara-gaming-sdk

Antara Gaming Software Development Kit

Prerequisites

Below is the list of prerequisites to use the antara-gaming-sdk on your machine:

  • CMake 3.14 minimum
  • clang-8 minimum (Windows/Linux/Osx) (clang and clang-cl both supported on Windows)
  • Optional emscripten latest (Web)
  • Optional Visual Studio 2019
  • Optional Clang VS Toolset (installable through visual studio installer)

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

See deployment for notes on how to deploy the project on a live system.

Build

To build the project please follow the instructions below:

mkdir build ## bash or powershell
cd build ## bash or powershell

## Release or Debug are available
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=your_path_to_your_clang++ ../ #Linux / Osx
cmake -DCMAKE_BUILD_TYPE=Debug -G "Visual Studio 16 2019" -A x64 -T "ClangCl" -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" ../ #Windows

## We can even use Ninja for Windows / Linux / OSX
## On Windows you may want to open x64 Visual Studio Terminal Prompt for using Ninja
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=path_to_clang++ -DCMAKE_C_COMPILER=path_to_clang ../

## Build (Debug / Release available)
cmake --build . --config Debug

There are also additional options with the CMake that allows to activate certain features of the SDK:

CMake Options
Name Description How to enable it Notes
USE_SFML_ANTARA_WRAPPER Enable the SFML module of the SDK -DUSE_SFML_ANTARA_WRAPPER=ON Requires SFML dependencies on Linux
USE_IMGUI_ANTARA_WRAPPER Enable the IMGUI Support for the SDK -DUSE_IMGUI_ANTARA_WRAPPER=ON  
ENABLE_BLOCKCHAIN_MODULES Enable the Blockchain modules for the SDK (need additional dependencies) -DENABLE_BLOCKCHAIN_MODULES=ON  
ANTARA_BUILD_DOCS Enable the build of the documentation for the SDK -DANTARA_BUILD_DOCS=ON Require Sphinx And Doxygen
USE_LUA_ANTARA_WRAPPER Enable the lua module for the SDK -DUSE_LUA_ANTARA_WRAPPER=ON  
USE_ASAN Enable the Address Sanitizer for the Unit tests of the SDK -DUSE_ASAN=ON Cannot be mixed with USE_TSAN and USE_UBSAN
USE_UBSAN Enable the Undefined Behavior Sanitizer for the Unit tests of the SDK -DUSE_UBSAN=ON Cannot be mixed with USE_TSAN and USE_ASAN
USE_TSAN Enable the Undefined Behavior Sanitizer for the Unit tests of the SDK -DUSE_TSAN=ON Cannot be mixed with USE_UBSAN and USE_ASAN
BUILD_WITH_APPIMAGE Enable the AppImage auto-generation on Linux for bundle an executable builded with the SDK -DBUILD_WITH_APPIMAGE=ON Work's only on Linux.
ENABLE_HTML_COMPILATION Enable the HTML Compilation on Emscripten for an executable builded with the SDK -DENABLE_HTML_COMPILATION=ON Work's only on Emscripten.
COVERAGE_CLION_TOOLS Enable the Coverage inside CLion IDE. -DCOVERAGE_CLION_TOOLS=ON Work's only with CLion IDE and Require ENABLE_COVERAGE
ANTARA_BUILD_EXAMPLES Enable the example of the SDK. -DANTARA_BUILD_EXAMPLES=ON Some examples need mix of options such as USE_SFML_ANTARA_WRAPPER + ANTARA_BUILD_EXAMPLES
ANTARA_BUILD_UNIT_TESTS Enable the unit tests of the SDK. -DANTARA_BUILD_UNIT_TESTS=ON Some examples need mix of options such as USE_LUA_ANTARA_WRAPPER + ANTARA_BUILD_UNIT_TESTS
USE_BOX2D_ANTARA_WRAPPER Enable the Box2D modules of the SDK. -DUSE_BOX2D_ANTARA_WRAPPER=ON  
ENABLE_COVERAGE Enable the coverage macros for the SDK. -DENABLE_COVERAGE=ON  

Installing

You do not need to install the gaming sdk, just use the CMake fetch_content command to use the project

Running the tests

Once you have compiled the sdk gaming with the option to enable unit tests.

They are located in the bin/unit_tests (Linux/Osx) or bin/unit_tests/%CMAKE_BUILD_TYPE% (Windows) folder

Deployment

construction:

Built With

Code of Conduct

Before any contribution please read our CODE OF CONDUCT.

Contributing

Please read CONTRIBUTING.md, contain the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Roman Sztergbaum - Co-Creator & Lead Dev - Milerius
  • Tolga Ay - Co-Creator - naezith

See also the list of contributors who participated in this project.

Contributors

Please read CONTRIBUTORS.md, contains the list of contributors.

Acknowledgments

  • Viktor Kirilov onqtam for the awesome doctest framework.
  • Michele Caini skypjack for the awesome EnTT framework and his help.

Gallery

docs/assets/gallery/wolf.gif

docs/assets/gallery/wolf-ig2.png

docs/assets/gallery/flappy.png

docs/assets/gallery/flappy-bird.gif

docs/assets/gallery/tictactoe-gif.gif

docs/assets/gallery/tictactoe-x-win.png

Badges

Apps Badges
Github Actions CI (Windows/Osx/Linux) Build Status
License Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Our team is working on a more open license.
LGTM (Security C++) Alerts Total alerts
LGTM (Security C++) Quality Language grade: C/C++
Issues GitHub issues
Report CI (Linux/Osx/Windows/Emscripten) badge
Coverage (Codecov) codecov
Docs Documentation Status
HitCount HitCount
Line Of Code
Conventional Commit Conventional Commits