这是一款用Unity2021开发的,模仿 《模拟地铁》游戏的独立游戏。
作者:朱正阳(TsingPig (Zhu zhengyang) (github.com))、
素材导入
- CityNodeTexture绘制组件 DrawPolygon.py

- 创建瓦片贴图(弃用)

- Ripple效果 (城市节点点击产生涟漪)

- LineDrawer.cs 地铁线条绘制效果

-
导入MVP框架,改用AA加载资源
-
地铁线路生成管理器 MetroLineManager.cs
拖动连线、磁吸效果、创建保护。

- 车站数字标号显示
4. 泊松分布(PoissonDiskSampling.cs)
用几何节点模拟城市区域车站(简称“车站”),市民有若干出行需求。
玩家的任务是通过有限的地铁资源,完成下面的若干目标:
-
生存模式:尽可能让所有的地铁站不拥堵,运行最多的天数(不会有很多乘客在排队)
-
创意模式:尽可能最大化单位时间的运载客流人次。
$$ \mu= \frac {所有站点在T时间内的入站人数+所有站点在T时间内的出站人数}{2} $$
- 地铁线路(MetroLine):3 ~ 20条
- 地铁列车(MetroTrain):载客6人的动力列车头。
- 地铁车厢(MetroCarriage):载客6人的、需挂载至列车头的车厢节。
- 隧道 / 桥梁(MetroBrigde):用于穿越河流。
- 换乘枢纽(MetroTransferHub):提高车站的最大客容量(生存模式)、换乘效率(创意模式)。
不同的几何图形,代表不同的城市功能区车站。例如,圆形代表居民区车站,三角形代表大型商业区车站,正方形代表学校/政府机构/写字楼等区域车站,菱形代表工业区。
车站类型 | 几何图形 |
---|---|
居民区车站 | 圆形 |
大型商业区车站 | 三角形 |
学校/政府机构/写字楼等区域车站 | 正方形 |
工业区车站 | 菱形 |
车站旁的黑色实心几何图形,代表一名乘客(MetroRider)的出行需求(Target)。
例如,一个圆形车站出现了一个三角形图形,代表这个市民有一个前往城市中任意一个三角形车站的出行需求。因此,合理的地铁规划,需要在能够可达(任一个车站的任一个需求都能满足)的情况下,尽可能减少车站拥堵,或者提高换乘效率。
车站出现的出行需求,在生存模式中,不会消失。这意味着不能满足的出行需求,会持续造成车站拥堵。在创意模式中,在等车过久后,该需求可能会消失。
每个车站有一个最大客容量,如20人。过多的在该车站等候的市民,会造成车站拥堵。
需要合理规划换乘线路,使得地铁运行效率最高。
由于城市在不断发展,会增加新的车站需求。这意味车站会在一定时间内动态增加。场景中随机生成节点(CityNode,保证生成合理性),在生存模式和创意模式中,玩家允许重新设置线路。