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. 仿真物理环境中的移动模式

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

转载于:https://www.cnblogs.com/pangxiaodong/archive/2011/05/13/2045306.html

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

  1. 游戏开发中的人工智能(二):追逐和闪躲

    接上文 游戏开发中的人工智能(一):游戏人工智能简介 本文内容:讨论基本的追逐和闪躲技术,以及进级的拦截技术.我们也谈及这些技术在砖块环境和连续环境中的变化. 追逐和闪躲 本章的焦点是追逐和闪躲,这是 ...

  2. 游戏开发中的人工智能(五):以势函数实现移动

    接上文: 游戏开发中的人工智能(四):群聚 本文内容:靠势能移动在游戏 AI 程序中还算相当新颖.这个方法的最优越的地方在于可以同时处理追逐.闪躲.成群结队和避免碰撞等行为.我们专门研究的这个势函数叫 ...

  3. 游戏开发中的人工智能(十三):不确定状态下的决策:贝叶斯技术

    接上文 游戏开发中的人工智能(十二):概率概论 本文内容:贝叶斯技术是概率技术,本章解释如何运用,以便在游戏中做决策并适应游戏. 不确定状态下的决策:贝叶斯技术 本章要介绍贝叶斯推论和贝叶斯网络,教你 ...

  4. 游戏开发中的人工智能(十四):神经网络

    接上文 游戏开发中的人工智能(十三):不确定状态下的决策:贝叶斯技术 本文内容:"神经网络"技术让游戏具有学习和适应的能力.事实上,从决策判断到预测玩家的行为,都可以应用.我们会详 ...

  5. 游戏开发中的人工智能(六):基本路径寻找及航点应用

    接上文:游戏开发中的人工智能(五):以势函数实现移动 本文内容:游戏开发人员使用很多技术在游戏环境中寻找路径.本章要谈几种方法,包括航点应用. 基本路径寻找及航点应用 寻找路径的问题有很多不同类型.没 ...

  6. 游戏开发中的人工智能(十一):规则式 AI

    接上文 游戏开发中的人工智能(十):模糊逻辑 本文内容:技术上而言,有限状态机和模糊逻辑都落在基于规则的方法这个大伞之下.本章将谈这些方法,以及其他变化的方法. 规则式 AI 本章我们要研讨基于规则的 ...

  7. 游戏开发中的人工智能(一):游戏人工智能简介

    本系列文章对<游戏开发中的人工智能>David M.Bourg / Glenn Seemann 一书进行解读. 这本书谈了很多游戏软件 AI 的主题,内容深度适合初涉开发人员.所以,无论你 ...

  8. 为什么在游戏开发中我不喜欢用MVC系列模式了

    为什么在游戏开发中我不喜欢用MVC系列模式了: 1,代码繁冗,当你阅读别人的代码,一个很简单的逻辑,被封装了多次,需要在多个代码文件中索引,阅读效率极低.代码文件分散,一些很简单的逻辑,例如按钮点击, ...

  9. 游戏开发中的人工智能

    前言 今天非常开心,观看cocos官方直播居然在几千人中中奖,可以买彩票了. 言归正传,所谓的人工智能,也就是大家常说的AI(Artificial Intelligence).一说到AI可能就会让人觉 ...

  10. Unity3D游戏开发中的人工智能AI 简单实例

          今天我想说的是游戏中的人工智能.人工智能这个东西在游戏中是非常重要的,人工智能说简单了就是根据随机的数字让敌人执行一些动作或逻辑,说难了TA需要一个非常复杂的算法,本文我主要说说Unity ...

最新文章

  1. Python os.getcwd() 方法
  2. 公基考计算机知识吗,2021河北唐山事业单位公基备考知识:计算机常识
  3. 使用C/C++发展Web系统开源
  4. jquery 对 Json 的各种遍历
  5. 什么是集电极开路(OC)?什么是漏极开路(OD)?为什么必须要在OC门输出的IO口上加上拉电阻?
  6. 沫沫金:联想E431 1K6安装Windows系统100%成功技巧
  7. 《51单片机应用开发从入门到精通》——2.6 中断控制功能的作用
  8. 【ASP.NET Core 沉思录】CreateWebHostBuilder 是一个 Convension
  9. Flutter NestedScrollView实现的一个经典滑动折叠头部图片的效果
  10. 谷歌大神Jeff Dean领衔,万字展望5大AI趋势
  11. mysql 批量插入数据
  12. python语言的赋值语句可以改变变量的类型吗_python 数据类型和变量
  13. 对称密钥和非对称密钥
  14. 误差传递公式(law of propagation of uncertainties)
  15. 利用数据库进行肿瘤基因的挖掘
  16. android 通话录音
  17. Xposed模块初体验——第一篇
  18. python实现从oracle读数据写入mysql(1)
  19. 记一次糟心的前端笔试(2)
  20. 电商直播元年 微媒云播打造私域流量火爆商业新模式

热门文章

  1. Android 网络通信 之 UDP
  2. @TableField注解使用(忽略扫描)
  3. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_18-异常处理-不可预知异常处理...
  4. 阶段3 2.Spring_04.Spring的常用注解_4 由Component衍生的注解
  5. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_01 File类_3_绝对路径和相对路径...
  6. 64位Websphere MQ7在64位RHEL5下的安装及使用
  7. Async.js——Node世界中被依赖最多的库No.3
  8. SimpleDateFormat多线程下的安全问题(解决方法)
  9. 关于阿里巴巴发布普惠体的一些思考
  10. 面向面试编程-概念之-分布式与集群的区别和联系