Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

EnTT 实际应用

目录

简介

EnTT 被广泛应用于私人和商业应用程序中。由于我过去在某些文件上签署的保密协议,我甚至无法提及其中的大部分。幸运的是,也有人花时间实现了基于 EnTT 的开源项目,并且在记录它们时毫不吝啬。

以下是一份不完整的游戏、应用程序和文章列表,可作为参考。
带有“据称 (apparently)”字样的地方表示 EnTT 的使用已有记录,但作者并未发表明确声明或未直接与我联系。

如果您知道其他关于 EnTT 的资源,请随时提交 issue 或 PR。我很乐意将它们添加到本页中。
我希望以下列表在未来能够大幅扩充。

EnTT 实际应用

游戏

  • Minecraft by Mojang: 当然是 那个 Minecraft,更多详情请参阅开源致谢页面。
  • Minecraft Legends by Mojang: 一款动作策略游戏,用户必须战斗以保卫主世界 (Overworld)。
  • Minecraft Earth by Mojang: 一款移动端增强现实 (AR) 游戏,让用户将 Minecraft 带入现实世界。
  • Ember Sword: 一款现代免费 (Free-to-Play) MMORPG,具有玩家驱动的经济系统、无职业战斗系统以及稀缺且可交易的装饰性收藏品。
  • 据称 Diablo II: Resurrected by Blizzard: 怪物、英雄、物品、法术,悉数复活。感谢不知名的内部人士。
  • 据称 Call of Duty: Vanguard by Sledgehammer Games: 我无法确认或否认,但在致谢名单中有一个我认识的许可证。
  • 据称 D&D Dark Alliance by Wizards of the Coast: 你的小队,他们的葬礼。
  • TiltedEvolution by Tilted Phoques: 用于在线游玩的 Skyrim 和 Fallout 4 mod。
  • Antkeeper: 一个蚁群模拟 游戏
  • Openblack: 游戏 Black & White (2001) 的开源重写版。
  • Land of the Rair: 新时代 复古风格 MUD 的新后端。
  • Face Smash: 一款用脸玩的游戏。
  • EnTT Pacman: 一个展示如何使用 EnTT 制作 Pacman 的示例。
  • Wacman: 一个使用 OpenGL 的 pacman 克隆版。
  • Classic Tower Defence: 一款带有自制字体的微型塔防游戏。 去看看
  • The Machine: 一款带有逻辑门和其他酷炫元素的推箱子解谜游戏。 去看看
  • EnTTPong: 一个用于展示 EnTT 和 C++17 不同部分的基础游戏。
  • Randballs: 简单的 SFMLEnTT 实验场。
  • EnTT Tower Defense: 一个面向数据 (data oriented) 的塔防示例。
  • EnTT Breakout: 使用 SDLEnTT 的简单打砖块游戏示例。
  • Arcade puzzle game with EnTT: 使用 SDL2EnTT 库在 C++ 中制作的街机解谜游戏。
  • Snake with EnTT: 使用 SDL2EnTT 库在 C++ 中制作的简单贪吃蛇游戏。
  • Mirrors lasers and robots: 一款基于镜子反射的小型塔防游戏。
  • PopHead: 使用 C++ 从零制作的 2D 僵尸 RPG 游戏。
  • Robotligan: 多人足球游戏。
  • DungeonSlayer: 使用 C++ 从零制作的 2D 游戏。
  • 3DGame: 2.5D 俯视角太空射击游戏。
  • Pulcher: 受 Quake 启发的 2D 跨平台游戏。
  • Destroid: 第 无数 款关于在太空中射击脏岩石的街机游戏,灵感来自 Asteroids。
  • Wanderer: 一款 2D 探索类独立游戏。
  • Spelunky® Classic remake: 一次真正的多平台体验,从零开始重写。
  • CubbyTower: 一款使用 C++ 和实体组件系统 (ECS) 的简单塔防游戏。
  • Runeterra: 使用 C++ 和一些强化学习的 Legends of Runeterra 模拟器。
  • Black Sun: 驾驶你的飞船穿越庞大的 2D 开放世界。
  • PokeMaster: 使用 C++ 和一些强化学习的 Pokémon Battle 模拟器。
  • HomeHearth: 选择你的英雄,保护小镇,趁一切还来得及。
  • City Builder Game: 一款使用 C++ 和 OpenGL 的简单城市建造游戏。
  • BattleSub: 带有部分流体动力学的双人 2D 潜艇游戏。
  • Crimson Rush: 一款受地牢探索 (dungeon-crawler) 和 Roguelike 启发的游戏,关于探索并尽可能长久地生存。
  • Space Fight: 单屏多人街机射击游戏原型。
  • Confetti Party: C++ 示例应用程序,作为使用 EnTTSDL2 的起点。
  • Hellbound: 一款俯视角动作 Rogue-like 游戏,在程序生成的地狱关卡中与巨大的恶魔战斗。
  • Saurian Sorcery: 一款塔防游戏,组建蜥蜴部落以抵御机器人入侵者。
  • robotfindskitten: 在 Notepad.exe 中运行的 robotfindskitten 克隆版,由 EnTT 提供支持。
  • Orion: 外太空研究与星际观测网络(一款太空射击游戏)。
  • EnTT Boids: 使用 EnTTRaylib 的简单 Boids(群集行为)实现。
  • PalmRide: After Flight: 一款带有复古 Outrun 美学风格的轨道射击游戏。
  • Exhibition of Speed: 打造你自己的赛车并参加比赛。
  • Lichgate: 俯视角动作 Rogue-like 游戏,用户在其中解锁能力以在无尽的世界中对抗成群的敌人。
  • Letalka: 小型演示游戏,屏幕上到处飞舞着飞船和子弹。
  • Lichgate: 穿上强大法师的长袍,下定决心阻止无情的亡灵大军。
  • You Are Circle: 一款具有高对比度矢量线条美学的 Roguelite 俯视角射击游戏。
  • EnTT Dino: 仅使用 SDL2EnTT 在 C++ 中实现的 Dinosaur Game(恐龙小游戏)克隆版。
  • Bim!: 一款适用于 Android 的最后一人生存 (last-man-standing) 街机在线游戏。
  • MonsterWar: 使用 C++ 结合 SDL3EnTT 及其他几个库开发的塔防游戏。

