KlayGE is a free, open source gaming project written in C++ and released under GPL-2.0. It has 2,173 GitHub stars, 354 forks and 41 open issues, and was last pushed 4 months ago. On this registry it ranks #61 of 79 tracked projects in Gaming, with 5 head-to-head comparisons available.

What is KlayGE?

KlayGE is a cross-platform, open-source game engine with a plugin-based architecture, written in C++ and aimed at developers who need a framework that makes game development, testing, and porting as simple as possible across desktop, mobile, and store platforms.

What it is

KlayGE is a game engine started in 2003 and distributed under the GPL-2.0 license, with its source hosted on GitHub and a current release identified as v4.17.0. Its architecture is explicitly plugin-based, and its stated goal is “to arm your engine with cutting-edge technology.” The project topics place it in the C++ graphics and game-development ecosystem: they name Direct3D 11, Direct3D 12, OpenGL, OpenGL ES, OpenAL, Python, 3D engine functionality, and game-engine functionality.

The concrete problem KlayGE addresses is the need for a reusable framework for game development, testing, and porting. In a C++ project it occupies the engine and framework layer, replacing a one-off, project-specific framework assembled for those tasks rather than acting as a single-purpose rendering library. It supports development on Windows desktop, macOS, and Linux without limitation, and it can be deployed to Windows desktop, Windows Store, Android, Linux, macOS, and iOS. Because some runtime platforms do not support all plugins, plugin selection and platform verification are part of the porting workflow.

Key capabilities

  • A plugin-based engine architecture, with plugin availability varying by runtime platform; the README notes that some runtime platforms do not support all plugins.
  • Direct3D 11 and Direct3D 12 are named in the project topics as graphics technologies.
  • OpenGL and OpenGL ES are named in the project topics as graphics technologies.
  • OpenAL is listed among the project topics for audio.
  • A build workflow built around Python 3.6+, CMake 3.16+, and the Build.py script, which builds the whole code base.
  • Deployment targets covering Windows desktop, Windows Store, Android, Linux, macOS, and iOS.

Who uses it and how

  • Developers working on Windows desktop, macOS, or Linux can use those systems as development hosts; the README describes development on them as possible with no limitation.
  • Teams targeting Windows desktop, Windows Store, Android, Linux, macOS, or iOS can deploy KlayGE to those runtimes, but they must account for differences in plugin support between platforms.
  • Projects that can comply with GPL-2.0 can use and access the source, provided that any project using KlayGE is released under the GPL 2.0 license.
  • Contributors submit bug reports and feature requests through the GitHub issue tracker and follow the documented “Workflow of Contributing Code” before sending a patch or pull request.
  • Build engineers prepare Python 3.6+ and CMake 3.16+, then run Build.py to build the code base.

Getting started

Install Python 3.6+ and CMake 3.16+, then run Build.py to build the whole code base; the README points to the Installation wiki page for details.

How it compares

No paid products or comparable tools are named in the supplied facts, so there is no basis for a feature-by-feature, licensing, or cost comparison. Within this registry, KlayGE stands alone as a plugin-based, cross-platform C++ game engine.

When to use it — and when not to

Use KlayGE when a team wants a source-built C++ engine framework spanning desktop and mobile targets and can accept the GPL-2.0 requirement that projects using it also be released under GPL 2.0. The integrator must provide the build environment—Python 3.6+, CMake 3.16+, and Build.py—and must verify plugin coverage on each runtime platform, since some platforms do not support all plugins. Teams that need to keep a game proprietary, or that need identical plugin support on every target without platform-specific checks, should not choose it; external libraries also carry their own license terms in LICENSE-External.

project readme (upstream, from github) — read inline

KlayGE

GitHub release Build Status

KlayGE is a cross-platform open source game engine with plugin-based architecture. It's started since 2003. The explicit goal of KlayGE is: to arm your engine with cutting-edge technology. It provides a framework to make game development, testing, porting as simple as possible.

Getting started

Before compiling KlayGE, Python 3.6+ and CMake 3.16+ must be installed first. Then you can run Build.py to build the whole code base. For details, please see Installation.

Platforms

KlayGE can be developed on those platforms, with no limitation.

  • Windows desktop
  • macOS
  • Linux

KlayGE can be deployed and run on those runtime platforms. Some of them doesn't supports all plugins. Details in Platforms

  • Windows desktop
  • Windows store
  • Android
  • Linux
  • macOS
  • iOS

Contribute

As an open source project, KlayGE benefits greatly from both the volunteer work of helpful developers and good bug reports made by users.

Bug Reports & Feature Requests

If you've noticed a bug or have an idea that you'd like to see come real, why not work on it? Bug reports and feature requests are typically submitted to the issue tracker.

Engineering Workflow

If you want contribute some code, please check Workflow of Contributing Code before submitting a patch or pull request.

Links

License

KlayGE's default license is the GNU General Public License 2.0 (See LICENSE). In other words, anyone can use it and access to its source code, as long as the project which uses KlayGE must be released under GPL 2.0 license.

KlayGE dependents on several external libraries. They are distributed under their own terms. See LICENSE-External.

Frequently asked questions

Is KlayGE free to use?

KlayGE is open source under the GPL-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does KlayGE do?

KlayGE is a cross-platform open source game engine with plugin-based architecture.

What is KlayGE written in?

KlayGE is primarily written in C++. Its source is publicly available at https://github.com/gongminmin/KlayGE, and it has 2,173 GitHub stars.