Atomic Game Engine 原子游戏引擎
Atomic 是一款多平台 2D/3D 游戏引擎,源自 Urho3D 分支,提供 C++、C#、JavaScript、TypeScript 四语言一致的 API,支持 Windows、macOS、Linux、Android、iOS 与 WebGL 部署,并自带可视化编辑器。项目已停止维护,但代码与工具链仍具参考价值。
爱鲜报评分
0 人评分
3.5k
星数
否
中文
C++
主语言
是
活跃
43
贡献者
人工分析
EDITORIAL推荐理由
作为 Urho3D 的知名分支,Atomic 展示了如何用一套原生 C++ 核心同时向 C#、JS、TS 暴露一致 API,脚本绑定自动生成、编辑器子进程预览等设计思路值得引擎开发者借鉴。它支持多平台一键部署与 FBX、Blender、Tiled 等资源导入,适合研究跨语言游戏引擎架构。需注意项目已停止维护,不建议用于新商业项目,更适合学习、二次开发或历史项目维护。
适用场景
- 学习跨语言游戏引擎架构与脚本绑定实现
- 研究 Urho3D 分支的编辑器与预览机制
- 维护或迁移已有的 Atomic 历史项目
- 作为 C++ 原生引擎集成到现有工程的参考
- 教学演示 2D/3D 多平台部署流程
优点
- C++、C#、JavaScript、TypeScript 四语言 API 高度一致
- 覆盖 Windows、macOS、Linux、Android、iOS、WebGL 多平台
- 内置 Monaco 编辑器并支持 VSCode、Atom、Visual Studio 等 IDE
- 集成 Box2D、Bullet、Recast/Detour、TurboBadger、CEF3 等成熟第三方库
- 采用 MIT 宽松许可,可自由 fork 与二次开发
缺点
- 官方已明确停止开发与维护,Issue 不再处理
- 构建依赖较多,从源码编译门槛较高
- 社区活跃度下降,文档与教程更新滞后
- 部分平台工具链(如移动端打包)可能已过时
Atomic Game Engine 简介
Atomic Game Engine(原子游戏引擎)是一款多平台 2D/3D 游戏引擎,由 THUNDERBEAST GAMES 于 2014 年基于 Urho3D 分支开发,2016 年 GDC 期间以 MIT 许可发布。其核心卖点是用一套一致的 API 同时服务 C++、C#、JavaScript 和 TypeScript,让不同技术栈的开发者都能使用同一套引擎能力。
注意:官方已声明 Atomic 不再积极开发或维护,Issue 不再处理,仅可能接受修复构建问题的 PR。以下内容主要用于学习与历史项目参考。
核心特性
- 一致的 2D/3D API:JavaScript、TypeScript、C#、C++ 四种语言共享同一套接口设计。
- 多平台部署:支持 Android、iOS、Windows、macOS、Linux 以及 WebGL。
- 编辑器与 IDE 集成:内置 Monaco JavaScript/TypeScript 编辑器,支持 VSCode、Atom,以及 Visual Studio、Xamarin Studio、MonoDevelop 的 C# 集成。
- 高性能原生核心:C++ 核心,单命令构建,依赖极少。
- 场景图与渲染:基于节点的场景图,可访问底层图形 API,支持 D3D 9/11、OpenGL 2/3/ES2 与 WebGL 自定义渲染。
- 模块化组件系统:C#、JavaScript、TypeScript、C++ 逻辑组件,并支持网络功能。
- 资源导入:拖拽导入 Autodesk FBX、Collada、Blender、Spriter、Tiled 等标准 2D/3D 格式。
- 子进程预览模式:编辑器预览运行在子进程中,提升稳定性、减少内存碎片,并为未来设备端预览打基础。
- Chromium WebView:可用于电商支付、Facebook 社交图谱、视频流等场景。
- 第三方集成:Box2D/Bullet 物理、Recast/Detour 寻路、TurboBadger UI、CEF3、duktape VM、SDL2 等。
技术架构概览
Atomic 采用「原生核心 + 脚本绑定」的分层设计:
C++ 原生核心(渲染 / 物理 / 场景图)
│ 自动生成脚本绑定
▼
C# / JavaScript / TypeScript 逻辑层
│
▼
Atomic Editor(可视化编辑 + 子进程预览)
脚本绑定由工具自动生成,使新增的 C++ 子系统能够较方便地暴露给上层脚本语言。
构建与使用
官方提供了从源码构建 Atomic Editor 的说明,位于项目 Wiki 的 Building Atomic from Source 页面。由于依赖较多、平台差异明显,从源码编译通常需要一定的 C++ 与构建系统经验。项目也提供预编译二进制版本,可直接下载体验。
社区与文档
- 文档:项目 Wiki
- 社区:Discourse 论坛与 Gitter 聊天室
适用与不适用
适合:学习跨语言游戏引擎架构、研究 Urho3D 分支实现、维护历史项目、作为 C++ 原生引擎集成的参考。
不适合:需要长期维护与官方支持的新商业项目,建议优先考虑 Godot、Unity、Unreal 等仍在活跃迭代的引擎。
评论
- 暂无评论,来写第一条吧。