引擎及类似项目

  • Hazel Engine: 由 The Cherno 在其最著名的视频系列之一中创建的正在进行中的引擎。
  • Aether Engine v1.1+ by Hadean: 一个专为空间划分基于智能体的模拟 (agent-based simulations) 而设计的库。
  • Fling Engine: 一个专注于面向数据设计 (data oriented design) 的 Vulkan 游戏引擎。
  • NovusCore: 对 World of Warcraft 模拟器的现代化重塑。
  • Chrysalis: 用于 CRYENGINE 游戏的动作 RPG SDK。
  • LM-Engine: 游戏引擎界的 Vim。
  • Edyn: 一个组织为 ECS 的实时物理引擎。
  • MushMachine: 引擎… 轰隆隆。
  • Antara Gaming SDK: Komodo 游戏软件开发工具包。
  • XVP: 用于 Unreal Engine 的 eXpansive Vehicle Physics 插件。
  • 据称 Wisp by Team Wisp: 专为视频游戏艺术家需求构建的高级实时光线追踪渲染器。
  • shiva: 具有模块化的现代 C++ 引擎。
  • ImGui/EnTT editor: 一个无缝替换 (drop-in)、单文件的 EnTT 实体编辑器,使用 ImGui 作为图形后端(附带 演示代码)。
  • SgOgl: 为教育目的开发的 OpenGL 游戏引擎库。
  • Lumos: 使用 C++ 以及 OpenGL 和 Vulkan 编写的游戏引擎。
  • Silvanus: Silvanus Fusion 360 盒子生成器。
  • Lina Engine: 一个开源、模块化、小巧且快速的 C++ 游戏引擎,旨在开发 3D 桌面游戏。
  • Spike: 一个甚至能在烤面包机上运行的强大游戏引擎。
  • Helena Framework: 一个用于后端开发的现代 C++17 框架。
  • Unity/EnTT: 使用 EnTTUnity 作为渲染引擎的原生模拟层技术演示。
  • OverEngine: 一个过度工程化 (overengineered) 的游戏引擎。
  • Electro: 高度重视渲染的高性能 3D 游戏引擎。
  • Kawaii: 一个现代的面向数据的游戏引擎。
  • Becketron: 主要使用 C++ 编写的游戏引擎。
  • Spatial Engine: 基于 Google Filament 渲染引擎创建的跨平台引擎。
  • Kaguya: D3D12 渲染引擎。
  • OpenAWE: Alan Wake Engine 的开源实现。
  • Nazara Engine: 快速、跨平台、面向对象的 API,旨在帮助开发者的日常工作。
  • Billy Engine: 某种基于 SDL2EnTT 的 2D 引擎。
  • Ducktape: 一个开源的 C++ 2D 和 3D 游戏引擎,专注于快速和强大。
  • The Worst Engine: 一个基于 OpenGL 的游戏引擎。
  • Ecsact: 一种旨在描述 ECS 的语言,带有基于 EnTT运行时实现
  • AGE (Arc Game Engine): 一个用于构建 2D 和 3D 实时渲染及交互内容的开源引擎。
  • Kengine: Koala engine 是一个完全作为 entity-component-system 实现的游戏引擎。
  • Scion2D: 附带 YouTube 系列教程 的 2D 游戏引擎。
  • EnTT Editor: 一个用于 EnTT 库的编辑器,将其内置的反射系统与 ImGui 结合。
  • Era Game Engine: 一个现代的基于 ECS 的游戏引擎。
  • Core SDK of Trollworks engine: 基于拖延症 (procrastination) 的 2D 游戏引擎。
  • Rocky: 3D 地理空间应用引擎。
  • Donner: 带有 CSS3 的现代 C++20 SVG2 渲染 API。
  • Coral Engine: 开源的学生引擎,带有使用 C++ 和可视化脚本制作游戏的工具。
  • Star Engine: 一个高级 C++ DirectX 11 游戏引擎。
  • Darmok: 另一个 C++ 游戏引擎。
  • Magique: 面向程序员(或尚未成为程序员的人)的 2D 游戏引擎。
  • Physecs: 基于 EnTT 构建的实时 3D 刚体物理模拟。
  • KODZA: 一个正在进行中的游戏引擎。
  • Omnax: 一个正在开发中的多用途 3D 引擎,适用于 macOS,使用 EnTT 作为 ECS。

