Giter Site home page Giter Site logo

martinpalko / vanguardengine Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 65.03 MB

A small (for now) game engine, created for fun and learning.

License: GNU General Public License v2.0

C++ 93.86% Shell 0.22% CMake 3.89% C 0.59% Batchfile 0.22% HTML 0.37% CSS 0.85%

vanguardengine's People

Contributors

grinder81 avatar martinpalko avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

grinder81

vanguardengine's Issues

Transform Rotations

Transforms should handle both 2D and 3D rotations in the most efficient manner, but be interchangeable.

Refactor job system

Specifically,

  • Functionality should be moved out of frame, and into JobManager.
  • Job manager should be a singleton, not static.

Update readme

Update readme with information on how to compile (current readme is out of date)

Entity Inspector

Entity inspector for editing properties & component properties

MAIN_THREAD_ONLY macro

Need a macro that will automatically throw an exception in debug builds (but be ignored on release) when placed in code that is called from another thread than the main application thread. Can then be used to mark non thread-safe functions, and bits of code.

TODO macro

Make a TODO macro that prints a message with #pragma message.

Asset Management System

Need a system to handle game resources (images, audio, meshes, etc)
This is sort of the start of the start of the asset pipeline.

Event System

Need an event system that runs between frame updates. Primarily so jobs can interact with other systems without requiring mutexes everywhere.

Python Build Scripts

Use python scripts on top of CMake to allow customized builds, and different build configurations

Actor bounds

Need actor bounding box, should be a culmination of all component bounding boxes (if they implement them)

Property System

Need a propert/parameter system. A property should hold a value of a specified type, but also include metadata about the type of property, default values, limits (min/max), etc.

The goal is to use properties to serialize & deserialize objects, as well as to enable interactive editing of objects within the editor. Logically, properties should function in about the same way the reflection system does in c#. This means it will likely be tightly tied to the type system.

Scene System

Add the concept of scenes to worlds. Basically, a grouping of Entities in a world. Scenes can then be serialized, and reloaded.

Entity Browser

Class browser for entities, allowing them to be placed in a world

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.