Atomic Engine
Atomic Engine is a cross-platform vulkan based 3D Game Engine
Loading...
Searching...
No Matches
START DEVELOPING ATOMIC

Atomic Engine

Repository structure

This repository is devided in 3 main branches :

  • Dev: the dev branch where you put all the "normal" code when it's written (and the documentation is updated)
  • Canary: all code in this branch must have passed all unit tests
  • Master: If code is in there, it's ready for production.
  • Release: This branch is used to create releases and push them to other services if needed

Additionally, you can create your own branches from the dev branch to develop features or fix bugs. Once you are done, you can create a PR to merge your branch into the dev branch.

And very important: DO NOT FORCE PRs!!

Libraries and technologies needed

~We may (or may not) use the Chrono Physics Engine (BSD License) in the near future~

To install these libraries, you can almost always use nuget. To do so, you simply have to right click Solution file > Restore NuGet Packages.

There are 2 exceptions:

  • For Steam Audio, you will need to download the C API here and put it in the packages folder.
  • For the Vulkan SDK, you will need to download it here and install it. Restart your computer and it sould be ready to use

Building

To build the project, you will need Visual Studio 2022 with the following components:

  • Desktop development with C++
  • MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)
  • Windows 11 SDK (10.0.22621.0 minimum)

Aditionally, you will need doxygen to generate the documentation.

Linking issues

In certain cases, you will have to reference some libraries. Here are their locations:

  • GameNetworkingSockets: $(ProjectDir)/packages/GameNetworkingSockets.1.4.1/build/native/include
  • Steam Audio: $(ProjectDir)/packages/steam-audio.4.6.0/steamaudio/include

Standardisation and best practicies

Make sure to read standardisation.md to understand how to write code in this repository.