Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
30. August 2018


Due to it’s popularity in the professional game industry, I get all kinds of requests for C++ based game engines.  That is exactly what this guide is, a collection of game engines that use C++.  This is not about game engines that are written using C++, many if not most game engines are at least partially written using C++, instead it covers engines where you (can) primarily use C++ in developing an actual game using the engine.  So without further ado, let’s jump into the list of (3D only) game engines that (can) use C++ to develop games.


The game engines, in no particular order:

CryEngine (Learn More)

Lumberyard (Learn More)

Unreal Engine

OGRE  *Technically a renderer

G3D Innovation Engine (Learn More)

Godot (Learn More)

Torque3D

Banshee Engine (Learn More)

Source Engine

Limon Engine (Learn More)

idTech

Leadwerks

IrrLicht

Urho3D (Learn More)

Toy Engine (Learn More)

Panda3D (Learn More)

Esenthel (Learn More)

Tombstone Engine (C4 successor)

PhyreEngine

Unigine

Shiva

LumixEngine


The list is not comprehensive but tries to at least get most of the options out there.  If I missed something, please let me know in the comments below.  For more information on all the engines listed above, be sure to check out the following video.  Any engine with a learn more link to the right of it means we have previously covered this engine in video form.


Programming


29. August 2018


Looking for a small but full featured open source (LGPL) C++ 14 game engine with a built in editor?  If so, the Limon Game Engine might be the perfect choice for you!  Primary features of the Limon game are:

  • Model loading using Assimp
  • Skeletal animations
  • Realtime shadows
  • Rigid body physics
  • 3D spatial sound
  • Preliminary AI
  • In game map editor
  • Trigger volumes
  • API for Custom Trigger code
  • Loading shared libraries that has Trigger code
  • Creating Animations in editor

Additionally the engine is documented, with the manual available here.  The source code is cleanly written C++ 14 code and is available on Github.  The engine works on Windows, Mac and Linux with binaries available for download here.  If you are interested in seeing the engine in action, be sure to check out our hands-on video, embedded below.  There are additional videos available on the Limon YouTube channel, available here.

EDIT – The author in response to the video has released an updated version, with the editor key changed in 0.5.2 to the much more sensible F2 key.

GameDev News


2. August 2018


The Toy Engine was just released yesterday.  The Toy Engine is a cross platform modular C++ open source game engine currently available under the GPL license.  The engine is quite young so you should expect some instability and missing features.  The developer @HugoAM has been very responsive to feedback and has announced that the license will be changed to something more permissive in time.  The source code is available now on GitHub.


The guiding design principals behind the Toy engine are:

  • simple and lightweight, simplicity is the core aim and philosophy behind toy. the codebase is about one-tenth the size of competing engines, and toy is so light, the whole editor runs in your browser !
  • modular, each functionality is enclosed in a small, simple, easy to understand code building block. most of these blocks lie in the underlying mud library.
  • extensible, as a collection of modules, toy is a perfect fit to build your own game technology, keeping full control over the components you use, the application design and the control flow.
  • game code first, toy is first and foremost meant to build games in native c++ code, in direct contact with the core systems. this allows for much greater control than typical scripting in-engine.
  • versatile, toy is designed from the start with complex games in mind, such as strategy or role playing games, by giving full control over its powerful user interface and rendering systems.
  • zero-cost tools, reflection automatically extends your game core code for seamless scripting, editing, inspection of your game objects, types and procedures in the built-in tools/editor.
  • educative, toy aims to provide simplest technical solutions to typical game programming problems, easily studied and understood, hoping to be a driver of education on game development topics.
  • fast iteration, coupling seamless bindings of both built-in systems and game code to various scripting languages, hot-reload of native code, and immediate UI and rendering, toy provides fast iteration speeds.

The Toy engine is built upon the underlying mud framework, which provides the low level cross platform functionality that toy is built on top of.  The mud framework is built on the much better ZLib open source license.  You can compile Toy on both Windows and Linux.  Toy games can be run on most modern platforms including mobile, desktops and even HTML via EMScripten.  The video embedded below demonstrates how to get started using Visual Studio 2017.

GameDev News


22. July 2018


Raylib is a cross platform open source C based game framework that is absolutely perfect for beginners that want to get started with game development using C or C++.  It provides a complete C/C++ turn key game development setup with tools, editor and framework all pre-configured, just download and start coding.  If you are interested in learning more about Raylib be sure to check out our earlier video available here.  Raylib just released version 2.0, which now has less external dependencies.  Perhaps the most exciting new feature of this release is support for various Linux and *nix based operating system, a long requested feature.

The highlights of this release from the Raylib forums:

  • Complete removal of external dependencies. Finally, raylib does not require external libraries to be installed and linked along with raylib, all required libraries are contained and compiled within raylib. Obviously some external libraries are required but only the strictly platform-dependant ones, that comes installed with the OS. So, raylib becomes a self-contained platform-independent games development library.
  • Full redesign of audio module to use the amazing mini_al audio library, along with external dependencies removal, OpenAL library has been replaced by mini_al, this brand new library offers automatic dynamic linking with default OS audio systems. Undoubtly, the perfect low-level companion for raylib audio module!
  • Support for continuous integration building through AppVeyor and Travis CI. As a consequence, raylib GitHub develop branch has been completely removed simplyfing the code-base to a single master branch, always stable. Every time a new commit is deployed, library is compiled for up-to 12 different configurations, including multiple platforms, 32bit/64bit and multiple compiler options! All those binaries are automatically attached to any new release!
  • More platforms supported and tested, including BSD family (FreeBSD, openBSD, NetBSD, DragonFly) and Linux-based family platforms (openSUSE, Debian, Ubuntu, Arch, NixOS...). raylib has already been added to some package managers! Oh, and last but not less important, Android 64bit is already supported by raylib!
  • Support for TCC compiler! Thanks to the lack of external dependencies, raylib can now be easily compiled with a minimal toolchain, like the one provide by Tiny C Compiler. It opens the door to an amazing future, allowing, for example, static linkage of libtcc for runtime compilation of raylib-based code... and the library itself if required! Moreover, TCC is blazing fast, it can compile all raylib in just a few seconds!
  • Refactored all raylib configuration #defines into a centralized config.h header, with more than 40 possible configuration options to compile a totally customizable raylib version including only desired options like supported file-formats or specific functionality support. It allows generating a trully ligth-weight version of the library if desired!
  • A part of that, lots of new features, like a brand new font rendering and packaging system for TTF fonts with SDF support (thanks to the amazing STB headers), new functions for CPU image data manipulation, new orthographic 3d camera mode, a complete review of raymath.h single-file header-only library for better consistency and performance, new examples and way, way more.
  • As always, examples and templates have been reviewed and improved to work with new features; some new examples have been added and templates have been prepared for real multiplatform support including Android and HTML5.

These are only the highlight features, for complete details of the 2.0 release are available in the changelog.  Raylib is available here, while the source code is available on Github.

GameDev News


18. May 2018


It’s not very often a game engine takes me completely by surprise.  Especially a full featured, open source, C++ based, cross platform, heavily documented, feature rich, high performance 3D game engine.  Well that’s exactly what happened with the G3D Innovation Engine.  The primary maintainers are Morgan McGuire (@CasualEffects) who is currently an educator as well as a VR scientist at NVIDIA and previously worked on games such as Skylanders, Titan Quest and the Unity game engine, as well as Michael Mara at Standard University and Oculus Research.

The G3D Engine is self described as:

The G3D Innovation Engine is a commercial-grade C++ 3D engine available as Open Source. ss

G3D supports hardware accelerated real-time rendering, off-line rendering like ray tracing, and general purpose computation on GPUs. Its design emphasizes rapid prototyping and innovation, particularly of rendering and game algorithms.

G3D provides a set of routines and structures so common that they are needed in almost every graphics program. It makes low-level libraries like OpenGL, network sockets, and audio channels easier to use without limiting functionality or performance. G3D is a carefully designed, feature-rich base on which to prototype your 3D application.


Beyond being a capable engine it is also an incredible learning resource.  The engine is bundled with over 6GB of assets to experiment with, as well as over a dozen robust ss2samples with thoroughly documented source code.  One of the samples is even a full blown first person shooter, while another demonstrates a Minecraft-esque voxel based level.  There are also examples that show you how to work at the lowest level directly with OpenGL as well as advanced examples showcasing functionality such as real-time raytracing, lighting effects, procedural geometry and even VR.

Additionally each example can easily embed a suite of tools directly, enabling you to screen shot or video capture, change camera settings on the fly or launch the built in profiler.  There is even a complete scene editor built in, allowing you to place entities directly in your scene via simple drag and drop, turning your application into a minimalistic level editor.


Remember back at the beginning I mentioned that the maintainer was also an educator?  He has also authored a companion called the Graphics Codex which goes hand in hand with the G3D game engine.  For a mere $10 you gain access to an advanced reference that may just be one of the single best ways of learning computer graphics GIF2topics such as ray casting, BSDF, rendering and more.  You can see a full chapter list here.  So if you are trying to learn more advanced graphics programming, G3D is certainly a great resource.  Keep in mind however, this material was used with a 300s level graphics course, so you are going to need a solid foundation in math to follow along.

Purchasing the Graphics Codex is by no means a requirement however.  One thing open source projects often suffer from is poor documentation.  Thankfully this certainly isn’t the case with the G3D engine.   There is an extensive manual available here, as well as a comprehensive set of API references.  As mentioned earlier, the engine is also loaded with well documented samples.

If you are looking for a low level foundation to build your game on, a framework to do some graphical experiments or simply are looking for a way to learn more about modern graphics programming, I can think of little reason not to suggest checking out the G3D Innovation Engine. 


If you are interested in learning more about the G3D Innovation Engine, be sure to check out our hands-on video available here and embedded below.  I am almost certain you will be amazed.

GameDev News Programming


See More Tutorials on DevGa.me!

Month List

Popular Comments