《城脉》生产计划书
PRODUCTION PLAN · V1.3 · 2026.08.19

亲手规划一座
真正会运转的城市

一款横屏手机单人城市模拟游戏。玩家从原始部落起步,铺路、供水、划分区域、建设公共设施、组织资源与政策,让居民和企业自主建造,最终发展为现代都市。没有关卡,没有强制局长,以连续天数记录一座城市数周乃至更久的兴衰。

Unity 6 · URP · C#横屏手机优先离线单机五个发展时代无经营时限
01 / PRODUCT CONTRACT

产品边界:远期愿景和本期任务分开

完整产品负责说明“最终是什么”,垂直切片负责回答“最小版本能否证明它好玩”。两者不能混成一张待办清单。

完整产品愿景

  • 原始部落、农耕村落、古代城镇、工业城市、现代都市五阶段
  • 5×5 区块完整地图,每区 48×48,总计 240×240 地块
  • 道路、五类分区、公共设施、资源网络、政策、贸易与交通
  • 四季、天气、灾害、污染、地价、犯罪与人口迁移
  • 约 5000 栋建筑、10 万聚合人口的设计上限

当前唯一生产目标

  • 一个 48×48 河港平原区块
  • 只验证“原始部落 → 农耕村落”
  • 30–45 分钟内建立可持续村落
  • 玩家自行发现并修复一次缺水、缺粮或道路中断
  • 本地存档,关闭游戏后时间完全暂停
硬边界:现有二维 H5 和 Cocos 灰盒均为历史验证材料,不作为正式产品基础,也不能证明 Unity 的 3D 性能、触摸体验或模拟规模。新项目直接从 Unity 6 URP 建立;在垂直切片通过陌生玩家测试前,不做微信登录、Axum 后端、云存档、广告、管理后台或 TapTap SDK 的运行时接线。TapTap 仅建立了普通 Android 常规发布草稿(游戏 ID 910526),没有创建小游戏或上传包体。
02 / PLAYER LOOP

玩家每天在做什么

核心乐趣来自规划产生连锁结果,再用看得懂的反馈修正城市,而不是手动摆满每一栋房子。

01读地形查看河流、坡度、肥力、资源和可建设范围,决定聚落落点。
02建骨架铺道路、接水源、设置粮仓与最早的公共设施。
03划区域指定居民、商业、农耕/资源、生产或行政科研用途和密度。
04等生长居民与企业依据道路、水、需求、人才、地价和治安自主投资建设。
05看诊断观察缺粮、通勤、库存、满意度、财政、污染与犯罪的原因链。
06改规划调预算和政策,扩路、增设服务、拆除低效建设,再进入下一轮。
一次完整游玩会话:玩家可以随时退出,不需要通关。只要设定一个城市目标、执行规划、看到结果并完成一次调整,就形成一轮闭环。长期目标是把同一存档经营数周。
03 / ERA PROGRESSION

五时代成长合同

时代不是经验条。只有城市具备相应人口结构、教育、人才、公共设施、财政和科技,才允许升级。

阶段 01 · 首版起点原始部落无货币财政。依靠采集、狩猎、基础农耕与公共库存;小径、营地、取水点和简易粮仓构成生存骨架。
阶段 02 · 首版终点农耕村落市场与治理建立后解锁税收财政;稳定粮食、水、道路和基础教育,开始吸引外来人口。
阶段 03 · 后续古代城镇城门、里坊、商路、作坊、学校、医馆和巡防形成;古代土匪与水匪进入城市风险模型。
阶段 04 · 后续工业城市燃料、电力前置、铁路、工厂和有轨交通出现;空气、水和土壤污染成为结构性成本。
阶段 05 · 后续现代都市电力成为居民刚需,公交、货运铁路、地铁与快速路成网;噪音、拥堵、犯罪团伙和高端人才竞争决定质量。
04 / SYSTEM CONTRACTS

城市系统必须怎样互相影响

以下是生产合同,不是最终平衡数值。所有关键结果都必须能从覆盖层、警告或详情面板追溯原因。

