下载 App
开发日志3
# 【开发者日志 03】《自立为王》:补完外交,重做装备与战斗
> 中世纪沙盘策略 · 2D 羊皮纸大地图 · 自动结算战斗
> 引擎:UrhoX(Lua 5.4)| 本次更新:v1.0.33 → **v1.0.37**
---
## 本期进展
### 一句话概括这次更新
上个版本的战斗是**一次判定**:战力 = 兵力 × 系数,胜率 = 我方 /(我方+敌方)。这个模型里**没有"个体"**——所以"装备压制"和"体力"根本无处落地,两者本质都是"一个人对一个人交手"时才存在的机制。
这次把战斗展开成**个体逐轮模拟**,并围绕它建起完整的装备、生产、AI 经济与职位体系;同时把外交条约补完,并因为一条一星差评,把跑商的载重门槛整个重做。
### 1. 外交三段式:把军事优势变成政治成果
设计文档列了 7 种条约,此前只实现了 3 种(停战、贸易协定、纳贡)。这次补完剩下的——而且它们不是三个孤立按钮,是**同一套实力梯度的三段**:
| 条约 | 实力比门槛 | 效果 |
|---|:---:|---|
| 攻守同盟 | ≥ 1.0 | 期限 60 月;你被宣战时盟友按实力决定是否参战 |
| 附庸 | ≥ 2.5 | 每月纳贡;好感 <25 叛离并立刻宣战 |
| 吞并 | ≥ 5.0 | 对方亡国,领地并入 |
于是**外交成了一条路径**:打赢 → 逼和 → 结盟 → 附庸 → 吞并。玩家的军事优势有了逐级兑现的方式,而不是"打赢了也只能占城"。
### 2. 纳贡条约:门槛最低,但只交钱不交主权
纳贡被放在梯度最低一档(1.5 倍,低于附庸的 2.5):
| 条约 | 门槛 | 对方付出什么 |
|---|:---:|---|
| **纳贡** | **1.5 倍** | 只交钱——仍是独立国家,可自由外交,可随时停供 |
| 附庸 | 2.5 倍 | 交钱 + 称臣 |
| 吞并 | 5.0 倍 | 亡国,领土全失 |
道理是:**弱国为求自保愿意长期上贡,不必先被打到濒死**。门槛太高的话,玩家能压到 2.5 倍时就直接附庸了,这一档永远不会被用到。两个细节:不收打点费(上贡本身就是收益);贡金设上限(不设的话把 AI 榨干,双方一起塌)。
### 3. 通行权:论证后决定不做
设计文档还写了「通行权」。我**没有实现**,因为查证后发现它当前没有作用对象。
设计意图是"无通行权入境 → 作为宣战理由",隐含前提是**军队会穿越别国领土**。但玩家行军是**单跳**的——只查直连道路,无直达道路则直接禁用该次行军。**不存在"途经第三国"**。
所以现在实现它,就是给一个永远不会触发的条件写代码。**这比没做更糟**:它会出现在界面上、写进说明里,让玩家以为自己买了什么。已把结论写进设计文档:若将来把玩家行军改为多跳寻路,此机制才有意义。
### 4. 装备体系:士兵 5 槽位,领主 8 槽位
装备从"挂在贸易货物上的两种物品"改成了**独立实体**,有等级、有槽位:
- **士兵**:5 槽位(含盾牌),批量配置
- **领主**:8 槽位(防具细分五部位,**没有盾牌**)
领主没有盾牌槽是**刻意的代价**——他的防护完全来自五部位防具,所以接敌时比带盾步兵更怕弓弩。
装备**跟人走**:从军械库取出后归该人物个人所有,一件只能给家族中一个人穿。死亡时按死因处理——**老死归还军械库,战死被敌方缴获**。这让"战死"的代价不只是换个继承人,而是**资敌**。
### 5. 铁匠铺与军械库
**铁匠铺**是装备的供给侧:每月消耗**铁矿 + 木材**产出装备,玩家走到该城即可购买。三条规则——只有城镇有(城堡是军事堡垒,村庄不设店铺);每产 1 件消耗 1 铁矿 + 1 木材,原料不足按比例减产;产出等级上限 = 铁匠铺等级。
原料规则带出一个**地图数据的必然结果**:铁矿**只在艾恩**、木材**只在维亚**,没有任何城市同时产这两样。于是"军备生产必须依赖跨文化贸易"成为硬约束——每一座铁匠铺都至少缺一种原料。
**军械库**负责存放:**部队随身**(占负重,1 件 = 1 负重)和**领地仓库**(不占负重)。"穿着不算负重"很关键——在城里装满 150 兵出门跑商,负重为 0;只有**备用装备**才占负重。所以军备与跑商不冲突,而"路上补装"要付真实代价。
界面提供**一键最优分配**:部队动辄上百人,逐人操作不现实;玩家要看的是"3 级近战武器 12/12"这样的计数,而不是 120 个士兵各自的背包。
### 6. 个体战斗模拟:装备碾压第一次成立
部队展开成个体,逐轮结算:每人挑目标 → 按**个体装备等级差**算伤害 → 同时扣体力;体力归零则该个体**溃散**(非阵亡);最后幸存者重新聚合。
**为什么全个体模拟还能跑得动**:体力顺带锁死了战斗长度。每人 100 体力、每次出手消耗 5 → 最多出手 20 次 → 战斗轮数上限 40。于是"一个人无法碾压整支军队"(防无双)与"性能可控"由同一条规则实现,不需要采样或降级。
个体状态**不落盘**:全球守军 28,068 人,逐人存 HP/体力会让存档从 49KB 膨胀到数 MB。
### 7. AI 终于有了经济
在这次改造之前,**AI 完全没有经济**——AI 领主连金库字段都没有,月度决策只有一件事:是否出兵;商队也不隶属任何势力,利润在商队自己手里循环、永不流出。
现在 AI 有了收入(领地税收 + 商队利润)、支出(装备采购 + 战争储备)和城市军械库。三条关键规则:
- AI **不建模驻军维护费**(全球守军是玩家的 7 倍,照实算 AI 永久赤字,两者本就不在同一尺度)
- AI 每月最多买走本城产出的 **50%**,硬保证玩家能买到装备
- AI 与玩家**共用同一份配装代码**,所以战斗模拟器完全不需要区分两者
### 8. 职位:把"派人"变成真实取舍
学骑砍 2 的三层结构:
| 类型 | 规则 |
|---|---|
| 队伍职位(4 个) | 可兼任,玩家本人可任,随军提供队伍级加成 |
| 定居点职位(总督 / 工坊主管) | 一人一职,**派出去就离开队伍** |
核心机制是**互斥**,而它是"离开队伍"的必然结果,不是额外规则:派某人去当总督 → 他不在队里了 → 自然不再提供队伍职位加成。于是"派人"成为取舍——把工程 9 的同伴派去当店主(+45% 产出),还是留在队里(攻城 +45%)?
### 9. 加工工坊:次级产地
工坊把贸易品原料加工成另一种贸易品(谷物→葡萄酒、兽皮→布匹)。利润来自**地理套利**而非基准价差。
关键约束:**不能摧毁「产地唯一」**。贸易系统靠"离产地距离"分三档库存,15 种商品的最优商路才能分散在 3 座城市。工坊若能在任意城市产出商品,商情会退化成"有工坊的地方就便宜"。解法是让工坊成为**次级产地**,永远弱于地形产地——商路依然成立,只是目的地有工坊时利差小一些。
### 10. 驮畜与超载:把"硬门槛"改成"软代价"
超载原本被做成了**禁止买入**。改成骑砍 2 的做法——**允许超载,但按超载程度减速行军**:
```
每超载 1 倍载重,行军时间 +60%,最多慢到 3 倍
```
区别很大:**禁止是"你不能做",减速是"你可以做,但要付代价"**。前者让玩家撞墙,后者让玩家权衡——而权衡正是经营游戏的乐趣。现在可以贪心地装满一票高价货,代价是走得慢、可能错过行情。
配套新增**驮畜**:驴(+20 载重)、骡子(+50)、马匹(+50)。持有即提升运力、不被消耗,**任何城市都能买到**——因为它的意义恰恰是"随时扩运力"。
---







