galaxy
Application Programming Library using C++20, with a Data driven design and Test driven development.
galaxy

Windows Documentation Status Code Quality CII Best Practices Apache 2.0 Licensed

Application Programming Library using C++20, with a Data driven design and Test driven development.

galaxy

Supercluster - Application Builder/Editor for Galaxy.

supercluster

Videos on Supercluster

Building

Only supports 64bit systems.

Windows:

You will need to install Visual Studio 2019 16.10 Preview 2, and set the Win-SDK version to 10.0.19041.0 (minimum).

Make sure C++ desktop development, cmake tools, linux development, and game development with C++ are enabled when installing.

git clone --recursive https://github.com/DomRe/galaxy.git galaxy_engine
git submodule update --init --recursive
cd galaxy_engine
cmake -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Release -DGALAXY_BUILD_TESTS=ON -DGALAXY_ENABLE_DOXYGEN=OFF -Bbuild -H.
cd build
msbuild galaxy_engine.sln

OR open galaxy_engine.sln and press F5 to build.

Linux:

Coming soon.

Documentation

See online documentation.

Or generate offline with Doxygen, with ENABLE_DOXYGEN set to ON:

cmake -DGALAXY_ENABLE_DOXYGEN=ON -Bbuild -H.
cd build
make doxygen

Features

  • Uses Modern C++ design principles, built on C++20.
  • Tiled map editor parsing.
  • Modern Core OpenGL renderer.
  • Platform abstraction.
  • Audio streaming.
  • Entity component System.
  • Fast Logging.
  • Physics Engine.
  • Event Dispatcher.
  • JSON support.
  • Lua Scripting.
  • GUI.
  • Development Toolset.
  • Resource Management.
  • Filesystem Management.
  • Application Management.

Tiled Implementation.

  • Supported:
    • Tiled 1.4.3 .json maps.
    • Loading maps from Tiled Worlds.
    • Base64 encoding.
    • zlib compression.
    • gzip compression.
  • Limitations:
    • Only renders right-down maps.
    • Only renders topdown objects.
  • Unsupported:
    • Tiled projects.
    • External Tiled assets.
    • Text objects.
    • Terrain.
    • Wang-Sets.
    • Tile Flipping.

Contributing / Feedback / Issues

Feel free to open an issue for feedback, bug reports, ehancements, issues, etc, and pull requests for contributions. (Don't forget to add yourself to the credits section below.)

Credits