系统玩家输入模拟规则可见输出失败或代价
道路与可达性铺设小径、普通街道、主干道、货运道路、现代快速路每栋建筑必须连接道路;全量计算出行需求,只抽样显示代理路径、通勤时间、货运时间、拥堵热图断路会停止入住、就业、服务或物流
分区与密度绘制居民、商业、农耕/资源、生产、行政科研;低/中/高密度私人建筑只在有道路、有需求、基础资源满足且政策允许时自主生长需求条、待开发原因、建筑等级和入住率错误供给导致空置、地价下跌与税基萎缩
水、电与粮食修取水、管网/水渠、电网、粮仓,调整容量所有居民必须有水;现代居民必须有电;粮食进库存,水电只走网络网络覆盖、流量、容量、断点、库存天数缺水/缺粮降低健康与满意度;缺电使现代建筑停摆
资源与施工批准市政工程、规划运输与仓储七种库存:粮食、木材、石料、矿石、燃料、工具、生活商品;公私工程共享劳力、材料、运输库存、在途、工期、停工原因、工地状态私人项目停工 12 天成烂尾;取消最多回收已投入材料 50%
人口与迁入开放、限额或暂停迁入;配置住房、工作与服务儿童/成年/老年按人口池计算;富庶、就业和服务吸引外来人口,入住后成为本地居民年龄、技能、就业、迁入意愿、迁出原因满意度长期为 0 引发迁出;人口归零即失败
教育与科技建设教育设施、分配预算、选择研究培养普通劳力、识字居民、熟练人才、高级人才;科技需要设施、人才、财政与时间学位容量、毕业率、人才缺口、研究进度没有高级人才就不能解锁高阶科技或高级设施
公共服务建设教育、医疗、消防、治安、环境卫生设施并设预算服务通过道路和容量覆盖,不是简单圆形光环响应时间、容量、排队、覆盖与满意度贡献低预算造成服务降级,高预算造成财政压力
财政税率、预算、借贷和政策原始部落无货币;村落建立市场与治理后解锁税收财政逐项收入、维护费、建设费、现金流预测解锁财政后连续 7 天无力支付维护费,判定破产失败
05 / ADVANCED SIMULATION

贸易、治安、环境与地价

这些系统属于完整产品合同,但不进入首个垂直切片,避免首版被复杂度压垮。

多市场贸易

不同外部市场拥有独立价格与波动。利润必须扣除运费、仓储、损耗、税费、容量和价格冲击,不能无限低买高卖。

治安与劫掠

古代有土匪、水匪,现代有盗窃、走私和犯罪团伙。不做手动战斗,用城门、瞭望塔、巡防、警力预算、道路和政策应对。

四类污染

空气随风向扩散;污水沿河向下游传播;土壤污染长期残留;噪音由道路和设施向周围衰减,全部影响满意度。

地价反馈

交通、服务、治安、教育与景观提高地价;污染、噪音、犯罪与拥堵降低地价。地价再影响等级、税收和高端人才迁入。

灾害与季节规则玩家可以做什么设计底线
四季每季 12 天,改变温度、农业、水量、需求与部分运输效率调整库存、播种、预算和建设节奏变化必须提前显示,不用隐藏随机数偷袭玩家
动态天气天气持续数小时到数日,叠加季节而非替代季节查看预报,暂停高风险工程或加强容量天气要影响模拟与画面,不能只是滤镜
灾害洪水、火灾等有风险区、预警期、发生期和恢复期预防、疏散、应急预算、灾后修复灾害造成可解释损失,允许充分准备降低损失
06 / WORLD & CONTROLS

地图、时间、镜头与施工规则

手机操作必须适应手指精度,所有不可逆操作先预览,再确认。

合同
固定规则
验收方式
时间
现实 60 秒 = 1 游戏日;每季 12 天;暂停、1×、2×、4×;关闭游戏完全暂停
切换四档速度观察天数;退出再进入,日期不得自行推进
完整地图
5×5 区块,每区 48×48,总地图 240×240 地块;分区块加载与模拟
首版只加载一个区块,后续用性能基准决定解锁速度
镜头
固定俯仰;双指缩放、单指平移;按钮每次水平旋转 90°;三级 LOD
旋转后道路吸附和建筑选择仍准确,近中远景无明显跳闪
施工预览
建造、划区、批量拆除先显示费用、材料、影响范围与冲突,再确认
取消预览不扣资源;暂停状态支持撤销/重做
拆除
允许拆道路、设施和建筑;产生补偿、居民迁出、污染残留与清理后果
确认框列出受影响人口、断网建筑、退款和清理时间
施工时间
短路/小建筑 1–3 天;民居/商铺/作坊 3–6 天;学校/医馆/粮仓 6–10 天;大型设施 12–24 天
施工受劳力、材料和运输限制,不得点击后瞬间完成
07 / VERTICAL SLICE

当前垂直切片:河港平原

这不是完整游戏的缩略版,而是验证最危险假设:居民自主生长的城市是否可读、可控且有趣。

本期必须做

  • 一个 48×48 河港平原 3D 区块
  • 原始部落 → 农耕村落与一次时代升级
  • 小径/早期道路、取水与供水覆盖
  • 居民、商业、农耕/资源、生产四种早期分区
  • 居民与企业自主建造并入住
  • 粮仓、市场、基础教育、基础治安
  • 满意度、人口迁入迁出、财政解锁
  • 一个外部市场、一条商路、基础价格与被劫风险
  • 一个完整季节循环、本地存档

