# LingFanEngine **Repository Path**: MoFeng-02/LingFanEngine ## Basic Information - **Project Name**: LingFanEngine - **Description**: LingFan Engine:一个基于 C# + Avalonia 的叙事游戏引擎。支持视觉小说、沙盒叙事、动态世界认知——让写故事的人更专注于故事。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: https://mofeng-02.github.io/LingFanEngine/ - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-07-09 - **Last Updated**: 2026-08-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: Avalonia, dotNET, narrative-engine, novel-world-engine, Csharp ## README [中文] | [English](./README.en.md) # 灵泛引擎(LingFan Engine) 是一个基于 .NET、C#、Avalonia 为核心框架开发的叙事、沙盒类小说游戏引擎。 灵泛以“一切皆为 List 和 Dict”的思想驱动一切,但同时对 AOT 友好。我在 AOT 友好的前提下,依然保持了高度动态的叙事能力——这点是我自己预料到并且验证过的。 “灵泛”二字不是空穴来风,是我在设计之初的灵光一现。嗯,所以这个名字就这样诞生了。 我借鉴了 Ren‘Py,但没有照抄。我参考了一些思想和 API,然后做了自己的本地化。 --- ### 灵泛引擎可以干什么? - 做叙事小说类游戏 - 做沙盒类小说游戏 - 高度可自定义拓展(基于 DI,你可以替换掉大部分默认行为) --- ### 灵泛引擎的推荐思想是什么? **世界观上的自然。** 你在没触发 NPC 或场景之前,我们推荐别写到全局。我们支持场景级的 NPC 属性注入——在你不认识他之前,他也不认识你,没有数据。 --- ### 我们该做什么? 引擎不做游戏相关的预制,只预制了引擎核心状态。但我们提供了一些 Handler 能力,你可以复用,也可以自定义。 --- ### 开发范式推荐 如果你是 C# 开发者,我推荐你面向 AOT 开发。 因为基于 AOT 的情况下,安全性更好。AOT 不难,我推荐它作为第一开发范式,但如果你愿意,也可以 JIT 式开发。 ### 给 DSL 创作者的悄悄话 如果你愿意的话,更好的方式还是面向 C# 开发,DSL更合适写故事。 DSL 更适合写故事流程,因为它天然支持文本级回溯。C# 适合写扩展功能——如果需要精确读档,请用 DSL;如果不需要,就用 C# 是的,它不难,它很优雅,你的选项很多。 ## 致社区朋友们 首先,感谢你的到来。这个引擎还很年轻,但我相信它已经承载了一些独特的东西——将 AOT 的安全性与动态叙事融为一体,而这一切仅由 List 和 Dict 驱动。如果你觉得它有用,一个 star 就是对我最大的鼓励;如果你发现了 bug 或不够完善的地方,请提交 issue —— 我一个人确实无法覆盖所有测试。 ### 我为什么建造它 我喜欢视觉小说和沙盒游戏,但一直没有找到真正拥抱 AOT 又能保持灵活性的引擎。所以我从头开始构建了一个——以 AOT 为地基,而非后期修补。事实证明,“List & Dict”哲学达到了一个奇妙的平衡:你既享有编译时安全,又拥有运行时动态。我强烈建议你在扩展引擎时也采用 AOT 优先的思路——它现代、安全,而且面向未来。 对于 DSL 作者:一旦你编译好了游戏外壳,就可以在 DSL 中编写和迭代整个故事,无需重新编译。只需加密你的 story 文件,大部分数据变更都能在 DSL 内完成——只有新增功能时才需要重新编译。这意味着你把精力聚焦在叙事上,而不是反复等待构建。