xianxia-AI-town-AI-
大模型驱动 NPC 自主决策的游戏引擎,NPC 与玩家平权的修仙世界
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
大模型驱动 NPC 自主决策的游戏引擎,NPC 与玩家平权的修仙世界
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你在一个飘着淡淡灵气的修仙小镇醒来,推开木门,街对面的李长老正坐在古松下品茶,远处药王谷的弟子们正在灵草田中采集——这些NPC不是预设了固定台词的"假人",而是由大语言模型驱动、拥有独立记忆和决策能力的"活"角色。你走过去与李长老对话,他记得三天前你帮他采集过灵草,还主动提起了门派最近的任务,甚至会根据你的修为境界给出针对性的修炼建议。这就是修仙AI小镇(xianxia-AI-town)想做的事情——用大模型为游戏NPC注入真正的"灵魂"。
2023年,斯坦福大学和Google的一篇论文让"生成式智能体"(Generative Agents)火遍全网。研究者们在一个像素风虚拟小镇里放进25个AI驱动的虚拟居民,让他们自己起床、做早餐、上班、社交——其中一个叫 Isabella 的居民想办情人节派对,消息就在居民间口口相传,最终真的有人按时赴约,中间还冒出了"暗恋"的桥段。这一切没有剧本、没有预设,全是AI"演"出来的。
修仙AI小镇正是这一范式的中国修仙题材复现。开发者以经典的"修仙"世界观为舞台,用大模型驱动NPC的决策逻辑,让每一个NPC都能记住与玩家的交互历史、根据自身门派立场和性格做出合理反应。"NPC和玩家平权"——这是项目README的第一句话,也是核心设计理念:不是玩家操控NPC,而是两者在同一片天地里各自修行、彼此互动。
从技术实现上看,修仙AI小镇是一个纯前端单文件游戏,所有代码和资源打包在 index.html 中,通过CDN引入 Matter.js 物理引擎处理游戏内的碰撞检测、刚体模拟和物理交互。这种架构带来一个显著优点:无需任何服务端,玩家在浏览器中打开 HTML 文件即可直接游玩。
游戏世界采用经典的2D俯视角设计。地图被划分为多个灵力浓度不同的区域——普通灵脉、充裕灵泉眼、浓郁仙山福地、洞天福地等。灵力浓度直接影响修炼效率,最高可达3.5倍加成。玩家通过WASD或方向键控制角色移动,按E键与NPC交互、按空格键战斗、按B键建造建筑、按C键合成物品、按X键开启修炼面板。
大模型的应用体现在NPC对话系统中。当玩家与NPC对话时,可选择"自由对话"模式,此时系统会调用阿里云通义千问(Qwen-turbo)API,让NPC拥有真正的自然语言理解和生成能力。项目作者在文档中详细说明了如何配置API Key:访问阿里云DashScope控制台,开通服务后创建API Key,在游戏内对话界面点击"API设置"粘贴Key并保存,即可激活AI对话功能。
不过需要指出的是,当前的AI对话并非真正的多智能体协作——NPC之间不会自主社交,每个NPC的记忆和状态也是独立维护的,更接近"带记忆的单轮问答"而非"持续运行的社会模拟"。
项目的代码组织非常清晰,核心逻辑按功能划分为多个独立模块:
engine/core.js:游戏核心引擎,处理初始化、主循环和游戏状态管理engine/renderer.js:基于Canvas的2D渲染器,负责将游戏世界绘制到屏幕上engine/state.js:全局状态管理,跟踪玩家属性、NPC数据、世界状态systems/building.js:建造系统,支持小屋、营火、练功场、炼丹房、聚灵阵等建筑systems/combat.js:战斗系统,包含攻击判定、连击计算、敌对关系逻辑systems/cultivation.js:修仙核心,实现修为积累、境界突破和功法修炼systems/dialog.js:对话系统,管理NPC对话选项和AI调用接口systems/faction.js:门派系统,支持青云门、药王谷、天音宗、万剑宗四大门派systems/social.js:社交系统,处理NPC关系值和好感度systems/survival.js:生存系统,包括饥饿、体力、免疫力等生命体征systems/weather.js:天气系统,动态影响修炼效率和特定区域属性这种模块化设计让每个系统职责清晰、便于扩展,也为后续引入更复杂的多智能体交互留足了架构空间。
游戏构建了一套完整的修仙经济循环。玩家在世界中采集基础资源(木材、石材、灵草、灵石、清水),通过建造系统产出建筑(营火用于烹饪,练功场提升修炼效率,炼丹房提升丹药成功率),再通过合成系统将资源转化为丹药、装备等道具。门派系统则提供了长期目标——完成门派任务获取贡献值,逐步从外门弟子晋升到掌门。
修仙境界体系分为10个层次,从"练气一层"到"元婴初期",每突破一个境界都会获得属性加成。更值得注意的是天气系统对修炼的影响:雷暴天气下修炼效率提升200%,而大雪天气下虽然修炼效率提升100%,但免疫力会大幅下降——这种设计让游戏节奏不再是简单的线性积累,而是需要玩家审时度势、灵活决策。
必须客观指出这个项目的一些问题。首先,纯前端架构虽然降低了部署门槛,但也限制了AI能力的发挥。当前的AI对话是"问答式"的,缺乏真正的持续性记忆和跨会话状态——游戏不提供存档功能,关闭浏览器后所有进度丢失。
其次,大模型调用依赖阿里云Qwen API,并非真正的开源免费方案。对于追求自主可控的玩家来说,这意味着必须拥有阿里云账号并承担一定的API调用费用。项目中虽然有四大门派、多套功法、炼丹锻造等丰富的玩法,但真正涉及AI的只有对话系统,NPC之间不会自主交流。
第三,项目的版本管理较为混乱。根目录存在大量历史依赖矩阵文档(DEPENDENCY_MATRIX v1到v12),这些看起来是开发过程中的中间产物,不应该暴露在仓库根目录,影响了项目结构的清晰度。
从更宏观的视角看,修仙AI小镇代表了生成式智能体在游戏领域的一次有益探索。它证明了"让NPC拥有真实决策能力"这件事在技术层面是可行的,尽管当前实现还比较初级。更进一步的项目如斯坦福原版AI小镇已经实现了NPC之间的自主社交和行为传播,而修仙题材天然具有丰富的门派恩怨、资源争夺等社交元素,更适合作为多智能体模拟的舞台。
如果你对这类项目感兴趣,推荐同时关注斯坦福原版AI小镇(a16z-infra/ai-town)以及国内更成熟的《仙途》(ddct.top/xiantu),后者已经实现了多API调度、NPC思维链系统和宗门战争模拟等更高级的特性。修仙AI小镇更像是一个出色的入门级Demo——麻雀虽小,却清晰地展示了"AI + 修仙"这个方向的想象空间。