Komodo Gaming Software Development Kit
.. role:: raw-html-m2r(raw) :format: html
Antara Gaming Software Development Kit
Below is the list of prerequisites to use the antara-gaming-sdk
on your machine:
CMake <https://cmake.org/download/>
_ 3.14 minimumThese 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:
.. code-block:: bash
mkdir build ## bash or powershell cd build ## bash or powershell
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
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=path_to_clang++ -DCMAKE_C_COMPILER=path_to_clang ../
cmake --build . --config Debug
There are also additional options with the CMake that allows to activate certain features of the SDK:
.. role:: raw-html(raw) :format: html
.. list-table:: CMake Options :header-rows: 1 :align: center
USE_SFML_ANTARA_WRAPPER
-DUSE_SFML_ANTARA_WRAPPER=ON
USE_IMGUI_ANTARA_WRAPPER
-DUSE_IMGUI_ANTARA_WRAPPER=ON
ENABLE_BLOCKCHAIN_MODULES
-DENABLE_BLOCKCHAIN_MODULES=ON
ANTARA_BUILD_DOCS
-DANTARA_BUILD_DOCS=ON
USE_LUA_ANTARA_WRAPPER
-DUSE_LUA_ANTARA_WRAPPER=ON
USE_ASAN
-DUSE_ASAN=ON
USE_TSAN
and USE_UBSAN
USE_UBSAN
-DUSE_UBSAN=ON
USE_TSAN
and USE_ASAN
USE_TSAN
-DUSE_TSAN=ON
USE_UBSAN
and USE_ASAN
BUILD_WITH_APPIMAGE
-DBUILD_WITH_APPIMAGE=ON
Linux
.ENABLE_HTML_COMPILATION
-DENABLE_HTML_COMPILATION=ON
Emscripten
.COVERAGE_CLION_TOOLS
-DCOVERAGE_CLION_TOOLS=ON
ENABLE_COVERAGE
ANTARA_BUILD_EXAMPLES
-DANTARA_BUILD_EXAMPLES=ON
USE_SFML_ANTARA_WRAPPER
+ ANTARA_BUILD_EXAMPLES
ANTARA_BUILD_UNIT_TESTS
-DANTARA_BUILD_UNIT_TESTS=ON
USE_LUA_ANTARA_WRAPPER
+ ANTARA_BUILD_UNIT_TESTS
USE_BOX2D_ANTARA_WRAPPER
-DUSE_BOX2D_ANTARA_WRAPPER=ON
ENABLE_COVERAGE
-DENABLE_COVERAGE=ON
Installing ^^^^^^^^^^
You do not need to install the gaming sdk, just use the CMake fetch_content command to use the project
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
:construction:
doctest <https://github.com/onqtam/doctest>
_ - The fastest feature-rich C++11/14/17/20 single-header testing framework for unit tests and TDD http://bit.ly/doctest-docs (MIT)doom-st <https://github.com/doom/strong_type>
_ - C++ implementation of strong types (MIT)doom-meta <https://github.com/doom/meta>
_ - Just a few metaprogramming utilities in C++ (MIT)loguru <https://github.com/emilk/loguru>
_ - A lightweight C++ logging library (Public Domain)fmt <https://github.com/fmtlib/fmt>
_ - A modern formatting library https://fmt.dev (MIT)nlohmann-json <https://github.com/nlohmann/json>
_ - JSON for Modern C++ https://nlohmann.github.io/json/ (MIT)EnTT <https://github.com/skypjack/entt>
_ - Gaming meets modern C++ - a fast and reliable entity-component system (ECS). (MIT)refl-cpp <https://github.com/veselink1/refl-cpp>
_ - A compile-time reflection library for modern C++ 🔥 (MIT)range-v3 <https://github.com/ericniebler/range-v3>
_ - Range library for C++14/17/20, basis for C++20's std::ranges (Boost Software License)expected <https://github.com/TartanLlama/expected>
_ - C++11/14/17 std::expected with functional-style extensions https://tl.tartanllama.xyz (CC0 1.0 Universal)ImGui <https://github.com/ocornut/imgui>
_ - Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies (MIT)ImGui-SFML <https://github.com/eliasdaler/imgui-sfml>
_ - ImGui binding for use with SFML (MIT)SFML <https://github.com/SFML/SFML>
_ - Simple and Fast Multimedia Library http://www.sfml-dev.org/
reproc <https://github.com/DaanDeMeyer/reproc>
_ - Cross-platform (C99/C++11) process library (MIT)lua <https://github.com/lua/lua>
_ - The Lua repo, as seen by the Lua team. (MIT)sol2 <https://github.com/ThePhD/sol2>
_ - Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation: http://sol2.rtfd.io/ (MIT)restclient-cpp <https://github.com/mrtazz/restclient-cpp>
_ - C++ client for making HTTP/REST requests http://code.mrtazz.com/restclient-cpp/ (MIT)box2D <https://github.com/erincatto/Box2D>
_ - Box2D is a 2D physics engine for games http://box2d.org (ZLib)Before any contribution please read our CODE OF CONDUCT <./CODE-OF-CONDUCT.md>
_.
Please read CONTRIBUTING.md <./CONTRIBUTING.md>
_\ , contain the process for submitting pull requests to us.
We use SemVer <http://semver.org/>
_ for versioning. For the versions available, see the tags on this repository <https://github.com/KomodoPlatform/antara-gaming-sdk/tags>
_.
Milerius <https://github.com/Milerius>
_naezith <https://github.com/Naezith>
_See also the list of contributors <./CONTRIBUTORS.md>
_ who participated in this project.
Please read CONTRIBUTORS.md <./CONTRIBUTORS.md>
_\ , contains the list of contributors.
onqtam <https://github.com/onqtam>
_ for the awesome doctest
framework.skypjack <https://github.com/skypjack>
_ for the awesome EnTT
framework and his help... image:: docs/assets/gallery/wolf.gif :align: center .. image:: docs/assets/gallery/wolf-ig2.png .. image:: docs/assets/gallery/flappy.png .. image:: docs/assets/gallery/flappy-bird.gif :align: center .. image:: docs/assets/gallery/tictactoe-gif.gif :align: center .. image:: docs/assets/gallery/tictactoe-x-win.png
.. list-table:: :header-rows: 1 :align: left
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png" /></a>
\ :raw-html-m2r:<br />
\ This work is licensed under a :raw-html-m2r:<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/">Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License</a>
. Our team is working on a more open license.