Duality 2D 游戏开发框架
Duality 是一个基于 C# 与 OpenTK 的插件化 2D 游戏开发框架,自带可视化编辑器与场景系统,采用 MIT 协议开源,适合用 .NET 技术栈制作 2D 游戏与原型。
爱鲜报评分
0 人评分
1.4k
星数
否
中文
C#
主语言
是
活跃
47
贡献者
人工分析
EDITORIAL推荐理由
Duality 把「引擎内核 + 可视化编辑器」打包成一套完整的 C# 2D 开发方案,组件化设计与插件机制让扩展相当自由,对于熟悉 .NET 的开发者上手成本低。项目已停止维护但最新版本稳定可用,适合学习 2D 引擎架构或做小型项目与 Game Jam。需要注意包管理器已失效,插件需手动从 NuGet 下载解压。
适用场景
- 用 C#/.NET 开发 2D 独立游戏
- Game Jam 快速原型与玩法验证
- 学习 2D 游戏引擎与编辑器架构
- 为教学/课程制作 2D 游戏示例
- 在现有 Duality 项目上做二次开发与插件扩展
优点
- C# + OpenTK 技术栈,.NET 开发者上手快
- 自带可视化编辑器,场景、资源、组件编辑一体化
- 插件化架构,核心与编辑器均可扩展
- MIT 协议,商用与修改限制少
- 跨平台可移植,非 Windows 平台可构建核心项目
缺点
- 项目已无限期搁置,不再有新功能与官方支持
- 包管理器因 NuGet API 变更而失效,插件需手动安装
- 社区与中文资料较少,遇到问题主要靠读源码
- 非 Windows 平台只能构建核心项目,编辑器项目需卸载
Duality 是什么
Duality 是一个基于 C# 和 OpenTK 的 2D 游戏开发框架,采用插件化架构,并附带一套可视化编辑器。它把「引擎运行时」和「编辑器」放在同一个解决方案里,开发者可以在图形界面中搭建场景、挂载组件、编辑资源,再用 C# 编写游戏逻辑。
项目使用 MIT 协议开源,在 GitHub 上约有 1.4k Star,官方主页为 https://adamslair.github.io/duality,文档位于 https://adamslair.github.io/duality-docs。
核心特性
- 组件化对象模型:游戏对象由组件组合而成,逻辑与数据分离,便于复用。
- 可视化编辑器:内置场景编辑器、资源管理与属性面板,所见即所得地搭建 2D 场景。
- 插件体系:核心、编辑器、渲染等模块都以插件形式组织,可按需裁剪或扩展。
- 跨平台:基于 OpenTK 与 .NET,可在 Windows、Linux、macOS 上构建运行。
- 示例项目:仓库自带多个示例工程,构建后可直接作为启动项目运行。
从源码构建
在 Windows 上可用 Visual Studio 或 MonoDevelop 打开 Duality.sln,选择「Build Solution」即可。命令行构建前需要先还原依赖:
nuget restore Duality.sln
构建产物统一输出到 Build/Output 目录,示例项目的产物位于各自的 Content/Plugins 子目录。运行示例时,可在 IDE 中将其设为启动项目,或直接使用 DualityEditor / DualityLauncher 作为启动项。
注意:在非 Windows 系统上只能构建核心项目,需要先卸载编辑器相关工程。
项目现状与注意事项
项目作者已明确表示 Duality 处于无限期搁置状态,最新版本稳定可用,但存在以下限制:
- 包管理器已失效:由于 NuGet API 变更,编辑器内的包管理功能无法工作。如需使用插件,可在 NuGet 上搜索
duality plugin,下载包后手动解压 dll 到 Duality 的 plugins 目录。 - v4 分支:master 分支上曾开发 v4,相对稳定,可按上述方式构建,但官方没有后续开发计划。
适合谁使用
如果你熟悉 C#/.NET,想找一个轻量、可读性强、带编辑器的 2D 框架来做小项目、教学示例或 Game Jam 原型,Duality 仍然值得一看;但若需要长期维护与活跃社区支持,建议优先考虑 Godot、MonoGame 等仍在持续更新的方案。
评论
- 暂无评论,来写第一条吧。