游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2398|回复: 2

[求助] [求助]关于AI依据方向锁敌的问题

[复制链接]

2

主题

240

帖子

1239

积分

金牌会员

Rank: 6Rank: 6

积分
1239
发表于 2015-11-30 15:24:32 | 显示全部楼层 |阅读模式
如题,有个怪物AI依据方向进行锁敌的问题。
这是一个动作游戏,玩家操作虚拟摇杆控制奥特曼打怪兽的游戏。
情景假设:
1)玩家利用移动摇杆,操纵奥特曼朝向正北方。此时,奥特曼南方1米处,有怪兽A(离他最近),在正北5米处,有怪兽B(离他最远),北偏东10°,3米处,有怪兽C(不远不近,但是跟当前朝向只偏了10°)。北偏西40°,2米处,有怪兽D(很近,但是跟当前朝向的角度偏得很远)。
假设奥特曼普攻的射程就是10米(可以打到所有的怪物)。
需求是:
此时玩家按普通攻击键,会进行普攻,奥特曼的攻击优先级顺序为C>B>A>D,即,方向优先,距离其次。

2)玩家没有对移动摇杆使用任何操作,此时奥特曼已经朝向了北方。怪兽位置和1)一样。
需求是:
此时玩家按普通攻击键,会进行普攻,奥特曼的攻击优先级顺序为A>D>C>B,即,距离为唯一判定。

求助问题是,设计一套AI的仇恨规则,让玩家在操纵移动摇杆时,达到1)需求的效果。

我预想的方案是,奥特曼依据仇恨值来决定攻击哪个怪兽,需要如下参数:
1)选取范围(与技能射程等同,超过技能射程的不纳入仇恨值计算,即10米外的怪兽奥特曼就当做没看见了.)
2)角度仇恨值算法(怪兽与奥特曼角度越大,仇恨值越低.)
3)距离仇恨值(怪兽距离奥特曼越远,仇恨值越低.)
三个参数共同作用,计算出范围内所有怪物最终仇恨值,达到需求1)的效果,需求2)的话去掉角度仇恨值算法即可.

但我不确定这样是否漏了什么,或者有什么更优的解决方案.

102

主题

2443

帖子

7639

积分

论坛元老

Rank: 8Rank: 8

积分
7639
发表于 2015-11-30 15:31:07 | 显示全部楼层
优先级啊,程序先判定的优先级为方向,然后再计算距离。别的也一样啊。

2

主题

240

帖子

1239

积分

金牌会员

Rank: 6Rank: 6

积分
1239
 楼主| 发表于 2015-11-30 15:43:38 | 显示全部楼层
herosone 发表于 2015-11-30 15:31
优先级啊,程序先判定的优先级为方向,然后再计算距离。别的也一样啊。

嗯,你跟我说的是一个东西,只是我把它参数化了。那这么看来应该就是这样没错了,多谢大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-25 12:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表