用途 该技能面向模拟经营/大亨类游戏(如 SimCity、RollerCoaster Tycoon、Factorio、Two Point Hospital)的系统设计,核心关注优化、系统掌握与令人满足的反馈循环。它提供一份专家蓝图,覆盖经济体管理、时间推进等关键模块。
主要能力
- 经济设计:强调多个相互关联的资源以强制形成权衡。示例包含资源字典(money、reputation、workers、materials、energy)、资源上限(resource_caps),以及 modify_resource 方法;负数会导致破产信号且不允许资源变为负值,资源值会被 clamp 到 0 与上限之间。
- 收支追踪:FinancialTracker 记录 income_sources 与 expense_sources,按 tick 计算总收入、总支出与利润,并发出 financial_update 信号。
- 时间系统:SimulationTime 支持 PAUSED、NORMAL、FAST、ULTRA 四档速度,速度倍率为 0.0/1.0/3.0/10.0;以 seconds_per_game_hour 定义真实秒与游戏小时的比例,默认从第 1 天 8:00 开始;跨日时发出 day_changed,并发出 time_tick。
- 实体管理:Worker 具备 IDLE、WORKING、RESTING、COMMUTING 状态,含 wage_per_hour、skill_level、morale(0-100);工作时生产力为 skill_level * morale/100,工作会降低士气,休息恢复士气。Facility 具备 build_cost、operating_cost_per_hour、capacity、output_per_hour,按分配工人的技能与士气计算输出。
- 顾客/需求模拟:CustomerSimulation 依据 base_customers_per_hour、按小时的 demand_curve 与 reputation 倍率生成顾客;顾客有耐心与消费预算。
- 反馈系统:ResourceFlowVisualizer 通过金币飞向银行与浮动的“+$”文本提供视觉反馈;StatsDashboard 记录收入/支出历史并绘制折线图。
- 进程与解锁:UnlockSystem 使用 unlocks、unlock_conditions 与 progress 字典,按条件(如 money_earned、reputation、workers_hired)解锁高级设施、营销与自动化。
使用方式 配套脚本为 sim_tick_manager.gd,提供基于 tick 的模拟,支持可变速度控制与批处理。核心循环为:投资 → 建造/管理 → 产生收入 → 优化 → 扩张。资料中给出了各系统在 Godot 中的类结构(extends Node、Node3D 等)与信号定义,可用作实现参考。Godot 相关提示包括:UI 大量使用 Control 节点、列表用 Tree、连接用 GraphEdit;按批处理实体而非逐帧处理;将游戏状态转换为 Dictionary 以便 JSON 序列化存取;等距视角使用 Camera2D 的正交投影。
适用场景 适用于模拟经营与大亨类游戏的系统架构设计与实现参考,尤其是需要经济体平衡、时间可控制、工人与设施运营、顾客需求与视觉反馈、解锁进程的玩法。
限制与注意事项 资料明确了若干“禁止”事项:不要在每个 _process() 中逐个处理所有模拟实体,应按固定 tick 批处理(例如每秒一次);不要用浮点数表示货币,应使用整数分(1100 * 3 = 3300 分 = $33.00);不要让早期游戏无聊等待,应将决策点前置,前 5 分钟必须吸引玩家;不要使用线性成本增长,应使用指数增长(BASE * pow(1.5, level));不要对玩家隐藏关键数值,需展示收入/支出明细、生产速率与效率百分比;不要允许资源无限堆叠而无后果,存储上限会带来有意义的决策;不要每帧更新 UI 标签,应使用信号仅在数值变化时更新。
常见陷阱与对策包括:经济容易被破坏——需大量平衡、软上限与递减收益;早期游戏无聊——前置有趣决策与快速早期进程;信息过载——渐进式披露与可折叠面板;目标不清晰——里程碑、成就与情景;繁琐微操——自动化解锁与批量操作。
收费、价格与平台信息暂未提供。