文章、视频与博客文章

其他应用

  • ArcGIS Runtime SDKs by Esri: 他们使用 EnTT 作为内部 ECS 和跨平台 C++ 渲染引擎。这些 SDK 被大量企业定制应用使用,也被 Esri 用于其自身的公共应用程序,例如 ExplorerCollectorNavigator
  • OneArc: 许可证 不会撒谎。他们的产品以某种方式使用了 EnTT,但 具体方式 未知。
  • FASTSUITE Edition 2 by Cenit: 他们使用 EnTT 来驱动其模拟,即机器人控制器模拟器与渲染器之间的通信。
  • Ragdoll: Autodesk Maya 2020 的实时物理插件。
  • Project Lagrange: 由 Adobe 开发的强大几何处理库。
  • AtomicDEX: 一个集安全钱包和非托管去中心化交易所于一身的应用程序。
  • 据称 NIO: 曾有过合作对 EnTT 进行一些修改,当时它被用于内部项目。
  • 据称 Tieto: 他们发布了一份招聘信息,其中 EnTT 被列为其软件栈的一部分。
  • Sequentity: 适用于 C++ 和 ImGui(结合 MagnumEnTT)的类 MIDI 音序器/跟踪器。
  • EnTT meets Sol2: 免费提供的示例,展示如何结合 EnTTSol2
  • Godot meets EnTT: 一个关于如何在 Godot 中使用 EnTT 的简单示例。
  • Godot and GameNetworkingSockets meet EnTT: 一个关于如何在 Godot 中使用 EnTTGameNetworkingSockets 的简单示例。
  • MatchOneEntt: 将 Match One(针对 Entitas-CSharp)移植的版本。
  • GitHub 上还包含 许多其他示例,展示了 EnTT 的使用,如果感兴趣可以从中汲取灵感。