【免费下载链接】xianxia-AI-town-AI-
大模型驱动的npc决策,npc和玩家平权
修仙AI小镇(xianxia-AI-town)是一款大模型驱动的修仙模拟游戏:NPC由 Qwen 大模型驱动决策与对话,拥有与玩家完全相同的属性、行为循环和社会关系,真正做到"NPC与玩家平权"。本文从玩法、AI接入到源码结构,为你完整解读这款浏览器修仙模拟器的核心设计。
🎮 游戏概览:一个会"活着"的修仙世界
《修仙AI小镇》是一款纯前端的单机修仙模拟游戏,基于 Matter.js 物理引擎开发,无需安装,用浏览器打开 index.html 即可开局。
与常见的"NPC只等你触发表演"的游戏不同,这个 3000×2000 的修仙世界里,8位NPC(李长老、王铁匠、吴掌门……)和5只妖兽各自拥有:
- 完整属性:生命、法力、体力、免疫、饥饿值、修为、境界——与玩家的数据结构完全一致
- 自主行为:随机走动、前往资源点采集、打坐修炼、休息回血
- NPC间社交网络:同门派NPC互为友邻,敌对门派互相敌视,还会切磋、争执甚至动手
- 大模型人格:接入 Qwen API 后,NPC能用修仙语气和你自由对话,并记住你们最近的对话内容
世界中还分布着5处灵力宝地(灵泉眼、仙山福地、仙灵洞天等),雷暴、大雪等8种天气会实时影响修炼效率——完整数值可以参考 GAME_GUIDE.md 和 游戏攻略指南.md。
🚀 最快上手:三步开始修仙
第一步:获取项目
git clone https://gitcode.com/gh_mirrors/xi/xianxia-AI-town-AI- cd xianxia-AI-town-AI-第二步:启动游戏
直接双击打开 index.html,或在项目根目录运行python3 -m http.server后访问本地地址。
第三步:熟悉按键
| 按键 | 功能 |
|---|---|
| W/A/S/D或方向键 | 移动 |
| E | 交互(对话、采集资源) |
| 空格 | 攻击(支持连击,最高+100%伤害) |
| B / C / X / F | 建造 / 合成 / 修炼 / 门派 |
| G / R | 进食 / 烹饪(需靠近火源) |
开局路线建议:采集木材 → 建营火(5木材)→ 加入门派 → 去紫色光晕的灵力区修炼,境界从练气一层一路突破到元婴初期共10个层级。
🧠 核心揭秘:NPC为什么能和玩家"平权"?
"NPC与玩家平权"是本项目最独特的设计。拆开源码看,它靠四层机制实现:
1️⃣ 同一套实体模型:玩家和NPC共用"生命模板"
玩家和NPC由同一套实体逻辑创建,共享完全相同的属性字段(健康、法力、体力、饥饿、修为、碰撞体),连物理碰撞规则都一致。NPC的初始修为、与你的关系值也是随机生成的——你在开局面对的不是"背景板",而是一个和你一样的修士:
- 世界生成与NPC创建:state.js#L53-L102
- 物理引擎封装(Matter.js):core.js
2️⃣ 自主行为循环:NPC不站桩,真的在过日子
每30~60秒,NPC会随机执行一个真实行为:采集(寻找100像素内的资源点并走过去)、修炼(增长修为)、休息(恢复生命),随后再叠加随机游走AI:
updateNPCBehavior:gather / cultivate / rest 三选一,30~60秒后再次决策也就是说,即使你挂机不操作,NPC们也在采集、修炼、恢复——这个世界在你看不见的地方持续运转。相关实现见 state.js#L173-L199。
3️⃣ NPC之间的社交网络:好感、争执与传闻
这是"平权"最有说服力的部分。NPC之间的关系网由 social.js 管理:
| 机制 | 规则 |
|---|---|
| 初始关系 | 同门派NPC关系值 30~60,不同门派 -20~20 |
| 友好交互 | 关系≥50时互相问候、切磋技艺(双方+1修为)、分享资源 |
| 敌对交互 | 关系≤-30时冷眼相向、争执威胁,关系跌破-80可能直接开打 |
| 自然回归 | 与玩家的关系值会缓慢趋向中性——不维护就淡了 |
| 传闻系统 | 小镇流传"灵脉灵力暴涨""上古洞府现世"等八卦 |
门派之间还有政治格局:同门派NPC对你的好感保底+20,敌对门派(如青云门与万剑宗)好感上限被压到-30,加入哪个门派会影响整个小镇看你的眼神,逻辑见 faction.js#L258-L278。
4️⃣ 大模型对话:让NPC拥有"人格"与"记忆"
前三层解决了"身体平权",大模型则补齐了"灵魂平权"。dialog.js#L171-L188 中的callQwenAPI每次对话都会组装一套上下文:
- 系统提示词:注入NPC的名字、身份(长老/铁匠/掌门…)和当前关系值,要求"用修仙语气回复,不超过80字"
- 对话记忆:携带最近10轮聊天记录;每次记录持久化到浏览器 localStorage,每个NPC保留最近20条——下次再见,NPC还记得你们上次聊了什么
- 优雅降级:未配置API或请求失败时,自动切换为按NPC性格的本地随机回复,游戏不中断
⚙️ 大模型对话接入:Qwen配置步骤
想让NPC真正"开口说话",只需三步:
- 获取API Key:在阿里云 DashScope(百炼)控制台开通灵积模型服务,创建一个 API Key
- 游戏内保存:靠近任意NPC按E键 → 点击"API设置" → 粘贴 API Key → 保存(Key只存在浏览器本地)
- 开始对话:选择"自由对话",NPC会以修仙风格实时回应;还可以"问候"涨好感、"询问任务"接任务、找王铁匠打造装备、找刘商人交易
💡 小提示:关系值≥50的NPC会更热情,任务奖励+50%;关系跌破-50则可能对你拔刀——平权的双刃剑。
🗺️ 项目结构:11大系统如何组织
项目采用"单入口 + 二级正交模块"的轻量架构,共16个文件,依赖关系在 DEPENDENCY_MATRIX.md 中有完整矩阵,历次迭代的增量记录见 DELTA_DEPENDENCY_MATRIX v12.md 等版本文档:
| 路径 | 职责 |
|---|---|
| index.html | 唯一入口:UI面板、物品栏、游戏主循环 |
| js/engine/core.js | 封装 Matter.js 物理引擎(碰撞、速度、力场) |
| js/engine/renderer.js | Canvas渲染:星空背景、天气特效、小地图 |
| js/engine/state.js | 全局状态:世界生成、玩家/NPC更新、功法与门派数据 |
| js/systems/dialog.js | NPC对话与Qwen大模型调用 |
| js/systems/social.js | NPC社交关系、送礼、传闻 |
| js/systems/faction.js | 四大门派、贡献晋升(外门弟子→掌门) |
| js/systems/ | 其余系统:建造、战斗、修炼、合成、生存、天气、灵力等 |
版本演进可在 history_version_zip/ 中找到 v3~v6 的历史快照。
❓ 常见问题
Q:不配置大模型API能玩吗?A:完全可以。AI只影响"自由对话",采集、建造、战斗、门派、天气等全部系统离线可玩。
Q:存档怎么办?A:当前版本暂不支持游戏存档(聊天记录除外,它存在浏览器 localStorage),请保持页面开启。
Q:建筑可以拆除吗?A:目前不支持拆除,选址请三思——尤其是把聚灵阵放进练功场中心这种"黄金布局"。
Q:如何最快突破境界?A:聚灵阵(3x)+ 练功场(1.3x)+ 青云门(1.2x)+ 雷暴天气(3x)叠加,理论修炼效率可达数十倍,详见 游戏攻略指南.md 的"高级技巧"章节。
修仙AI小镇用一套朴素的"共享状态 + 行为循环 + 社交关系 + 大模型人格"四层设计,回答了"NPC与玩家为何能平权":不是让NPC更强大,而是让它们和玩家遵守同一套世界规则。打开浏览器、clone 仓库,你的修仙之旅就可以开始了。🌟
【免费下载链接】xianxia-AI-town-AI-
大模型驱动的npc决策,npc和玩家平权
相关推荐
革命性虚拟社区平台AI Town:打造你的专属AI角色社交小镇
革命性虚拟社区平台AI Town:打造你的专属AI角色社交小镇 AI Town 是一款基于 MIT 许可证的可部署入门工具包,让你轻松构建和定制属于自己的虚拟小
人工智能AI 应用AI Agent本地部署前端后端游戏开发RAG赛博小镇 HelloAgents-AI-Town GDScript 脚本体系全解析:从全局配置到 AI NPC 交互闭环
赛博小镇 HelloAgents AI Town GDScript 脚本体系全解析:从全局配置到 AI NPC 交互闭环 导读 本文档深入剖析开源仓库 Data
教程人工智能大模型AI Agent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考