EnTT: EnTT in Action

EnTT 3.15.0

Loading...
Searching...
No Matches
EnTT in Action

# Table of Contents

- Introduction
- EnTT in Action
  - Games
  - Engines and the like
  - Articles, videos and blog posts
  - Any Other Business

# Introduction

`EnTT` is widely used in private and commercial applications. I cannot even mention most of them because of some signatures I put on some documents time ago. Fortunately, there are also people who took the time to implement open source projects based on `EnTT` and did not hold back when it came to documenting them.

Below an incomplete list of games, applications and articles that can be used as a reference.
Where I put the word apparently means that the use of `EnTT` is documented but the authors did not make explicit announcements or contacted me directly.

If you know of other resources out there that are about `EnTT`, feel free to open an issue or a PR. I will be glad to add them to this page.
I hope the following lists can grow much more in the future.

# EnTT in Action

## Games

- Minecraft by Mojang: of course, that Minecraft, see the open source attributions page for more details.
- Minecraft Legends by Mojang: an action strategy game where users have to fight to defend the Overworld.
- Minecraft Earth by Mojang: an augmented reality game for mobile, that lets users bring Minecraft into the real world.
- Ember Sword: a modern Free-to-Play MMORPG with a player-driven economy, a classless combat system, and scarce, tradable cosmetic collectibles.
- Apparently Diablo II: Resurrected by Blizzard: monsters, heroes, items, spells, all resurrected. Thanks unknown insider.
- Apparently Call of Duty: Vanguard by Sledgehammer Games: I can neither confirm nor deny, but there is a license I know in the credits.
- Apparently D&D Dark Alliance by Wizards of the Coast: your party, their funeral.
- TiltedEvolution by Tilted Phoques: Skyrim and Fallout 4 mod to play online.
- Antkeeper: an ant colony simulation game.
- Openblack: open source reimplementation of the game Black & White (2001).
- Land of the Rair: the new backend of a retro-style MUD for the new age.
- Face Smash: a game to play with your face.
- EnTT Pacman: an example of how to make Pacman with `EnTT`.
- Wacman: a pacman clone with OpenGL.
- Classic Tower Defence: a tiny little tower defence game featuring a homemade font. Check it out.
- The Machine: a box pushing puzzler with logic gates and other cool stuff. Check it out.
- EnTTPong: a basic game made to showcase different parts of `EnTT` and C++17.
- Randballs: simple `SFML` and `EnTT` playground.
- EnTT Tower Defense: a data oriented tower defense example.
- EnTT Breakout: simple example of a breakout game, using `SDL` and `EnTT`.
- Arcade puzzle game with EnTT: arcade puzzle game made in C++ using the `SDL2` and `EnTT` libraries.
- Snake with EnTT: simple snake game made in C++ with the `SDL2` and `EnTT` libraries.
- Mirrors lasers and robots: a small tower defense game based on mirror orientation.
- PopHead: 2D, Zombie, RPG game made from scratch in C++.
- Robotligan: multiplayer football game.
- DungeonSlayer: 2D game made from scratch in C++.
- 3DGame: 2.5D top-down space shooter.
- Pulcher: 2D cross-platform game inspired by Quake.
- Destroid: one-bazillionth arcade game about shooting dirty rocks in space, inspired by Asteroids.
- Wanderer: a 2D exploration-based indie game.
- Spelunky® Classic remake: a truly multiplatform experience with a rewrite from scratch.
- CubbyTower: a simple tower defense game using C++ with Entity Component System (ECS).
- Runeterra: Legends of Runeterra simulator using C++ with some reinforcement learning.
- Black Sun: fly your spaceship through a large 2D open world.
- PokeMaster: Pokémon Battle simulator using C++ with some reinforcement learning.
- HomeHearth: choose your hero, protect the town, before it is too late.
- City Builder Game: a simple city-building game using C++ and OpenGL.
- BattleSub: two player 2D submarine game with some fluid dynamics.
- Crimson Rush: a dungeon-crawler and rougelike inspired game about exploring and surviving as long as possible.
- Space Fight: one screen multi-player arcade shooter game prototype.
- Confetti Party: C++ sample application as a starting point using `EnTT` and `SDL2`.
- Hellbound: a top-down action rogue-like where to fight colossal demons in procedurally generated levels of hell.
- Saurian Sorcery: a tower defense game where to assemble a tribe of lizards to defend against robot invaders.
- robotfindskitten: a clone of `robotfindskitten` inside `Notepad.exe`, powered by `EnTT`.
- Orion: Outer-space Research and Interstellar Observation Network (a space shooter game).
- EnTT Boids: a simple boids implementation using `EnTT` and `Raylib`.
- PalmRide: After Flight: an on-rails shooter with retro outrun aesthetics.
- Exhibition of Speed: build your own car and go racing.
- Lichgate: top-down action rogue-like where users unlock abilities to fight horde of enemies in an endless world.
- Letalka: small demo game with ships and bullets flying everywhere on the screen.
- Lichgate: step into the robes of a powerful mage determined to halt the relentless hordes of undead.

