Skip to content

地图设计

eRoHIKI edited this page May 14, 2024 · 2 revisions

四边形网格地图

地图可以用一个二维数组表示,数组内存储单元应当为一个结构体,结构体对应了该格子的信息

Untitled

战棋游戏《火焰纹章 结合》中的四边形网格地图。

火纹的地图系统非常值得参考,当然我们做的是简化版(另外火纹没有高度设置)。实际上游戏是~~(较为)~~自由移动视角,这里挑了个俯瞰视角对应我们要做的样子。其中的UI非常有参考价值,如右下角小地图,移动(蓝色)、可攻击(红色)范围,注意可以走到的地方(大多数情况下)肯定能打到,所以实际上蓝色覆盖了红色。以及下方列出了当前被选中角色的战斗能力数据。

地块格子信息

位置

位置可以直接利用数组的标号表示

地貌

包括 :

平原:最普通的格子,对移动力消耗为1

山地:消耗1.5

沼泽:消耗2,身处其中的单位降低20%两种防御力

雪地:消耗2,身处其中的单位降低10%两种攻击力,以及10%命中

水面:从陆地进入水面或离开水面到陆地时消耗为2,并且将剩余移动力清零(可以理解为上下船,行动力不足2就不允许上下船,上下船后不能继续移动)

由于在单位设计时没有设计命中值和闪避值(其实是没想好算命中率的公式),命中率相关内容可以搁置。

高度(可选)

高度(暂时)只用于和角色跳跃力进行是否可以通行的判断

Untitled

《三角战略》中带有高度的地图

在上图左侧红线画出区域就是一处明显有高度差的地方,可以看到建模其实非常类似于《我的世界》用不同材料方块叠起来。三角战略中的高度包含了对于远程单位射程以及各单位的攻击增幅影响(甚至包括射箭被阻挡的判断),会比较复杂。高度设计理论上可以之后加上,所以可以先搁置。

😂 另外,界面下方这堆人物头像其实是基于行动条机制计算得到的行动顺序,重复的几个是杂兵没单独立绘,别在意。

地块当前状态(可选)

即是否点燃、结冰、积水,通过施展技能改变

燃烧:经过时扣除5%血量,待在上面则每当该单位回合开始时扣除5%血量

普通:普普通通

积水:增加该格子0.5的移动力消耗

结冰:降低角色10%命中

当角色处于一格子上时,需要读取该格子的信息对角色进行实时调整。