本期明确不做

  • 铁路、地铁、公交、电力和高密度建筑
  • 工业/现代阶段、现代噪音和完整污染扩散
  • 多市场套利、完整犯罪团伙和灾害系统
  • 5×5 大地图、5000 栋建筑和 10 万人口压力目标
  • 微信登录、TapTap 登录、广告、支付和云存档
  • Axum、数据库、管理后台、排行榜和多人
  • 商店宣传图、上线包和版号流程
首轮玩家目标:陌生玩家不看开发者讲解,在 30–45 分钟内建立供水、道路和粮食可持续的村落;过程中系统主动制造一次可恢复的缺水、缺粮或道路中断,玩家能通过覆盖层与警告定位原因并修复。没有这条证据,不进入完整生产。
08 / TECHNICAL SHAPE

技术结构与性能预算

先锁定可测试的上限,再决定是否扩图。以下数字是工程目标,不是假装已经达到的成绩。

48×48垂直切片地块数
30 FPS首轮中低端安卓最低帧率目标
80 / 160 / 250低/中/高档动态可见代理上限
3 + 3×3城市存档数 + 每城轮换自动存档

Unity 6 客户端

  • URP、C# 规则层与表现层分离
  • 地块、道路、网络、建筑、人口池和经济分别建模
  • 固定步长模拟 Tick,不把所有逻辑塞进每帧 Update
  • 对象池、SRP Batcher、LOD Group、区块可见性裁剪

存档合同

  • 本地版本化 JSON/二进制存档
  • 手动存档 + 关键操作前自动存档
  • 每城 3 个轮换自动存档可回退
  • 必须测试旧版本升级、损坏与空间不足

服务器触发条件

  • 跨设备云存档:需要认证存储 API
  • 排行榜/奖励:需要服务端校验
  • 支付:需要订单与回执校验
  • 这些需求成立前,Axum 不进入关键路径
不能现在承诺的指标:完整地图 5000 栋建筑和 10 万人口只是目标上限。必须先在真机完成 48×48 压测,再逐级验证 3×3、5×5 区块;没有性能剖析数据时,不得写成“已支持”。
09 / ART PRODUCTION

Image 2.0 与真实 3D 资产的分工

镜头可以旋转,所以正式世界资产必须有真实几何、材质、碰撞和 LOD。二维效果图不能充当可旋转建筑。

资产类型Image 2.0 负责3D 制作负责垂直切片预算验收
地形与自然河港平原概念稿、色彩脚本、材质参考地形网格、河床、水体 Shader、土/草/岩材质、植被风动1 地形;4 地表材质;8–12 植被模块;1 水体四向旋转无穿帮;河水有方向;树草有轻微风动
道路与水利铺装、岸线、木石材料板直线/转角/交叉/坡道模块,取水点和渠网节点10–14 道路模块;4–6 水利模块吸附无裂缝;坡地不悬空;网络断点可视化
建筑部落与村落建筑概念、正交三视参考低模、UV、PBR 材质、碰撞、占地、建造阶段和 LOD12–16 栋功能建筑;6–8 个施工阶段/脚手架变体四向可读;功能可辨;近中远三级不突变
人物与运输居民服饰、职业轮廓和色板共享骨骼、走/搬运动画、材质换色,早期货运载具4 基础体型;6 职业变体;6–8 动画;2 运输单位250 代理压力场景不超过预算;远景自动简化
UI 与宣传界面视觉母版、图标方向、加载/商店概念图Unity UGUI 或 UI Toolkit、动态文字、状态、热区与无障碍1 套 HUD;6 覆盖层;约 30 图标不能把带文字的整张生成图当动态界面;所有按钮真实可点

风格目标

写实比例的风格化低模,不追求照片级材质。重点是河流、地形、道路与建筑的空间可信度,以及远景下清晰的功能轮廓。

性能约束

重复建筑共用材质图集,植被实例化,人物共享骨骼和贴图;首版先按中低端安卓制定面数、贴图与 Draw Call 预算。

生成图边界

Image 2.0 可加快视觉探索,但不能直接产出结构可靠的模型、UV、碰撞、动画、LOD 或可重复无缝的最终资产。

2026-08-19 生成状态:以上五张为 Image 2.0 生产参考稿,原始 PNG 可点击查看。人物 v1 因时代过晚被淘汰,v2 为当前有效方向。完整提示词、验收意见和 3D 交接要求见 美术资产计划
10 / ROADMAP

从零开始的生产顺序

状态只描述事实:目前没有一个里程碑可标为“已完成”。筛选按钮与验收勾选保存在当前浏览器。

M0 · 1–2 周当前

Unity 6 工程骨架

建立可在 Unity 编辑器和安卓真机运行的 URP 3D 工程,不做完整美术。

  • 从 Cocos 灰盒规格重建 48×48 测试地形、镜头和触控
  • 地块拾取、道路预览、撤销/重做
  • 固定步长模拟 Tick、配置表、版本化存档骨架
  • 中低端安卓基线性能报告
