游戏含有一个代表地图的矩阵结构,每个矩阵元素代表一个节点。游戏角色的移动方式是离散的。移动的终点必定是某个节点,而不是两个节点间的路径,即:如果。游戏角色位于两个节点之间的路径上那么他的状态必定是“移动”。如果游戏角色的状态是“停止”,那么他一定在某个节点上,简单来说就是像国际象棋那样的地图,棋子每次都停在格子中。这类游戏有很多,比较熟悉的有:英雄无敌战斗时的场景,RPG如仙境传说也是使用这种方式,星际争霸似乎也是这样的,只不过星际中的游戏角色加入了体积的概念,即不同兵种占的格子不一样多。体积最小的是虫族小狗,它只占一个格子,而且每次移动也是一个格子。
这类游戏的碰撞检测一般是将节点设定为特定的值,然后通过检测节点的值来判断。例如:
图1
右上角的数字表示格子是否为障碍物,1表示障碍物不能通过,0表示可通过,所以图1中的红点现在只能向下移动(四方向)。
使用这种地图结构很容易编写寻路算法,但是它不够*,游戏角色总是被限制在格子中。