阅读笔记-游戏开发中的人工智能-第3章-移动模式

1. 标准算法
    移动模式,实际上就是控制角色移动的方式。比如:可以建立圆形、方形、蛇形、曲线以及其他类型的模式。
    标准移动模式算法使用控制指令,指示计算机控制的角色,在每一轮游戏循环中如何移动。
    下以一个蛇形的移动模式为例,进行说明:
    下面就是一组控制指令 :
                     (turn_right, turn_left, step_forward, step_backward)
                     (0, 0, 2, 0) 
                     (0, 0, 2, 0)
                     (10, 0, 0, 0)
                     (10, 0, 0, 0)
                     (0, 0, 2, 0)
                     (0, 0, 2, 0)
                     (0, 10, 0, 0)    
    有了上面这些控制指令,只有重复依次调用这些指令,就能让角色进行蛇形移动了。
    准备多个模式,选择使用可以让角色更加智能。

2. 砖块环境中的移动模式

    对于砖块环境,可以指定一系列要移动到的点的相对位置(相对于起始点)。
    比如一个方形的移动模式可以表示为:
                     (10,  3, 18,  3)
                     (18,  3, 18,  12)
                     (18, 12, 10, 12)
                     (10, 12, 10, 3)
    对于这四个点,就能得到要移动的四条线段,然后利用第二章中的视线移动方法,算出这四条线段的路径,通过这些路径就能很好的控制角色的移动了。书中给出了具体使用Bresenham进行计算移动模式路径的实际代码。
    有的时候希望角色的移动更加难以预测,以方形移动模式为例,要么顺时针移动,要么逆时针移动,这太容易被玩家发现了,可以建立一个数组,将所有可以移动到的位置置为1,其他置为0,这样,每走到一个位置时,随即选择可以走的位置,这样就可能顺时针走几下就回头了。还可以更加精细控制,比如:限制只能在拐角处,作出随即选择,或者玩家角色和控制角色在一条直线时(认为此时角色可能看到玩家角色了),向玩家角色的方向移动等等。

3. 仿真物理环境中的移动模式

    这部分主要是和仿真物理引擎打交道,比如:前进和移动的速度和最大速度,转动的角度和最大角度,等等,移动模式的设置,需要考虑到仿真环境的情况。通过分析物理引擎的情况,给出若干条指令来完成一个模式,感觉和第一节中的情况很类似。

posted @ 2011-05-13 11:15  xiaodongrush  阅读(1160)  评论(0编辑  收藏  举报