EnTT: EnTT in Action

EnTT 3.16.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.
- You Are Circle: a roguelite top-down shooter with a high-contrast vector line aesthetic.
- EnTT Dino: a Dinosaur Game clone in C++ using only SDL2 and EnTT.

## 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).
- Physecs: real-time 3D rigid body physics simulation built on EnTT.

## 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.
- OneArc: licenses do not lie. Their products use EnTT in some way, but it is not known what way.
- 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.