All Projects → sdslabs → Rootex

sdslabs / Rootex

Licence: other
An advanced C++ 3D game engine powering an in-production game yet to be announced

Programming Languages

C++
36643 projects - #6 most used programming language
HLSL
714 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Rootex

Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+6267.7%)
Mutual labels:  gamedev, engine, directx, directx-11
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+1704.97%)
Mutual labels:  gamedev, engine, directx
Dome
A lightweight game development environment where games can be written in Wren
Stars: ✭ 251 (+55.9%)
Mutual labels:  gamedev, engine
ConvectionKernels
Fast, high-quality texture compression library for many formats
Stars: ✭ 40 (-75.16%)
Mutual labels:  directx, directx-11
wgpu-mc
Rust-based replacement for the default Minecraft renderer
Stars: ✭ 254 (+57.76%)
Mutual labels:  engine, directx
Flaxengine
Flax Engine – multi-platform 3D game engine
Stars: ✭ 3,127 (+1842.24%)
Mutual labels:  gamedev, engine
Ogsr Engine
OGSR Project - Evolution of X-Ray Engine for S.T.A.L.K.E.R.: Shadow of Chernobyl
Stars: ✭ 213 (+32.3%)
Mutual labels:  gamedev, engine
delphi3d-engine
A 3D-graphic and game engine for Delphi and Windows.
Stars: ✭ 52 (-67.7%)
Mutual labels:  engine, directx
Salva
2 and 3-dimensional fluid simulation library in Rust.
Stars: ✭ 182 (+13.04%)
Mutual labels:  gamedev, physics
Libbulletjme
A JNI interface to Bullet Physics and V-HACD
Stars: ✭ 55 (-65.84%)
Mutual labels:  physics, bullet-physics
MoltenEngine
A spare-time C# .NET 6 game engine project. Cross-platform, multi-threaded.
Stars: ✭ 113 (-29.81%)
Mutual labels:  directx, openal
harfang3d
HARFANG 3D source code public repository
Stars: ✭ 173 (+7.45%)
Mutual labels:  physics, directx
P2.js
JavaScript 2D physics library
Stars: ✭ 2,367 (+1370.19%)
Mutual labels:  gamedev, physics
Vulkan Renderer
A new 3D game engine using modern C++ and Vulkan API
Stars: ✭ 205 (+27.33%)
Mutual labels:  gamedev, engine
Awesome Haxe Gamedev
Resources for game development on haxe
Stars: ✭ 213 (+32.3%)
Mutual labels:  gamedev, engine
Methanekit
🎲 Modern 3D graphics made simple with cross-platform C++17 meta-API on top of DirectX 12 & Metal (Vulkan is coming)
Stars: ✭ 197 (+22.36%)
Mutual labels:  gamedev, directx
OldBang
Bang OLD REPO. Please go to the current repo ============>
Stars: ✭ 18 (-88.82%)
Mutual labels:  engine, openal
bevy verlet
Verlet physics plugin for bevy.
Stars: ✭ 29 (-81.99%)
Mutual labels:  gamedev, physics
Opensurge
A fun 2D retro platformer inspired by Sonic games and a game creation system.
Stars: ✭ 143 (-11.18%)
Mutual labels:  gamedev, engine
Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (+12.42%)
Mutual labels:  gamedev, engine

Rootex

MIT License C/C++ CI Documentation Status Discord

Contents

What is Rootex?

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

Why is Rootex?

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.

How do I use Rootex?

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.

Assets Workflow :

  1. Assets are stored in separate repositories and added as git submodules. The testing assets are stored at https://gitlab.com/sdslabs/rootex-assets while the assets for the game are stored at https://gitlab.com/sdslabs/rootex-game.
  2. The assets.bat script has two subcommands to make switching of the submodules between the testing and game repository easier. Use assets.bat assets-test to switch to the test repository and assets.bat assets-game to switch to the game repository. The submodule will have two remote urls set. The origin points to the HTTPS url while upstream points to the SSH url.
  3. You can also add your own repository as an assets submodule. Use assets.bat assets-custom <url> for that. If setting a custom url, use an HTTPS url here and then set an SSH remote afterwards.

WARNING : Running assets.bat will delete the game/assets/ folder. Be sure to backup any unsaved progress before running it.

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.

How can I contribute?

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

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].