前言
和小伙伴开发游戏,开帖记录一下游戏引擎选型,顺便对比一下游戏服务端框架,不包含通用 BaaS,如:Firebase、Supabase、Appwrite。
游戏引擎
| 引擎 | 支持 Web | 可视化编辑器 | 编程语言 | 服务端 SDK | 2D 支持 | 费用 |
|---|---|---|---|---|---|---|
| Godot | 是 | 有 | GDScript/C#/C++ | 有 | 极好 | 开源免费 |
| Defold | 是 | 有 | Lua | 有 | 极好 | 开源免费 |
| Cocos Creator | 是 | 有 | TS/JS | 有 | 很好 | 开源免费 |
| LayaAir | 是 | 有 | TS/JS/AS | 有 | 很好 | 开源免费 |
| PixiJS | 是 | 无 | JS/TS | 无 | 很好 | 开源免费 |
| Three.js | 是 | 无 | JS/TS | 无 | 一般 | 开源免费 |
| MonoGame | 否 | 无 | C# | 无 | 很好 | 开源免费 |
| Stride | 否 | 有 | C# | 无 | 很好 | 开源免费 |
| FlatRedBall | 是 | 有 | C# | 无 | 极好 | 开源免费 |
| BabylonJS | 是 | 无 | JS/TS | 无 | 差 | 开源免费 |
| Unreal | 否 | 有 | C++/Blueprints | 有 | 一般 | 免费版无限制,达到收入阈值后收费 |
| Unity | 是 | 有 | C# | 有 | 很好 | 免费版无限制,达到收入阈值后收费 |
| CryEngine | 否 | 有 | C++/Lua | 有 | 一般 | 免费版无限制,达到收入阈值后收费 |
| Wonderland Engine | 是 | 有 | JS/TS | 无 | 差 | 免费版无限制,达到收入阈值后收费 |
| Phaser | 是 | 无 | JS/TS | 无 | 极好 | 引擎开源免费,编辑器收费 |
| Stencyl | 是 | 有 | 无代码 | 无 | 很好 | 免费版有限制 |
| GDevelop | 是 | 有 | 事件系统,可扩展 JS | 无 | 极好 | 免费版有限制 |
| PlayCanvas | 是 | 有 | JS | 无 | 一般 | 免费版有限制 |
| Unigine | 否 | 有 | C++/C# | 部分 | 差 | 免费版有限制,达到收入阈值后收费 |
| GameMaker | 是 | 有 | GML 专有语言 | 无 | 极好 | 非商业免费,商业收费 |
| Construct | 是 | 有 | 事件系统,可扩展 JS | 无 | 极好 | 收费 |
游戏服务端框架
| 服务端框架 | 开源 | 自托管 | 实时通信 | 匹配/房间 | 数据库/持久化 | SDK 支持(示例) |
|---|---|---|---|---|---|---|
| Nakama | 是 | 是 | 是 | 有 | 内置 | JS/TS、C#、Unity、Godot |
| PlayFab | 否 | 否 | 是 | 有 | 内置 | JS、C#、Unity |
| Colyseus | 是 | 是 | 是 | 有 | 需集成 | JS/TS、Unity、Defold、Godot |
| Photon | 否 | 是(收费) | 是 | 有 | 需集成 | JS、C#、Unity |
| Wonderland Cloud | 否 | 否 | 部分(空间音频) | 无 | 需集成 | JS |
| Lance.gg | 是 | 是 | 是 | 无 | 需集成 | JS/TS |
| W4 Cloud | 是 | 是 | 是 | 有 | 内置 | Godot |
| Skynet | 是 | 是 | 是 | 无 | 需集成 | Lua(官方),支持 C 扩展 |
结论
我们要求支持 Web,有可视化编辑器,支持通用编程语言,有服务端 SDK,2D 支持好,引擎和编辑器免费,满足需求的框架有:Godot,Defold,Cocos Creator,LayaAir,Unity。
我们的游戏《异星幸存者》https://store.steampowered.com/app/3676310 上架 Steam 了,不用 Unity 是因为国内只能用团结引擎。