M1 · 3–5 周下一阶段

灰盒城市闭环

用简单几何验证规则,暂不追求漂亮。

  • 道路、取水、四类分区
  • 需求、居民自主建设与入住
  • 粮食、满意度、迁入迁出
  • 原始部落升级农耕村落
M2 · 3–4 周下一阶段

可诊断的模拟

让玩家知道城市为什么出问题,并能修复。

  • 覆盖层、问题定位和原因链
  • 财政解锁、粮仓、市场与商路
  • 教育、治安与一个季节循环
  • 缺水/缺粮/断路故障情境
M3 · 4–6 周下一阶段

首轮 3D 美术与手机体验

规则稳定后替换灰盒,完成横屏操作与性能优化。

  • 地形、水、植被和早期建筑套件
  • 人物代理、施工阶段、HUD
  • 三级 LOD、合批、对象池
  • 至少 3 档安卓设备实测
M4 · 2–3 周下一阶段

陌生玩家垂直切片

交给 8–12 名目标玩家,不由开发者现场教学。

  • 完成率、问题发现率、修复率
  • 误触、卡顿、崩溃与存档恢复
  • 访谈“为什么继续玩/为什么退出”
  • 按证据决定继续、返工或停项
M5+ · 证据通过后后续

完整生产与平台准备

只扩展已被验证的循环,按时代逐步增加内容。

  • 古代、工业、现代与大地图
  • 交通、贸易、污染、地价、灾害
  • 签名包、隐私、崩溃与 TapTap 商店素材
  • 有真实需求后再接登录与云存档
工期假设:以上约 13–20 周仅适用于 1 名程序、1 名 3D 通才、1 名 UI/技术美术、1 名策划/测试能稳定投入的 4 人小队,并且大量复用合规基础资产。若只有 1 人兼职,垂直切片更现实的估算是 6–10 个月;这还不包含完整五时代内容。
11 / RELEASE BOUNDARY

TapTap、登录和后台何时才需要

平台能力不能替代一款可玩的游戏。先有稳定实机包,再处理商店和账号。

现在不需要服务器

离线单人垂直切片使用本地存档。Axum、Docker 数据库、微信登录和 TapTap 登录不会改善核心模拟,因此全部后置。

TapTap 普通 Android 项目

正式名称为《城脉》,游戏 ID 910526,常规发布,不是小游戏。Unity 包名已冻结为 com.bolg.citypulse;当前仍未上传 APK 或提交审核。

TapSDK 当前状态

Unity 工程已接入 TapSDK 4.10.8、Newtonsoft JSON 和 UGUI,编辑器默认跳过 SDK 并保持离线试玩。TapTap 应用配置需要“认证开发者”资格,Client ID/Token 尚未生成,因此尚未进行真机登录验证。

发布阻断项

Android 包名和签名、隐私与权限声明、崩溃率、机型覆盖、存档升级、商店真实截图/视频、开发者资质及当时有效的官方审核要求。当前最大阻断是 TapTap 认证申请,需要真实主体资料和短信验证。

12 / ACCEPTANCE

垂直切片通过标准

勾选是测试记录,不代表功能自动完成。全部满足后,才讨论扩大地图和进入古代城镇。

13 / RISKS & DECISIONS

生产前仍需用原型回答的问题

规则冻结不等于数值全部确定。下面这些不能靠讨论拍脑袋,必须用可运行版本测。

风险为什么危险验证办法止损条件
城市“会动但不好懂”自主建造和聚合人口容易成为黑箱用原因链、覆盖层和首次故障测试理解率玩家连续两次无法判断原因时,暂停扩系统先重做反馈
手机操作过密道路节点、分区笔刷和旋转会争夺手势至少三种屏幕尺寸进行无讲解任务测试关键任务误触率高于 10% 时,重做工具状态机
模拟规模压垮性能全量路径和大量 3D 代理成本高从 48×48 逐级压测,不直接开 240×240中低端机无法稳定 30 FPS 时,降低更新频率或聚合精度
五时代内容失控每个时代都可能等同一款独立城市游戏农耕村落切片通过后才为下一时代立项首版留存意愿不足时,不用更多内容掩盖核心循环问题
美术先行造成返工规则和占地未稳定前制作精模会频繁重做先灰盒锁定尺寸、视角和识别度,再批量生产M2 前只做代表性资产,不做完整建筑库
当前最重要的决定:保留 Cocos 灰盒作为交互规格,先在 Unity 6 中重建最小可玩城市,再在中低端 Android 真机验证 30 FPS、触摸误触和存档,最后把 Image 2.0 参考落成正式 3D 模型、UV 图集和 PBR 材质。不要把当前程序化网格当作最终美术。