## Engines and the like:

- Hazel Engine: a work in progress engine created by The Cherno during one of his most famous video series.
- Aether Engine v1.1+ by Hadean: a library designed for spatially partitioning agent-based simulations.
- Fling Engine: a Vulkan game engine with a focus on data oriented design.
- NovusCore: a modern take on World of Warcraft emulation.
- Chrysalis: action RPG SDK for CRYENGINE games.
- LM-Engine: the Vim of game engines.
- Edyn: a real-time physics engine organized as an ECS.
- MushMachine: engine... vrooooommm.
- Antara Gaming SDK: the Komodo Gaming Software Development Kit.
- XVP: eXpansive Vehicle Physics plugin for Unreal Engine.
- Apparently Wisp by Team Wisp: an advanced real-time ray tracing renderer built for the demands of video game artists.
- shiva: modern C++ engine with modularity.
- ImGui/EnTT editor: a drop-in, single-file entity editor for `EnTT` that uses `ImGui` as graphical backend (with demo code).
- SgOgl: a game engine library for OpenGL developed for educational purposes.
- Lumos: game engine written in C++ using OpenGL and Vulkan.
- Silvanus: Silvanus Fusion 360 Box Generator.
- Lina Engine: an open-source, modular, tiny and fast C++ game engine, aimed to develop 3D desktop games.
- Spike: a powerful game engine which can run on a toaster.
- Helena Framework: a modern framework in C++17 for backend development.
- Unity/EnTT: tech demo of a native simulation layer using `EnTT` and `Unity` as a rendering engine.
- OverEngine: an overengineered game engine.
- Electro: high performance 3D game engine with a high emphasis on rendering.
- Kawaii: a modern data oriented game engine.
- Becketron: a game engine written mostly in C++.
- Spatial Engine: a cross-platform engine created on top of Google's filament rendering engine.
- Kaguya: D3D12 Rendering Engine.
- OpenAWE: open implementation of the Alan Wake Engine.
- Nazara Engine: fast, cross-platform, object-oriented API to help in daily developer life.
- Billy Engine: some kind of 2D engine based on `SDL2` and `EnTT`.
- Ducktape: an open source C++ 2D & 3D game engine that focuses on being fast and powerful.
- The Worst Engine: a game engine based on OpenGL.
- Ecsact: a language aimed at describing ECS, with a runtime implementation based on `EnTT`.
- AGE (Arc Game Engine): an open-source engine for building 2D & 3D real-time rendering and interactive contents.
- Kengine: the Koala engine is a game engine entirely implemented as an entity-component-system.
- Scion2D: 2D game engine with YouTube series included.
- EnTT Editor: an editor for `EnTT` libary that combines its built-in reflection system with `ImGui`.
- Era Game Engine: a modern ECS-based game engine.
- Core SDK of Trollworks engine: 2D game engine based on procrastination.
- Rocky: 3D geospatial application engine.
- Donner: a modern C++20 SVG2 rendering API with CSS3.
- Coral Engine: open-source student engine with the tools to make games in C++ and Visual scripting.
- Star Engine: an Advanced C++ DirectX 11 game engine.
- Darmok: another C++ game engine.
- Magique: 2D game engine for programmers (or those yet to be).

