Sott Program Design Systems
SOTT 程序设计稿 — 系统与循环
1. 核心玩法摘要(程序理解)
- 经济博弈:买地 → 建建筑 → 生产链(策划修订:
农场 → 工厂 → 商场)→ 出售变现;终局比现金。 [01]主流程即时制要点:以固定秒数为一「市场需求结算轮次」,可与「10 回合结束」换算;不强制所有子系统按离散回合 tick(动画、扩张节奏可走时间轴)。- 与修订稿回合制关系:修订稿给出 10 回合、八阶段 的强结构;程序建议实现为 「阶段状态机」,由配置决定每阶段是否受「逻辑回合」或「仅时间」驱动。
2. 建议模块划分
GameSession(会话/房间)
├── GameClock(逻辑回合 + 可选真实时间轴)
├── PhaseController(阶段机:竞拍/购地/建设/生产/出售…)
├── MapModel(地块、城区、占地建筑)
├── BuildingSystem(建造队列、生效时间、拆除)
├── EconomyLedger(现金、欠款、罚金)
├── ProductionPipeline(按建筑与城区结算产出/缺料)
├── MarketEngine(公共市场挂单、结算、私下交易)
├── AuctionHouse(地块竞拍 UI 与结算)
├── EventDirector(关卡事件表 + 总表)
└── MetaLoadout(局外角色/技能 → 开局参数覆盖)
3. 阶段机(对齐《玩法案——修订》八阶段)
策划列出的阶段顺序(程序侧枚举建议):
Auction竞拍(核心格;第一回合可配置为不自动发起)PlayerBuyLand玩家购普通地(修订:每回合 1 块)OpponentBuyLand对手购地(若保留 AI 占位或 P2 对称阶段)PlayerBuild/OpponentBuild建设Production自动生产 + 维护费PlayerSell/OpponentSell出售与竞价
[01] 要求:随机事件在每「逻辑回合」开始先执行;之后玩家操作 无固定先后顺序(程序上为并发意图 + 服务器仲裁)。
即时制补充:[01] 中「市场」「竞拍」为 可随时打开的 UI,与「阶段」可建模为:
- 全局阶段仍推进(防止死锁),或
- 主阶段 + 子会话(市场为 overlay,不阻塞他人核心操作 — 需与策划确认网络同步)。
4. 胜利与结束
- 配置项:
MaxLogicRounds(如 10)、MaxRealtimeSeconds(若启用即时主模式)。 - 终局:
EconomyLedger比较现金;支持欠款、罚金等扩展字段。
5. 开局流程([01] + 修订稿)
- 加载地图/初始资金/事件等 关卡配置。
- 不立即开始倒计时;玩家各自选择一处地块作为 总部(出生点)(地价购买或免费逻辑由表驱动)。
- 全员确认后
GameClock启动,EventDirector触发首回合前随机事件(若配置)。
6. 产业链与生产(对齐修订稿)
- 建筑类型枚举:
Farm/Factory/Mall(显示名可配置)。 - 每类:建造成本、维护费、每回合(或每逻辑轮次)消耗/产出 全部表驱动。
- 缺料不生产但仍扣维护费(修订稿明确)。
- 2×2 同类型集群 +1 产量:在
MapModel上跑邻域检测,结果写入本周期产量修正。
7. 出售与竞价(修订稿 + [01])
- 两轮报价、价低优先 的出售逻辑:单独
SellNegotiation状态对象,避免与市场全局结算耦合。 [01]即时市场:玩家随时挂单/改价/撤单(撤单手续费可配置);轮次末统一撮合;允许超额挂单,交割不足 罚金(表驱动)。
程序上可将「回合制竞价」与「连续时间市场」抽象为同一 MarketEngine 的两套 撮合策略,用关卡或模式 flag 选择。