Skip to content
This repository has been archived by the owner on Jan 28, 2020. It is now read-only.
Vyom Fadia edited this page Jul 17, 2019 · 11 revisions

Welcome to the Quartz Engine wiki!

Introduction

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.

Components

These components make up the features of Quartz

Lua Scripting

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.

Rendering

Quartz will provide an API that engines can use to implement rendering.

Networking

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.

Logging

The engine will provide basic logging functionality.

GUI

Currently we will implement ImGUI but a in house solution may be a part of our future plans.