## Articles, videos and blog posts:

- Some posts on my personal blog are about `EnTT`, for those who want to know more on this project.
- Game Engine series by The Cherno (not only about `EnTT` but also on the use of an ECS in general):
  - Intro to EnTT.
  - Entities and Components.
  - The ENTITY Class.
  - Camera Systems.
  - Scene Camera.
  - Native Scripting.
  - Native Scripting (now with virtual functions!).
  - Scene Hierarchy Panel.
  - Properties Panel.
  - Camera Component UI.
  - Drawing Component UI.
  - Transform Component UI.
  - Adding/Removing Entities and Components UI.
  - Saving and Loading Scenes.
  - ... And so on. Check out the Game Engine Series by The Cherno for more videos.
- Game Engine series by dwjclark11 (not just `EnTT` but a lot of it):
  - Getting into ECS
  - Creating ECS Wrapper Classes
  - Runtime Reflection using EnTT meta
  - Adding entt::meta and Sol2 bindings (with part two too)
  - ... And so on. Check it out for more videos.
- Warmonger Dynasty devlog series by linkdd: an interesting walkthrough of developing a game (also) with EnTT.
- Use EnTT When You Need An ECS by Thomas: I could not have said it better.
- Space Battle: Huge edition: huge space battle built entirely from scratch.
- Space Battle: huge space battle built on `UE4`.
- Experimenting with ECS in UE4: interesting article about `UE4` and `EnTT`.
- Implementing ECS architecture in UE4: giant space battle.
- Conan Adventures (SFML and EnTT in C++): create projects in modern C++ using `SFML`, `EnTT`, `Conan` and `CMake`.
- Adding EnTT ECS to Chrysalis: a blog entry (and its follow-up) about the integration of `EnTT` into `Chrysalis`, an action RPG SDK for CRYENGINE games.
- Creating Minecraft in One Week with C++ and Vulkan: a crack at recreating Minecraft in one week using a custom C++ engine and Vulkan (code included).
- Ability Creator: project retrospect by Eric Hildebrand.
- EnTT Entity Component System Gaming Library: `EnTT` on GameFromScratch.com.
- Custom C++ server for UE5 optimized for MMO(RPG)s and its follow-up episode about player bots and full external ECS: a series definitely worth looking at.

## Any Other Business:

- ArcGIS Runtime SDKs by Esri: they use `EnTT` for the internal ECS and the cross-platform C++ rendering engine. The SDKs are used by a lot of enterprise custom apps, as well as by Esri for its own public applications such as Explorer, Collector and Navigator.
- FASTSUITE Edition 2 by Cenit: they use `EnTT` to drive their simulation, that is, the communication between robot controller emulator and renderer.
- Ragdoll: real-time physics for Autodesk Maya 2020.
- Project Lagrange: a robust geometry processing library by Adobe.
- AtomicDEX: a secure wallet and noncustodial decentralized exchange rolled into one application.
- Apparently NIO: there was a collaboration to make some changes to `EnTT`, at the time used for internal projects.
- Apparently Tieto: they published a job post where `EnTT` was listed on their software stack.
- Sequentity: A MIDI-like sequencer/tracker for C++ and `ImGui` (with `Magnum` and `EnTT`).
- EnTT meets Sol2: freely available examples of how to combine `EnTT` and `Sol2`.
- Godot meets EnTT: a simple example on how to use `EnTT` within `Godot`.
- Godot and GameNetworkingSockets meet EnTT: a simple example on how to use `EnTT` and `GameNetworkingSockets` within `Godot`.
- MatchOneEntt: port of Match One for `Entitas-CSharp`.
- GitHub contains also many other examples of use of `EnTT` from which to take inspiration if interested.