Skip to content
This repository has been archived by the owner on Mar 24, 2024. It is now read-only.

peque-studio/dce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DragonCore Engine - Archive

Building

Requirements: ninja, clang, glfw 3, vulkan, optional vulkan validation layers

To build, simply run ninja. The binary is out/dce-tests.

Architecture

Assets

Loaded from compressed binary files in release mode and from a json and a folder in debug mode.

Graphics

Vulkan. Silhouette and Toon shading support.

Audio

3D Audio support, likely.

World

A world is an asset with specification of which entities to load. Also has the terrain

Gameplay

Gameplay code will be written in a scripting language.

Save System

All player data is saved to a compressed binary file.

Contributing

Write sensible code :)

Commit Message Format

The commit message should be in this format: [MODULE:KIND] MESSAGE

  • MODULE can be DCm (math), DCg (graphics), DCd (debug), ... or git (git-related things), doc for docs, test for tests
  • KIND can be either fix for general fixes, add for adding new stuff, imp for improvements (rename for example)
  • MESSAGE is a short-ish message describing the changes. The explanation should be in the commit messages "body" if needed.

Issues/PRs

I can't always answer to issues and PR review takes time and I don't have much of it :( I for certain will answer in 0-1 days.

Naming

Each symbol should have a prefix:

  • DCg/dcg for graphics
  • DCm/dcm for maths
  • DCd/dcd for debug
  • Optional i suffix for internal names (for example DCgi)

Functions:

  • Procedural (not ImageGetAspectRatio, but GetImageAspectRatio)
  • Lower-case Prefix (dcgGetMaterialCache)
  • For creating objects: preNewObjectType
  • For destroying objects: preFreeObjectType
  • For creating objects that are handled by their parent: preGetNewObjectType
  • For returning lists: size_t preGetList(..., T *list)

Types:

  • Do not use _t!
  • Upper-case Prefix (DCgMaterialOptions)