Quartz Engine is designed to aid the creation of games with a unique approach to adding content. Quartz will provide lightweight, generic game functionality through an API. The primary feature of Quartz is its scripting functionality, allowing engines to be built so game creators can create a game using only scripts while the heavy lifting is driven in C++. The engine may also provide other useful tools to help someone creating a game.
This will be what our genre specific engines (voxel sandbox, first person shooter, adventure) will be built on.
Our first project is coded Project Phoenix and is centered around voxels. This is what we will use to test and improve Quartz with during its initial development.
Here's a link to our public discord server, where we collaborate and discuss the development of the engine.
These components make up the features of Quartz
Quartz will provide the ability to load and run lua scripts to add content to a game. This is the main feature of Quartz engine that makes it unique. By design, a launcher application will pass a client or server scripts to load that provide all game content, the C++/ game engine should never provide content on its own.
Quartz will provide an API that engines can use to implement rendering.
The library will provide an API that engines can use to implement networking capabilities. This should handle authentication and sending protocols while the specific engine.
The engine will provide basic logging functionality.
Currently we will implement ImGUI but a in house solution may be a part of our future plans.
Once cloned, navigate to the projects root directory and execute the following commands in a terminal.
mkdir Build
cd Build
cmake ..
cmake --build . --target QuartzSandbox
Now follow the platform specific instructions detailed below.
Build/
folder in Visual StudioQuartzSandbox
.Build/QuartzSandbox
folder and run ./QuartzSandbox
to run the executable.Here's a link to our Coding Standards. You can also have a look at our wiki for more information..