一种用于模拟大规模战场的单位逻辑控制方法

文档序号:1573514阅读:292来源:国知局
专利名称:一种用于模拟大规模战场的单位逻辑控制方法
技术领域
本发明涉及一种信息处理方法,尤其是涉及一种用于模拟大规模战场的单位逻辑控制方法。
背景技术
大规模单位交战的计算,被应用在各个计算机领域中,尤其是一些市场上知名的游戏中。传统的战场计算方式主要分为三个阶段索敌阶段、行为阶段、移动阶段。索敌阶段,即根据游戏中单位的某个属性,制定相应的Al行为,通过比对战场上所有单位从而获得相应的目标。行为阶段,当单位获得了之前确定的参照目标后,单位会根据预设Al进行一系列的程序行为,行为会消耗相应的行动力值,行为一般包含根据攻击范围执行攻击命令,或者满足技能施放条件则施放技能。当执行完行为阶段后,拥有行动力的单位可以执行移动阶段,目前游戏中的移动算法主要采用A*搜索算法,这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。通过以上三个阶段,就能在程序中实现出上万个单位的智能化对战场面。但此种常见的计算方式存在一些难以解决的弊端首先,由于A*搜索算法通过遍历战场地图的数据进行计算路径,所以越大的地图会加大运算量。而更多的游戏单位,则意味着同一时间内需要计算的次数更多。上万个单位若无经过优化,很可能会导致系统出现堵塞,以至于其他程序无法响应,严重影响计算机本身的性能和执行效率,也会对游戏的体验产生致命的影响。其次,对于多单位行为的计算,由于在游戏中单位的攻击范围是一个必然出现的重要属性,这个属性影响了每个单位执行命令的时机,而最终形成一个可见的战场表现,目前的战场常会出现一些不佳的逻辑表现,例如前排弓箭手和敌方弓箭手开始对射,所有后方单位会因为射程不足以囊括对方目标,不产生攻击行为,转而执行移动行为,单位逻辑上会出现后方单位四处乱走的混乱场面,无法模拟现实战场的场景效果。

发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种模拟效果真实、信息处理负担小、处理效率高的用于模拟大规模战场的单位逻辑控制方法。本发明的目的可以通过以下技术方案来实现—种用于模拟大规模战场的单位逻辑控制方法,该方法适用于即时战略游戏中单位大规模交战时的行为逻辑控制,所述的行为逻辑控制包括索敌阶段、第一行为阶段、移动阶段和第二行为阶段,单位的攻击判定范围包括执行攻击范围和预备攻击范围,所述的方法具体包括以下步骤I)索敌阶段,采用区间索引的方式,遍历整个战场的所有区间,直至检测到符合攻击条件的目标单位,然后执行步骤2);
2)第一行为阶段,判断该单位的执行攻击范围内是否存在目标单位,若为是,则执行攻击行为并执行步骤5);若为否,则执行步骤3);3)移动阶段,检测可缩短与目标单位之间距离的路径,若存在所述路径,则沿该路径移动靠近目标单位,并执行步骤5);若不存在所述路径,则执行步骤4);4)第二行为阶段,判断预备攻击范围内是否存在目标单位,若为是,则执行攻击行为,并执行步骤5);若为否,则进行待机,并执行步骤5);5)完成本回合的行为逻辑控制,返回步骤I),重新执行新一回合的行为逻辑控制。所述的战场划分为多个区间,所有单位根据坐标分布于战场的不同区间内。所述的索敌阶段中区间索引的方式以单位所在坐标为中心,由临近的区间向外层的区间进行遍历,直至检测到符合攻击条件的目标单位。攻击范围即为单位搜索攻击目标的范围大小,如有目标在范围内,则满足被攻击的条件。本方法中将攻击范围分为执行攻击范围和预备攻击范围,其中,执行攻击范围的为可立即执行攻击攻击行为的范围,而预备攻击范围会比执行攻击范围大,用来判断多排队列。与现有技术相比,本发明由于不需要对整个战场进行遍历,可以大幅度减少因战场规模和单位规模所带来的计算机计算负担,可以根据战场和规模的大小,提高50 % 500%的效率。此外,战场可以自由的表现出多排单位同时进行攻击待机的整体行为,达到模拟实际的战场效果。


