动物AI详解

来自一小时人生中文维基百科
跳到导航 跳到搜索

什么是动物

动物在一小时人生中属于会自行移动的物体(除兔子、野生鹅),以下仅罗列可移动动物。

野生动物是游戏中地图自然生成的物体,家养动物需要通过人工繁殖得到。

野生动物

野生动物有狼、野猪、熊、蛇、野牛、山羊、蚊子、马、火鸡

家养动物

家养动物有狗、家养猪、家养牛、绵羊、家养鹅

危险动物

危险动物是指有致命伤害或引起疾病的具有攻击性的动物,它们攻击人类的条件是必须和人在同一个格子(可能野猪存在范围伤害)。

危险动物有狼、家养狼、野猪、家养野猪、熊、蛇、蚊子、激怒的比特犬。

疑似范围伤害的情况

  • 游戏物体xs,ys值表示物体移动起点坐标,xd,yd值表示目标格坐标
  • 玩家移动时会向服务器发送MOVE请求,,服务器会更新玩家物体的xd,yd值,而动物在移动时也会更新xd,yd值,服务器会在每个执行周期内检查玩家与物体目标点坐标,一致时发生转换(即遇到野兽时受伤)
  • 并且客户端渲染物体移动不是瞬间完成,在移动时玩家改变了目标位置,仍然会执行已发生的转换,因此出现玩家并没有碰到怪物却受伤的情况。
  • 以上内容部分为猜想
    大多数动物的移动方式。

动物移动方式

  • 目前所有动物移动距离是4格,也就是说,这个动物会每隔几秒随机移动1~4格距离。
  • 动物每次移动只能走一次直线移动(包含横向、纵向以及斜向),如果中间有阻拦移动的物体,那么这次移动会被阻挡。
  • 动物只能移动到没有物体的格子上,比如一个格子有鹅莓浆果或者一个圆石头,那么动物将无法移动到这个格子上
  • 所有动物会每隔数秒时间移动一次


如图所示,以熊的移动为例;上图中的熊在一次移动中只能移动到红色格子,如果红色格子中有物体那么就不能移动到这一格;

当你站在绿色格子中,熊会朝距离你最近的红色格子移动。

移动行为

动物的移动行为分为:逃逸、追逐、随机

追逐行为的会追赶玩家,试图走到玩家所在格子。

逃逸行为的会远离玩家。

随机的看缘。

如何利用动物AI?

由于所有动物只能移动到没有物体的格子上,可以利用这个特性避免被野兽攻击或制作不会逃羊的羊圈(动物永远不会从中逃出)。

处于无敌位上的玩家。

无敌位

  1. 当你发现野兽时,不需要惊慌,只需要在附近找一个有物品的格子,点击这个物品下面的地面,那么你就安全了。
  2. 如果你需要赶路,首先站在有物品的格子,等待观察野兽移动方向,待野兽移动完成后,你就有数秒的时间逃离。
  3. 当野兽多到像上图这么多时,也不必慌,只需要一格一格用物品铺设“无敌位”,逐渐逃离即可。

绞肉机/杀娃机

通常用于清理后代。外服无此现象。

TIM截图20190222134631.png

堵熊洞

熊洞下方放置任意阻拦移动的物体,熊召唤出也会瞬间回到洞穴里。

Cave.png

杀熊机

建议从外侧熊洞上方召唤熊,内侧召唤较为危险需要较快的反应速度。

召唤出熊后站在标记位置即可轻松虐杀灰熊。

注意标记左下角需安装一个阻拦移动的物体才能防止熊逃出。

Cave4.png

狼皮机

首先拿羊肉去野外找到一头狼喂它,喂完后去站在任意物体上。因为狼吃完同屏幕内会一直粘着你,等它生完去抱它的狼崽,第三个就是狼崽。抱回家放在养狼的位置,用猪肉丝养大。养大后就是狼,然后用羊肉让它怀孕,将狼崽放到狼皮机下一个空位。

狼被抱完幼崽后过个40分钟左右就会死亡,即可剥皮。----by 老司基Sb

Wolf1.png

Wolf2.jpg

羊圈

BUG羊圈的原理。 By pein.

如图所示是多种可行的羊圈结构

各种类型的羊圈和原理说明。土胚为阻挡移动的方块,醋栗和玉米为任意物品。By pein

Bug羊圈的结构能防止动物逃离而玩家能够从中通过,下图展示了羊圈开口结构

开口处可以放置物品,鹅莓、标记、耕地等玩家可以通过的物体。

开口外徐放置阻拦移动的物体,如炉子底座、墙壁、钟楼基座、栅栏等。

Sheepfold2.png

使用这种结构可以设计出任意尺寸与形状的羊圈,以下展示一种最常用结构(一般是内部4x4的空间)

Sheepfold3.png

羊圈常见错误

  • 开口处没有放置物体(图中家园标记的位置)
  • 开口外没有摆设阻拦结构(图中左上角的底座)
  • 非开口处没有封死,即图中直角顶点处
  • 羊圈空间过于狭小,导致羊群四处挤占空间无法正常操作
  • 只有一个开口时在开口旁边剪羊毛,由于刚剪毛的绵羊属于阻拦移动物体,这样操作会导致羊圈被完全堵死 V210版本更新后,刚剪毛的绵羊不会阻挡移动了。

羊圈逃羊补救方法

  • 根据上面的方法修复羊圈的问题
  • 用绳子牵小羊进去,喂食