Giter VIP home page Giter VIP logo

rootex's Introduction

Rootex

MIT License C/C++ CI Documentation Status Discord

Contents

Rootex is an advanced C++ 3D game engine powering an in-production game yet to be announced. The game will finally ship on Windows and use DirectX 11.

Find the upcoming features and the game's public Trello board here!

This game will be a product of a join effort of SDSLabs and Design Studio.

Features

  • Based on the popular Entity-Component-System architecture
    • Allows performance benefits due to better CPU cache usage. However over-optimizations are not the goal
    • Uses an impure ECS where components can have functions
  • Full editor GUI implemented in ImGui
    • Similar interface as other popular game engine editors for added familiarity and ease of use
    • Readable asset files (100% JSON)
  • 3D DirectX 11 renderer
    • Dynamic and static Phong-model lighting
    • High resolution textures for Diffuse, Normal, Specular and Light mapping
    • Post processing effects like gaussian blur, bloom, Adaptive SSAO, FXAA, including ad-hoc sepia, black-and-white, tonemapping
    • Mildly configurable CPU based particle effects
    • Effekseer Particle effects integration available for high quality VFX
    • Environment effects like Sky sphere, sky reflections, refractions and depth fog
    • Supports basic transform and skeletal animations
    • Automatic LOD (level-of-detail) generation for 3D models and animations
    • Custom materials using custom HLSL shaders
    • And few more things...
  • RmlUi integration which allows writing/debugging UI overlays in an HTML/CSS-like language and Lua
  • Physics engine powered by Bullet Physics 3, allows an easy-to-work-with interface for making physics simulations
  • OpenAL-Soft based audio engine supporting 3D attenuation and stereo sound
  • Lua scripting engine with functionality exposed for easy game curation
    • Uses an object-oriented approach with Lua scripting for making intuitive scope declarations and reducing garbage generation
    • Lua debugger integration
    • Equipped with a tweening API provided by flux
  • Applies the event-based programming paradigm for better maitainability of game code
  • Being developed for an actual game
  • Documentation

Rootex is the direct successor of Rubeus, our 2D Game Engine. Rubeus Engine is not being maintained and is being preserved. Newer features will only be planned for Rootex. The game being developed will be announced soon as well.

Rootex runs only on Windows and there are no plans to port it to other platforms.

  1. Install Visual Studio 2019 or Visual Studio 2017, CMake build system.
  2. Install Visual Studio Desktop C++ development pack (or anything similar, since C++ is no longer a default language since at least Visual Studio 19)
  3. Run generate_cache.bat /19 for VS 2019 or generate_cache.bat /17 for VS 2017.
  4. Use build.bat to build Rootex.

Now you can start reading the documentation and build games on Rootex!

NOTE: If you get the error dxgidebug.dll not loaded while opening the Rootex Editor, install Graphics Tools by following this guide.

Read here to know our contribution guidelines. Join our Discord server or optionally ping us at chat.sdslabs.co to get guidance. You can start with setting up Rootex on your Windows machine and try solving a few bugs listed here: https://github.com/sdslabs/Rootex/issues

This project is under the MIT license. See THIRDPARTY.md for thirdparty license notices.

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.