Skip to content

Unix4ever/engine

 
 

Repository files navigation

Graphics System Agnostic Game Engine

Documentation Status Build status Build Status Gitter

Showcase

Editor ExampleGame See documentation for more examples.

About

This project moves away from the paradigm of having Swiss Army Knife engine that can do anything and can be too bulky for some small projects. Instead, it aims to be configurable and easily expandable by plug-ins. If some plug-ins are not needed they can be removed from the project.

Thus, the Engine has the Core, which is static itself, but has many customization traits, like:

  • UIManager.
  • InputManager.
  • WindowManager.
  • IPlugin.

So by using these interfaces, one can easily implement new input system, or add support for any UI library and so on.

As this engine is based on ECS architecture, adding new kind of game logic can be achieved by writing new EngineSystem and Component.

The Core also provides a set of convenient tools:

  • serialization.
  • lua bindings which can be expanded in any plug-in.
  • implementation agnostic events for Mouse and Keyboard.
  • executable fully configurable via json configuration file.
  • logging.
  • has built in lua script component and system.
  • dynamic plugin loader.
  • delegates, with support of event propagation to lua.

You can read more documentation on http://engine.readthedocs.io/.

This engine supports three OS systems at the moment:

  • Windows, Visual Studio 2015 and later.
  • OSX, ci is using Xcode 7.3.
  • Linux, ci is using Ubuntu 14.04 with GCC 4.9.

There are plans to support iOS and Android.

Use build instructions to build the engine.

Dependencies

Most of dependencies are vendored by Conan.

Main

Optional

Contributing

  1. Fork this repo
  2. Create feature branch and push it to your fork
  3. Create PR basing on your branch

Please make your PR have only one commit, so squash them.

LICENSE

This project is licensed under MIT

Other Plugins

Issue Tracker

About

Graphics system agnostic game engine core

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 92.4%
  • Lua 4.1%
  • CMake 1.3%
  • Python 0.7%
  • QML 0.7%
  • Objective-C++ 0.3%
  • Other 0.5%