C++ Gaming — 03 — The rBitrage Game Engine

Samuel Asher Rivello
3 min readSep 8, 2024

--

Hello! I am Samuel Asher Rivello, a professional game developer with over 20 years of game development experience. This series aims to share my learning journey with C++ gaming.

C++ for Game Dev

“Learning C++ gives you invaluable skills for game development.”

Read: C++ Gaming — 01 — Overview

Cover Image

Building game engines from scratch is one of the most rewarding yet complex challenges a developer can undertake. In this article, I introduce rBitrage, a lightweight C++ game engine I created for 2D and 3D games.

Why rBitrage?

Game engines like Unity and Unreal are powerful, but they come with significant overhead, both in terms of resources and learning curves. With rBitrage (aka “Arbitrage”, aka “Bit Rage”), the goal is to provide a lightweight alternative that gives developers the flexibility to customize every aspect of their game while avoiding unnecessary complexity.

Philosophy

  • Easy to learn: Clear API, common examples
  • Easy to use: Common types; Actors, Shapes, Sprites, and more
  • Hard to misuse: Sensible defaults, terse logging

Features

  • Customizable Architecture: Designed to give you control; rendering, physics, and input
  • C++ Performance: Leverages C++’s low-level capabilities and Raylib’s optimal rendering
  • Modular Design: Each system (graphics, physics, input) can be used independently. Remove, replace as you like
  • 2D and 3D Support: The engine renders in 2D, 3D, or 2D+3D modes

Template Project Structure

The organization is simple to navigate and expand upon.

{root}
└── Raylib/
└── src/
├── assets/
└── scripts/
├── client/
│ ├── rBitrage/
│ └── Main.cpp
└── tests/

This structure ensures a clean separation between the core engine files and your game-specific code, making it easier to manage and maintain your project.

Getting Started

One of the major drawbacks of C++ game development is learning how to get started. It’s MUCH more complex than Unity, Godot, or Unreal. By far, the HARDEST part is step #1 below. Luckily for you, the template simplifies everything.

Download: GitHub.com/SamuelAsherRivello/rBitrage/ to get started!

Follow the official steps including:

  1. Setup Environment — Install prerequisites, check versions
  2. Setup Project — Download and initialize
  3. Build Project — Compile and run the game
  4. Enjoy — Now learn and create with ease!

When you build the template you will see it running in a new window.

rBitrage Supports 2D & 3D

Conclusion

If you’re looking for a customizable, high-performance game engine, rBitrage is a great starting point. Start building your next game today!

Stay tuned for more articles in this series, where we’ll dive deeper into game development with C++ and Raylib.

Resources

🦜 Contact

  • Samuel Asher Rivello has over 20 years of game dev XP. He is available for remote, contract hire as a game developer and game dev educator.
  • Contact Sam today to say hi and discuss your projects!

📜 Articles

🛜 Downloads

--

--

Samuel Asher Rivello

Game Developer & Instructor - Unity Certified. 20+ years of game dev XP. Available For Remote Hire. http://www.SamuelAsherRivello.com