图I为本发明的流程图。
具体实施例方式下面结合附图和具体实施例对本发明进行详细说明。实施例一种用于模拟大规模战场的单位逻辑控制方法,该方法适用于即时战略游戏中单位大规模交战时的行为逻辑控制,根据战场的地图数据将战场划分为多个区间,所有单位根据坐标分布于战场的不同区间内。 在一般的逻辑控制方法中,攻击范围即为单位搜索攻击目标的范围大小,如有目标在范围内,则满足被攻击的条件。本方法中单位的攻击判定范围区别与传统的模式,将攻击范围分为执行攻击范围和预备攻击范围,其中,执行攻击范围的为可立即执行攻击攻击行为的范围,而预备攻击范围会比执行攻击范围大,用来判断多排队列。整个行为逻辑控制包括索敌阶段、第一行为阶段、移动阶段和第二行为阶段。该方法体包括如图I所示的几个步骤步骤I)索敌阶段,采用区间索引的方式,以单位所在坐标为中心,由临近的区间向外层的区间进行遍历,直至检测到符合攻击条件的目标单位,然后执行步骤2);步骤2)第一行为阶段,判断该单位的执行攻击范围内是否存在目标单位,若为是,则执行攻击行为并执行步骤5);若为否,则执行步骤3);
步骤3)移动阶段,检测可缩短与目标单位之间距离的路径,若存在所述路径,则沿该路径移动靠近目标单位,并执行步骤5);若不存在所述路径,则执行步骤4);步骤4)第二行为阶段,判断预备攻击范围内是否存在目标单位,若为是,则执行攻击行为,并执行步骤5);若为否,则进行待机,并执行步骤5);步骤5)完成本回合的行为逻辑控制,返回步骤I),重新执行新一回合的行为逻辑控制。所有单位均通过上述方法进行战斗行为的逻辑控制,由于不需要对整个战场进行遍历,可以大幅度减少因战场规模和单位规模所带来的计算机计算负担,可以根据战场和规模的大小,提高50 % 500 %的效率。此外,战场可以自由的表现出多排单位同时进行攻击待机的整体行为,达到模拟实际的战场效果。
权利要求
1.一种用于模拟大规模战场的单位逻辑控制方法,该方法适用于即时战略游戏中单位大规模交战时的行为逻辑控制,其特征在于,所述的行为逻辑控制包括索敌阶段、第一行为阶段、移动阶段和第二行为阶段,单位的攻击判定范围包括执行攻击范围和预备攻击范围, 所述的方法具体包括以下步骤1)索敌阶段,采用区间索引的方式,遍历整个战场的所有区间,直至检测到符合攻击条件的目标单位,然后执行步骤2);2)第一行为阶段,判断该单位的执行攻击范围内是否存在目标单位,若为是,则执行攻击行为并执行步骤5);若为否,则执行步骤3);3)移动阶段,检测可缩短与目标单位之间距离的路径,若存在所述路径,则沿该路径移动靠近目标单位,并执行步骤5);若不存在所述路径,则执行步骤4);4)第二行为阶段,判断预备攻击范围内是否存在目标单位,若为是,则执行攻击行为, 并执行步骤5);若为否,则进行待机,并执行步骤5);5)完成本回合的行为逻辑控制,返回步骤I),重新执行新一回合的行为逻辑控制。
2.根据权利要求I所述的一种用于模拟大规模战场的单位逻辑控制方法,其特征在于,所述的战场划分为多个区间,所有单位根据坐标分布于战场的不同区间内。
3.根据权利要求2所述的一种用于模拟大规模战场的单位逻辑控制方法,其特征在于,所述的索敌阶段中区间索引的方式以单位所在坐标为中心,由临近的区间向外层的区间进行遍历,直至检测到符合攻击条件的目标单位。
全文摘要
本发明涉及一种用于模拟大规模战场的单位逻辑控制方法,该方法适用于即时战略游戏中单位大规模交战时的行为逻辑控制,所述的行为逻辑控制包括索敌阶段、第一行为阶段、移动阶段和第二行为阶段,单位的攻击判定范围包括执行攻击范围和预备攻击范围,所述的方法通过对所有单位依次执行索敌阶段、第一行为阶段、移动阶段和第二行为阶段来对整个战场上的单位进行行为逻辑控制,实现大规模战场的模拟。与现有技术相比,本发明具有模拟效果真实、信息处理负担小、处理效率高等优点。
文档编号A63F13/10GK102974098SQ20121051781
公开日2013年3月20日 申请日期2012年12月5日 优先权日2012年12月5日
发明者庄易霖, 杨云杰, 林秀全 申请人:上海创图网络科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1