Dymatic Logo

Documentation

Explore the complete documentation on getting setup with Dymatic as well as infomation around all of the engine's core features and systems.

Dymatic is a basic, open source, WIP 3D game engine created using C++. Currently, Microsoft Visual Studio is required to build, and only officially supports Windows. Visit the Dymatic Engine home page to find out more.

Engine Features

  • Real-time 2D and 3D renderer with lighting, volumetrics and animation
  • Extensive and customizable scene building toolset
  • Project management system
  • Entity component system
  • 2D and 3D physics engine
  • Audio engine
  • Asset manager
  • C# script engine
  • Built in source control
  • Visual scripting system
  • Python based editor scripting
  • Application deployment system

Building

Downloading the Repository

Clone this GitHub repository using:

git clone --recursive https://github.com/BenC25/Dymatic.git
If previously cloned non-recursively, clone the necessary submodules using:

git submodule update --init

Dependencies

  1. Run the Setup.bat file inside the scripts directory which will install any necessary submodules. Currently, python is required for these scripts to execute.

  2. If the Vulkan SDK, is not installed, VulaknSDK.exe will be launched via the script and will prompt the user to install the SDK. After installation run Setup.bat again, and if the previous step was successful, this will lead to the Vulkan SDK debug libraries being downloaded and un-zipped automatically.

  3. Submodules are updated automatically.

  4. Registration scripts will run, adding shortcuts, file extensions and ensuring that the Dymatic Editor and Runtime both use a 'High Performance' display setting.

  5. The Win-GenProjects.bat script file will get executed automatically, and will use premake to generate project files and configure them to the specifications of the included lua file.

  6. If any future changes are made to the project setup, use Win-GenProjects.bat to regenerate the project.

Available Tools

Dymatic Engine

The Dymatic Editor, Dymatic's powerful visual toolset for managing and creating assets, designing realistic and engaging 3D worlds, scripting interactive experiences and more.

Dymatic Tools VSIX

Dymatic's custom Visual Studio extension. Provides a toolset allowing for quick and easy debugging of C# scripts during Dymatic runtime in editor, including breakpoints, callstack, variable inspection and more. Introduces multiple C# templates to reduce time spent on boilerplate code.

Rationale

Dymatic Engine is a personal project developed by Ben Craighill, serving as as an educational tool, continually evolving as new features are introduced.