- 好友
- 5
- 在线时间
- 3 小时
- 最后登录
- 2025-9-3
见习骑士

- UID
- 3181770
- 第纳尔
- 1906
- 精华
- 0
- 互助
- 15
- 荣誉
- 0
- 贡献
- 10
- 魅力
- 170
- 注册时间
- 2020-5-5
 鲜花( 44)  鸡蛋( 0)
|
本帖最后由 zz010606 于 2025-6-6 10:14 编辑
骑砍战团 × 大语言模型:开启智能MOD新时代
革命性整合:战团遇上AI大模型
通过send_post_message_to_url_advanced网络接口,我们确实可以将ChatGPT、DeepSeek等大语言模型接入Mount&Blade: Warband,这将彻底改变游戏体验:
核心实现路径中间件架构:本地/云端部署LLM代理服务 异步通信:游戏→中间件→AI模型→返回结果 上下文管理:维护对话历史和游戏状态上下文
AI赋能方向
1. 智能NPC对话系统动态生成符合角色设定的对话 基于玩家声望/关系的差异化回应 示例:土匪头目会根据你的战斗风格改变谈判策略
2. 自适应世界观构建
根据基础设置自定义不同存档的各自世界观。世界观信息可以保存在本地服务的数据库中。这样保证存档信息同步
3. 智能外交系统实时计算阵营间的动态关系 生成合理的外交事件链 叛乱/联盟/背叛的AI推演
4. 个性化任务生成基于玩家行为动态生成任务 任务后果的连锁反应计算 商人/领主/匪徒的差异化任务逻辑
5. 动态经济系统模拟
- 定期(如每游戏周)将经济数据发送至AI
- 生成合理的市场价格波动、商品供需变化
- 影响商队行为、城镇繁荣度
6. 玩家行为分析系统记录并学习玩家行为模式 动态调整游戏难度曲线 生成针对玩家弱点的特殊事件
下面来实操展示:
战团代码:
module_simple_trigger.py
- (1,[
- (display_message,"@我 :你 是 织 田 信 长 , 我 是 秀 吉 啊 , 主 公 , 我 们 接 下 来 要 攻 打 何 地 ?"),
- (send_post_message_to_url_advanced,"@http://localhost/tst",s0,"@content=我 :你 是 织 田 信 长 , 我 是 秀 吉 啊 , 主 公 , 我 们 接 下 来 要 攻 打 何 地 ?","script_network_test_success", "script_gekokujo_network_fail", 0),
- ])
复制代码 module_script.py中添加这样的代码
- #网络测试成功回调
- ("network_test_success",[
- (display_message,"@接 收 成 功: {s0}")
-
- ]),
复制代码
服务器端我们依旧选择python的flask框架负责做本地部署服务
我自己用的是火山方舟语言模型中的Doubao-lite-4k,适合角色扮演,回复速度块,官方提供API接入接口,可以自己搜索进去看
代码如下:
- # -*- coding: utf-8 -*-
- import time
- from flask import Flask,request
- app = Flask(__name__)
- from openai import OpenAI
- # 请确保您已将 API Key 存储在环境变量 ARK_API_KEY 中
- # 初始化Openai客户端,从环境变量中读取您的API Key
- client = OpenAI(
- # 此为默认路径,您可根据业务所在地域进行配置
- base_url="https://ark.cn-beijing.volces.com/api/v3",
- api_key="xxxxxx",#改成你自己的APIKeY
- )
- # Non-streaming:
- @app.route('/tst',methods=['GET', 'POST'])
- def hello():
- request_content = request.form.get('content', type=str)
-
- print("----- standard request -----")
- completion = client.chat.completions.create(
- model="doubao-lite-4k-character-240828",
- messages=[
- {"role": "system", "content": "你是人工智能助手"},
- {"role": "user", "content": request_content},
- ],
- )
- response_content = completion.choices[0].message.content
-
- # 在中文后面添加空格
- processed_content = ""
- for char in response_content:
- processed_content += char
- # 如果是中文字符(Unicode范围),在后面添加空格
- if '\u4e00' <= char <= '\u9fff':
- processed_content += ' '
-
- print(processed_content)
- return processed_content
- if __name__ == '__main__':
- # 注意:在Linux/Mac上需要sudo权限才能使用80端口
- app.run(host='0.0.0.0', port=80)
复制代码
|
-
鲜花鸡蛋黑暗路西法 在2025-6-6 10:47 送朵鲜花 并说:好汉
|