Giter VIP home page Giter VIP logo

dce's Introduction

DragonCore Engine

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)

dce's People

Contributors

somerandomdev49 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.