All Projects → KomodoPlatform → Antara Gaming Sdk

KomodoPlatform / Antara Gaming Sdk

Licence: other
Komodo Gaming Software Development Kit

Projects that are alternatives of or similar to Antara Gaming Sdk

Boomerang
Boomerang Decompiler - Fighting the code-rot :)
Stars: ✭ 265 (+419.61%)
Mutual labels:  cmake, clang
Obengine
2D Game Engine with Lua Scripting made on top of SFML !
Stars: ✭ 335 (+556.86%)
Mutual labels:  cmake, game-development
Libplanet
Blockchain core in C#/.NET for persistent peer-to-peer online games
Stars: ✭ 293 (+474.51%)
Mutual labels:  blockchain, game-development
Cx
Stars: ✭ 121 (+137.25%)
Mutual labels:  blockchain, game-development
Easyclangcomplete
💥 Robust C/C++ code completion for Sublime Text 3
Stars: ✭ 537 (+952.94%)
Mutual labels:  cmake, clang
Node
Credits Node is the main module that provide an opportunity to run a node and participate in CREDITS blockchain network.
Stars: ✭ 147 (+188.24%)
Mutual labels:  blockchain, cmake
Ultralight
Next-generation HTML renderer for apps and games
Stars: ✭ 3,585 (+6929.41%)
Mutual labels:  cmake, game-development
Astera
A C99 Cross Platform 2D Game Library
Stars: ✭ 193 (+278.43%)
Mutual labels:  cmake, game-development
Cmake Examples
Useful CMake Examples
Stars: ✭ 7,220 (+14056.86%)
Mutual labels:  cmake, clang
Tprpix
a Cross-Platform, 2D Survival Sandbox Game Project. Based on C++17/cmake/OpenGL/SQLite3.
Stars: ✭ 448 (+778.43%)
Mutual labels:  cmake, clang
Directx Vs Templates
Direct3D Visual Studio Templates
Stars: ✭ 205 (+301.96%)
Mutual labels:  cmake, clang
Cmake Ide
Use Emacs as a C/C++ IDE
Stars: ✭ 661 (+1196.08%)
Mutual labels:  cmake, clang
Cmake Scripts
A selection of useful scripts for use in CMake projects, include code coverage, sanitizers, and dependency graph generation.
Stars: ✭ 202 (+296.08%)
Mutual labels:  cmake, clang
CSwift
C Module for Swift, Swift Script and Dynamic Library Call;Swift中直接调用C语言源程序的展示程序
Stars: ✭ 46 (-9.8%)
Mutual labels:  module, clang
Fixed point
C++ Binary Fixed-Point Arithmetic
Stars: ✭ 199 (+290.2%)
Mutual labels:  cmake, clang
Nest.land
🦕 The nest.land website
Stars: ✭ 294 (+476.47%)
Mutual labels:  blockchain, module
Hge
HGE 1.9 configured with CMake DirectX9 version, with shaders. The classic 1.8.1. version is in the `master` branch if you ever need that.
Stars: ✭ 185 (+262.75%)
Mutual labels:  cmake, game-development
Methanekit
🎲 Modern 3D graphics made simple with cross-platform C++17 meta-API on top of DirectX 12 & Metal (Vulkan is coming)
Stars: ✭ 197 (+286.27%)
Mutual labels:  cmake, game-development
Ark
ARK is a lightweight, agility, elastic, distributed plugin framework written in C++,make it easier and faster to create your own application service.
Stars: ✭ 370 (+625.49%)
Mutual labels:  cmake, game-development
Monero
Monero: the secure, private, untraceable cryptocurrency
Stars: ✭ 6,503 (+12650.98%)
Mutual labels:  blockchain, cmake

.. role:: raw-html-m2r(raw) :format: html

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 <https://cmake.org/download/>_ 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:

.. code-block:: bash

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:

.. role:: raw-html(raw) :format: html

.. list-table:: CMake Options :header-rows: 1 :align: center

    • 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

🚧

Built With

  • 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)
  • (optional)\ ImGui <https://github.com/ocornut/imgui>_ - Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies (MIT)
  • (optional)\ ImGui-SFML <https://github.com/eliasdaler/imgui-sfml>_ - ImGui binding for use with SFML (MIT)
  • (optional)\ SFML <https://github.com/SFML/SFML>_ - Simple and Fast Multimedia Library http://www.sfml-dev.org/
  • (optional)\ reproc <https://github.com/DaanDeMeyer/reproc>_ - Cross-platform (C99/C++11) process library (MIT)
  • (optional)\ lua <https://github.com/lua/lua>_ - The Lua repo, as seen by the Lua team. (MIT)
  • (optional)\ 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)
  • (optional)\ restclient-cpp <https://github.com/mrtazz/restclient-cpp>_ - C++ client for making HTTP/REST requests http://code.mrtazz.com/restclient-cpp/ (MIT)
  • (optional)\ box2D <https://github.com/erincatto/Box2D>_ - Box2D is a 2D physics engine for games http://box2d.org (ZLib)

Code of Conduct

Before any contribution please read our CODE OF CONDUCT <./CODE-OF-CONDUCT.md>_.

Contributing

Please read CONTRIBUTING.md <./CONTRIBUTING.md>_\ , contain the process for submitting pull requests to us.

Versioning

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>_.

Authors

  • Roman Sztergbaum - Co-Creator & Lead Dev - Milerius <https://github.com/Milerius>_
  • Tolga Ay - Co-Creator - naezith <https://github.com/Naezith>_

See also the list of contributors <./CONTRIBUTORS.md>_ who participated in this project.

Contributors

Please read CONTRIBUTORS.md <./CONTRIBUTORS.md>_\ , contains the list of contributors.

Acknowledgments

  • Viktor Kirilov onqtam <https://github.com/onqtam>_ for the awesome doctest framework.
  • Michele Caini skypjack <https://github.com/skypjack>_ for the awesome EnTT framework and his help.

Gallery

.. 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

Badges

.. list-table:: :header-rows: 1 :align: left

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].