2D 引擎 · 开源

创意化作代码。
世界随之
律动。

用于探索创造可能性的 C++ 游戏引擎。2D 渲染、场景、音频和工具,构成一套可以从头到尾理解的架构。

>_C++20 / SFML 3.1 / 你的下一个创意。
Awesome Engine / Runner2D
Runner 真实截图:角色在灯光照亮的城市屋顶间奔跑并穿越障碍。
使用 AWESOME ENGINE 运行↗
构建于
可靠基础。
C++20◈ SFMLTGUI1.13△ CMake查看技术 ↗
01 / 引擎内部

赋予创意生命的
组件。

从第一个事件到最后一个像素。具体的系统协同工作,开放的实现供你探索。

还有:资源、粒子、界面、JSON 存档和截图。了解引擎 →
02 / 清晰易懂的架构

从代码到画面。
没有黑盒。

引擎负责协调,场景定义游戏,管理器负责所需资源和系统。

01场景Scene::Render()
02RenderTexture离屏绘制
03Bloom + MonitorGLSL 后处理
04窗口GUI + 光标 + display

以下代码中已实现管线的示意: RenderManager.

探索架构 ↗
03 / 使用 Awesome Engine 制作

让代码鲜活起来。

打开游戏展示 ↗
Runner 真实游戏过程,展示多层城市、障碍和距离 HUD。
引擎场景

Runner

不停前进的城市。
奔跑、跳跃、滑行。

视差精灵粒子音频
观看游戏运行 ↗
04 / 从基础开始

阅读源码。
理解引擎。
构建下一个作品。

C++20 基础、通过 CMake 声明的依赖,以及与源码相连的文档。

浏览文档 ↗
Engine / Source / Main.cpp
int main() {
  Engine engine;

  while (engine.IsRunning()) {
    engine.ProcessEvent();
    engine.Update();

    if (!engine.HasFocus()) {
      sf::sleep(sf::milliseconds(10));
      continue;
    }

    engine.Render();
  }
}
真实引擎循环 · 查看源码 ↗
下一步由你迈出

打开源码。
点亮一个创意。