下载 App
《咸海拓荒》开发日志 #3:把俯视视角改成 2.5D,顺手把岛做大
15 小时前1 浏览


《咸海拓荒》是一个 2D 俯视的生存经营游戏:玩家在一座咸海环绕的岛上放建筑、拆建筑,用一条水网把淡水送到农田,对抗不断推进的咸潮。本期主要讲两件事——视角从纯俯视改成 2.5D 斜俯视、地形做了岛屿化,以及这两天踩到的坑。
一、进度
视角与地形重构
2.5D 斜俯视。 原来是纯 2D 正交俯视,格子是正方形。改完之后,垂直方向压缩 0.68 倍(约 47° 俯角),格子变扁;建筑额外画一层"立面"(高度约 0.22 格),立体感就出来了。这里没有引入真 3D——只是 2D 渲染时做了一次投影变换,相机、物理、深度排序全都不动。
岛屿化。 地形从"下缘是海、陆地上坡"改成"咸海中的一座岛":椭圆轮廓 + 噪声扰动海岸线 + 多源 BFS 算每个陆格到海的距离。地图同时从 24×14 扩到 36×20(720 格),让岛有足够纵深。陆格按距海距离分层——近海是沙色,内陆渐变到草地;陆格朝屏幕下方若是海,再画一道悬崖侧壁,岛看起来就像浮在海面上的立体台地。
顺带修的: 海格不再参与盐碱化(之前海水格会被算成"白化",视觉上很怪);存档补齐了碱化度相关的状态场,修掉一处读档后状态不一致的问题。
视觉打磨与工具链
海岸线补上了水波纹动画:海陆边界按时间相位画半透明白条,潮汐感出来了。另外写了一个地形 pak 资源的下载工具(幂等、带版本缓存),把资源获取从手工操作收成一条命令。还把这段时间的数值调参经验整理成了一份《游戏数值设计学习指南》,方便后面调参时有据可依。
二、踩到的坑
1. 渲染顺序是正确性问题,不是优化。 一开始海格和陆格混在同一个行优先循环里画,结果陆格的悬崖侧壁被下一行的海格覆盖,岛边缘出现断口。改成"先画完所有海格,再画所有陆格"才正常。
2. 渲染与点击必须共用同一个常量。 2.5D 后格子的视觉高度是 CELL × 0.68,如果点击换算还按 CELL 算,就会"点到的格不是看到的格"。这个坑很难自己发现,必须让渲染和点击走同一个 cellY,不能各写一份。
3. 农田选址的死结。 农田需要"有水网覆盖"且"远离海岸(低盐)",但这俩在空间上天然冲突。扩大岛屿后,内陆有了 235 格安全区,玩家可以用"水箱 + 管道延伸"把水送到内陆。实测"箱+管+田"链路下,20 日人口稳定在 9.4~11.7,粮食在咸潮间歇打击下紧平衡(0~0.24 低位波动)——压力保住了,也还可玩。这个张力我们决定保留,因为它正是核心决策点。
三、下期计划
- 双端适配(PC + 移动)与冷启动测试
- 数值第一轮调参,把 20 日曲线的波动收窄
- 护栏走查:确认全 UI 不出现维护人力数字、不出现 W/S/A 数字














