open-sourcegameroguelikeelonarpgdotnetmoddable-engine type: concept 创建: 2026-04-10 更新: 2026-04-10
OpenNefia
Elona 日本 roguelike RPG 的模块化开源引擎复刻
基本信息
核心技术点
架构设计
- 模块化引擎:OpenNefia.Core (核心) + OpenNefia.Content (游戏内容) + OpenNefia.EntryPoint (入口) 分离架构
- IoC 依赖注入:OpenNefia.Core.IoC 命名空间实现服务定位器模式,ContentIoC.cs 统一注册游戏内容系统
- 原型系统 (Prototypes):YAML 数据驱动原型定义 (Prototypes/ 目录),类型化实体注册机制
- Harmony 运行时补丁:Lib.Harmony 2.2.0 实现游戏运行时补丁 (类似无源码 Modding)
脚本与 Mod
- NLua (1.6.0):Lua 5.3 脚本集成,游戏逻辑热重载支持
- NuGet Protocol:内置 Mod 加载器使用 NuGet.Protocol 6.8.0 实现包管理与依赖解析
- ContentPack 系统:模块化内容包架构,支持独立发行游戏 Mod
- YAML 配置:YamlDotNet 11.2.1 处理游戏数据 (原型/配置/存档)
核心子系统
- Game/GameController:游戏主循环与状态管理
- Maps:程序化地牢生成,Elona 风格随机地下城
- GameObjects/Components:实体组件系统 (ECS) 雏形
- UI/UserInterface:Love2D 渲染层之上的 UI 框架
- Serialization:游戏存档系统,Newtonsoft.Json 13.0.3
- Audio:Melanchall.DryWetMidi 6.0.0 处理 MIDI 音乐
开发工具
- CSharpRepl:内置 C# REPL 支持运行时调试与脚本执行
- OpenNefia.Analyzers:自定义 Roslyn 分析器,代码质量检查
- XAML 注入器:OpenNefia.XamlInjectors / XamlNameGenerator,MVVM UI 开发
- Benchmarks:OpenNefia.Benchmarks 性能基准测试
玩法特点
- Elona 复刻:继承 Elona 经典 roguelike 元素(随机地牢、角色养成、物品制作)
- 高自由度:Elona 以内购拍卖、农场经营、宠物系统等沙盒玩法闻名
- 现代引擎:相比原版 HSP 解释器,.NET 8.0 提供更好性能与跨平台支持
对公司 AI 游戏的参考价值
| 方向 |
启示 |
| .NET 游戏架构 |
Core/Content/EntryPoint 三层分离,IoC 服务注册,清晰的模块边界 |
| 运行时 Mod 系统 |
Harmony 补丁 + NuGet 包管理 = 可扩展游戏框架设计 |
| 脚本热重载 |
NLua 集成 Lua 脚本,游戏逻辑解耦,支持玩家创作 |
| 原型数据驱动 |
YAML 原型系统 + 类型化实体注册,数据驱动的游戏内容定义 |
| Love2D 渲染封装 |
底层 2D 引擎封装,自研 UI 层,性能与生产力平衡 |
相关页面