Giter VIP home page Giter VIP logo

Build Status Discord Chat Support on Patreon

The Rebel Fork aka rbfx is an indie game engine/framework. It is an experimental fork of Urho3D game engine distributed under MIT license.

The Rebel Fork is:

  • Free and Open Source Software, and it will stay this way;
  • Suitable for 3D games and applications;
  • Moderately lightweight and modular;
  • Supported for Windows, Linux, MacOS, Android, iOS, Web and XBox (via UWP);
  • Just a C++ library with a couple of tools;
  • There are optional experimental C# bindings.

Note: The Framework is not yet released and is undergoing active development. Backward compatibility is (mostly) preserved on resource level, but C++ API is prone to changes.

Using the Framework

There are two template projects that you can use as example.

Empty Project is the absolute minimum of code that is required to get things running on Desktop platforms. Check it out if you don't care about recommended high-level workflow and want to do things your way.

Sample Project demonstrates recommended workflow which enables certain high-level features like writing your code once and then running it both from Editor and standalone. Sample Project is also Mobile and Web friendly and is deployed to itch.io.

Building the project is usually straighforward on Desktop platforms: standard CMake configure and build. On Mobile and Web platforms extra steps may be needed. If you cannot figure it out, check how our GitHub Actions are configured. Chech documentation for more information.

Supported Platforms

Graphics API/Platform Windows UWP Linux MacOS iOS Android Web
Direct3D 11.1
Direct3D 12
Vulkan 1.0 ✔* ✔*
OpenGL 4.1
OpenGL ES 3.0
WebGL 2.0

(*) Vulkan is supported on MacOS and iOS via MoltenVK. Additional setup is required.

Links

Reasons to use

There are multiple game engines out there, both proprietary and free. Here are some reasons why you may want to try this one:

  • It's "code first" framework with full control over code execution, unlike Unity-like game engines with "IDE first" approach and script sandboxes.

  • It's portable and relatively lightweight framework that can be used like any other third-party dependency, unlike huge mainstream game engines.

  • It's a fork of the mature and stable Urho3D engine (which was released in 2011), so it's more feature-rich and well tested than many of the new non-mainstream game engines.

  • If you already use Urho3D, you may want to try this framework if you like Urho3D but you are not fully satisfied with current Urho3D feature set.

Reasons NOT to use

Don't use the Framework if:

  • You are not ready to do your own research. Due to small community size, we don't have as much documentation, tutorials and other onboarding materials. Consider using mainstream engines with bigger communities.

  • You are not ready to write code when you need some feature. Due to small community and maintainers team size, we don't have as much "ready to use" codebase. Consider using mainstream engines with user store and ready-to-use assets.

  • You want to have cutting-edge graphics or technology for AAA game. We try to provide decent level of technology, but we don't aim to be on the level of AAA graphics fidelity. Consider using commercial mainstream engines backed by paid full-time developers.

  • You are happy with Urho3D. This framework is not intended to be a replacement of Urho3D. Consider using U3D or Urho3D.

  • You want C#-oriented Urho3D. While this framework does have C# bindings, C# is not a first-class citizen here and its support is lacking. Consider using Urho.Net.

Screenshots

rbfx's Projects

deploy-nightly icon deploy-nightly

Deploy an asset to a GitHub release with date and commit hash and delete old assets.

eaassert icon eaassert

EAAssert is a simple and lightweight assert technology.

eabase icon eabase

EABase is a small set of header files that define platform-independent data types and platform feature macros.

eamain icon eamain

EAMain provides a multi-platform entry point used for platforms that don't support console output, return codes and command-line arguments.

eastdc icon eastdc

EAStdC is a package which implements basic library facilities that are similar to those in the standard C library.

eastl icon eastl

EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.

eatest icon eatest

EATest is a C++ unit testing framework. It's goal is to have a scalable architecture, have minimal dependencies, and simple usage.

eathread icon eathread

EAThread implements a unified cross-platform interface for multithreaded programming.

enkits icon enkits

A permissively licensed C and C++ Task Scheduler for creating parallel programs. Requires C++11 support.

fmt icon fmt

A modern formatting library

glslang icon glslang

Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.

imgui icon imgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

libdatachannel icon libdatachannel

C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets

libjuice icon libjuice

JUICE is a UDP Interactive Connectivity Establishment library

libsrtp icon libsrtp

Library for SRTP (Secure Realtime Transport Protocol)

openxr-sdk icon openxr-sdk

Generated headers and sources for OpenXR loader.

plog icon plog

Portable, simple and extensible C++ logging library

rbfx icon rbfx

Lightweight Game Engine/Framework in C++17 with WYSIWYG Editor. Experimental C# bindings.

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.