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?
- [40] C# -> C++ / C / Rust
- 套壳
- [35] Unity + CoreCLR + NativePlugin + Burst
好处: 1. 工具链完善 资源商店多
坏处: 1. 主权不够 可定制性有限 2. C#性能存在问题(写体素密集计算/核心), NativePlugin/Burst又不够方便 - [30] Unreal + Cpp Script
好处: 1. C++脚本性能可 2. 工具链完善 资源商店多
坏处: 1. 开发环境Fat, Cpp脚本编译时间更长 2. 不习惯用蓝图 更喜欢C#脚本
- [35] Unity + CoreCLR + NativePlugin + Burst
- 调包
- [10] Rust + Bevy
好处: 1. Rust + BevyECS 尝鲜 2. 配套工具不需自己写 直接用插件
坏处: 1. 渲染性能还不行 2. ECS+Rust Gameplay开发效率太低 3. 没有商业验证过 风险较高 - [10] (魔改引擎) Modified e.g. CryEngine
好处: 1. 配套功能完善 2. 可乱改
坏处: 2. 较fat, 不纯 还不如用2U
- [10] Rust + Bevy
关于 纯自写引擎:如果是单纯的 Tech Demo 那可以纯手写渲染 物理等。追求高效极致&和简约,单纯突出某项技术效果.
但如果要写完善的游戏 那就不行了 比如大气渲染 体积雾体积云 就要个把月时间。除非你是什么旷世神人
关于 中间件+自写引擎: 这是可行的。比如 C++ 物理用PhysX/Jolt, UI用ImGui,渲染用..? ECS用EnTT。
Graphics
如果是徒手写 TechDemo,那么推荐 OpenGL4,如果是践习现代图形api 那么推荐 Vulkan Wgpu. 顺带了解 DX12 Metal
如果是真要做3d游戏,那么还是推荐用现有渲染器。否则
- https://github.com/DiligentGraphics/DiligentEngine/releases
- https://github.com/turanszkij/WickedEngine
- https://github.com/bkaradzic/bgfx/blob/master/examples/36-sky/sky.cpp
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: