Coder Social home page Coder Social logo

sapling's Introduction

Sapling

Sapling is a highly experimental entity-system based game engine written in c++11. It was inspired by the series of blog post by T=Machine.

##Dependencies

Premake4 is used to build the project.

Horde3D is used for graphics. Many of the default assets and graphics pipelines are also from Horde3D. The c++ math helper file, utMath.h, also comes from Horde3D with slight modifications.

GLFW is used for input as well as creating a OpenGL window.

Jansson is used for json parsing.

Python is used to generated json wrappers for components.

##Building Sapling should mostly be cross platform, but it has only been tested on Linux.

To build simply run premake4 gmake. Then make in the main directory.

##License

All source is provided with absolutely no warranty and is under a EPL for now.

sapling's People

Stargazers

Luke avatar

Watchers

James Cloos avatar Luke avatar  avatar

sapling's Issues

Make utils class

Containing h3dnode->entity map as well as other almost required things.

Boilerplate for systems

Is there any sane thing to be done here? How do libraries implement for each?
Maybe something with anonymous functions?

entitySystem->runComponents([](float dt, Entity *entity) {

});

Maybe register components b4 hand and have run(float dt, Entity *entity) run once per entity?

Think about how mesh is added

Currently there are two nodes. A possible solution would be recursively search up until hit root node in searches and return top most parent.

Add simpler logging

Maybe add description to components. Components are really the only thing that should need to be logged.

change to c++11

This would reduce amount of code.
Features most used would be 'foreach' and auto.

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.