# EnTT in Action

`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 didn't make explicit announcements or contacted me
directly.

I hope this list can grow much more in the future:

* Games:
  * [Minecraft](https://minecraft.net/en-us/attribution/) by
    [Mojang](https://mojang.com/): of course, **that** Minecraft, see the
    open source attributions page for more details.
  * [Face Smash](https://play.google.com/store/apps/details?id=com.gamee.facesmash):
    a game to play with your face.
  * [EnTT Pacman](https://github.com/Kerndog73/EnTT-Pacman): an example of how
    to make Pacman with `EnTT`.
  * [Classic Tower Defence](https://github.com/kerndog73/Classic-Tower-Defence):
    a tiny little tower defence game featuring a homemade font.
    [Check it out](https://indi-kernick.itch.io/classic-tower-defence).
  * [The Machine](https://github.com/Kerndog73/The-Machine): a box pushing
    puzzler with logic gates and other cool stuff.
    [Check it out](https://indi-kernick.itch.io/the-machine-web-version).
  * [EnttPong](https://github.com/reworks/EnttPong): an example of how to make
    Pong with `EnTT`.
  * [Randballs](https://github.com/gale93/randballs): simple `SFML` and `EnTT`
    playground.
  * [EnTT Tower Defense](https://github.com/Daivuk/tddod): a data oriented tower
    defense example.
  * [EnTT Breakout](https://github.com/vblanco20-1/entt-breakout): simple
    example of a breakout game, using `SDL` and `EnTT`.

* Engines/Frameworks:
  * [The Forge](https://github.com/ConfettiFX/The-Forge) by
    [Confett](http://www.confettispecialfx.com/): a cross-platform rendering
    framework.
  * [Apparently](https://teamwisp.github.io/credits/)
    [Wisp](https://teamwisp.github.io/product/) by
    [Team Wisp](https://teamwisp.github.io/): an advanced real-time ray tracing
    renderer built for the demands of video game artists.
  * [starlight](https://github.com/DomRe/starlight): game programming framework
    using `Allegro`, `Lua` and modern C++.
  * [Apparently](https://github.com/JosiahWI/qub3d-libdeps)
    [Qub3d](https://qub3d.org/): because blocks should be open source.
  * [shiva](https://github.com/Milerius/shiva): modern C++ engine with
    modularity.

* Emulators:
  * [NovusCore](https://github.com/novuscore/NovusCore): A modern take on World
    of Warcraft emulation.

* Articles and blog posts
  * [Some posts](https://skypjack.github.io/tags/#entt) on my personal
    [blog](https://skypjack.github.io/) are about `EnTT`, for those who want to
    know **more** on this project.
  * [Space Battle: Huge edition](http://victor.madtriangles.com/code%20experiment/2018/06/11/post-ecs-battle-huge.html):
    huge space battle built entirely from scratch.
  * [Space Battle](https://github.com/vblanco20-1/ECS_SpaceBattle): huge space
    battle built on `UE4`.
  * [Experimenting with ECS in UE4](http://victor.madtriangles.com/code%20experiment/2018/03/25/post-ue4-ecs-battle.html):
    interesting article about `UE4` and `EnTT`.
  * [Implementing ECS architecture in UE4](https://forums.unrealengine.com/development-discussion/c-gameplay-programming/1449913-implementing-ecs-architecture-in-ue4-giant-space-battle):
    giant space battle.
  * [Conan Adventures (SFML and EnTT in C++)](https://leinnan.github.io/blog/conan-adventuressfml-and-entt-in-c.html):
    create projects in modern C++ using `SFML`, `EnTT`, `Conan` and `CMake`.

* Any Other Business:
  * The [ArcGIS Runtime SDKs](https://developers.arcgis.com/arcgis-runtime/)
    by [Esri](https://www.esri.com/): they use `EnTT` for the internal ECS and
    the cross platform C++ rendering engine. The SDKs are utilized by a lot of
    enterprise custom apps, as well as by Esri for its own public applications
    such as
    [Explorer](https://play.google.com/store/apps/details?id=com.esri.explorer),
    [Collector](https://play.google.com/store/apps/details?id=com.esri.arcgis.collector)
    and
    [Navigator](https://play.google.com/store/apps/details?id=com.esri.navigator).
  * [Apparently](https://www.linkedin.com/in/skypjack/)
    [NIO](https://www.nio.io/): there was a collaboration to make some changes
    to `EnTT`, at the time used for internal projects.
  * [MatchOneEntt](https://github.com/mhaemmerle/MatchOneEntt): port of
    [Match One](https://github.com/sschmid/Match-One) for `Entitas-CSharp`.
  * GitHub contains also
    [many other examples](https://github.com/search?o=desc&q=%22skypjack%2Fentt%22&s=indexed&type=Code)
    of use of `EnTT` from which to take inspiration if interested.

If you know of other resources out there that are about `EnTT`, feel free to
open an issue or a PR and I'll be glad to add them to this page.
