Elytra
EthertiaSolution

Solution

Engine solution

目标: 3D 沙盒体素游戏, 良好画质 高性能, 注重Mod支持, 支持低功耗笔记本 追求极简&轻量&主权

  • 手搓
    • [40] C# -> C++ / C / Rust
      好处: 1. 全功能C#支持, 极好的C# Mod支持 2. 可调 C++ 也可调 Rust
      坏处: 1. 会不会本末倒置了? 性能会不会大减? 这意味着 大部分都是C#写 而不是C++了
    • [50] C++ -> C# / Py / As / Lua
      好处: 1. 传统做法 商业验证过 2. 性能友好 核心/对性能有要求的 都可以用C++写 3. Gameplay可用C# Py写
      坏处: 1. 开发成本 大部分都是C++ 没C#改的快 2. Mod支持 不如C#宿主支持好
    • [20] Rust -> C# / Rhai
      好处: 尝鲜Rust
      坏处: 生态不完善 有风险. 不如用 Bevy?
  • 套壳
    • [35] Unity + CoreCLR + NativePlugin + Burst
      好处: 1. 工具链完善 资源商店多
      坏处: 1. 主权不够 可定制性有限 2. C#性能存在问题(写体素密集计算/核心), NativePlugin/Burst又不够方便
    • [30] Unreal + Cpp Script
      好处: 1. C++脚本性能可 2. 工具链完善 资源商店多
      坏处: 1. 开发环境Fat, Cpp脚本编译时间更长 2. 不习惯用蓝图 更喜欢C#脚本
  • 调包
    • [10] Rust + Bevy
      好处: 1. Rust + BevyECS 尝鲜 2. 配套工具不需自己写 直接用插件
      坏处: 1. 渲染性能还不行 2. ECS+Rust Gameplay开发效率太低 3. 没有商业验证过 风险较高
    • [10] (魔改引擎) Modified e.g. CryEngine
      好处: 1. 配套功能完善 2. 可乱改
      坏处: 2. 较fat, 不纯 还不如用2U

关于 纯自写引擎:如果是单纯的 Tech Demo 那可以纯手写渲染 物理等。追求高效极致&和简约,单纯突出某项技术效果.
但如果要写完善的游戏 那就不行了 比如大气渲染 体积雾体积云 就要个把月时间。除非你是什么旷世神人

关于 中间件+自写引擎: 这是可行的。比如 C++ 物理用PhysX/Jolt, UI用ImGui,渲染用..? ECS用EnTT。

Graphics

如果是徒手写 TechDemo,那么推荐 OpenGL4,如果是践习现代图形api 那么推荐 Vulkan Wgpu. 顺带了解 DX12 Metal

如果是真要做3d游戏,那么还是推荐用现有渲染器。否则

UI

  • ImGui

Physics

  • PhysX
  • Jolt
  • Bullet

Core, Math

  • glm
  • eastl

ECS?

  • EnTT
  • BevyECS

Networking?

  • GRPC
  • ENet

Audio?

  • OpenAL
  • Wwise

Scripting?

  • Lua
  • Angel Script
  • Rhai

Storage

  • json
  • bindary
  • KeyValue: LevelDB

Misc

  • XR
  • File Dialog
  • Assets Loader: (image, mesh, sound, font, )
  • Debug (Optick Profiler, )
  • Window:

On this page