探究星际2单位移动机制:为何围杀容易而甩尾消失

社区服务
高级搜索
猴岛论坛综合游戏交流探究星际2单位移动机制:为何围杀容易而甩尾消失
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
7个回复

探究星际2单位移动机制:为何围杀容易而甩尾消失

楼层直达
___唯静、

ZxID:7417744

等级: 大将
人 生 如 戏,全 靠 演 戏...

举报 只看楼主 使用道具 楼主   发表于: 2010-06-30 0
— 本帖被 静こ無理~取垴 执行提前操作(2010-06-30) —





话说,这是我当上实习的第一帖,(*^__^*) 嘻嘻……欢迎大家多多捧场哦

今天我为大家收集的是:探究星际2单位移动机制:为何围杀容易而甩尾消失


首先,本文第一部分分析了星际争霸母巢之战和星际争霸2在操作上的不同。

我希望通过这篇文章能够激发玩家们对星际争霸2操作技巧的研究和讨论热情,我经常在各大论坛上看到一些玩家由于不同的操作习惯或者对星际2的错误理解而发表一些令人误导的观点:母巢之战的拥护者顽固地诟病星际2对传统操作方式的改变,而星际2的拥护者们则幻想通过这种改进的操作方式不费吹灰之力地轻松获胜。

下面的论述有一部分是由笔者本人的猜测估计所构成,因为在撰文过程中我没有运行过星际争霸母巢之战和星际2,所以文中有一部分是通过我自己的估计得出的结论。当然,我希望通过本文能够对玩家们有所启迪,将他们自己的游戏经验和文中所说的技巧结合起来,这样才能达到最佳效果。


第一部分:单位控制

星际争霸中的单位控制是指玩家操作战斗单位的能力,包括控制单位有效的输出伤害、躲避伤害和高效移动。由于单位控制是一个非常庞大的概念,本文第一部分将集中讨论其中的一个方面,即单位移动路径的选择


众多的单位涌现一个方向,他们的原理是什么?我们如何利用这些呢?

  移动路径选择

  星际2中采用的是一种被称为是“集群AI移动技术”,这种技术采用的是一个更加高级的算法,能够自动为单位计算出最短的移动移动距离,并通过AI对游戏中单位的移动提供一些辅助:例如,当你命令自己的部队绕过一个障碍时,AI会自动算出完成这一动作所需要的最少路径点,然后让你的单位贴着障碍物边缘进行移动。

  现在看来暴雪似乎在这方面做的还不错,但是由于这个领域对广大玩家来说还是比较专业,所以我们对星际2的移动路径选择机制还不是非常了解。但是有一点是有目共睹的:正是通过这种技术,即使操作着200满人口的部队也能在充满障碍物的地图上顺畅有效地移动。这是一种在游戏开发界备受关注的技术,所以在星际争霸2中暴雪众望所归的加入了它。当然从开始玩母巢之战时我就花了很长的时间来研究这种技术的实现。

  当然母巢之战的路径选择方式与星际争霸2还是有一定出入的。在下面这张简图上,每个单位都拥有八个可能的移动方向,由于当时运行星际1的处理器性能较低,不可能支持AI进行太复杂的运算,所以这种移动路径选择算法就显得比较原始和简单。在这种情况下,最普遍的算法就是A-Star算法(即一种静态路网中求解最短路最有效的方法)。


A- Star算法自动寻径示例图


星际1中龙骑士的移动正是基于这种算法

在每张地图的表面贴图下隐藏着无数看不见的点,他们像马赛克一般紧密地排列着。移动的时候,每个单位都是将其中的某几个点作为路径点而沿着它们一个接一个地移动,直到到达预定的目标。星际2能够通过“转向行为”控制一个单位以最小半径绕过另一个单位以避免各单位在移动过程中所造成的碰撞。而在母巢之战中,大规模的单位移动中可能会互相争夺最有利的路径点,从而降低部队移动效率。所以这正是为什么在星际2中围杀操作变得更加简单,而飞龙甩尾操作悄然消失的原因。


重叠飞龙之间轻微的散开导致了它们在转向180度时选择了不同的路径点


在星际争霸2中通过顺次设置多个路径点来模拟母巢之战的单位移动方式

不同点就在于母巢之战更依赖于通过A-Star算法来实现游戏单位从一点移动到另一点,在此过程中系统不断计算并生成该单位必须经过的每一个路径点。而在星际2中,路径选择更多的是依靠单位自身完成,这样在游戏中就可以最大限度的节约路径点的生成。

  母巢之战中的单位体碰撞规避机制也显得非常原始:为了避免碰撞,当有其他单位靠近时或者绕其移动时,正在前进中的这个单位就会停下并让出道路。这是你处理单位之间碰撞问题所需要了解的第一个常识。在高手对决中,你经常能够看到在农民侦查时,双方选手通过卡位来限制对方的单位移动——即使他们都强制操作着自己的农民移过对方,但是最后的结果却是前后两个农民都无法动弹。

  在星际2中,单位可以通过“转向行为”来避免障碍物或者前进中的其他单位(可能是聚集在一起的移动着)。因为每个单位都可以独立地探测即将发生的碰撞而改变自己的前进方向来避免它。这就使得对于每个单位来说,他们所要做的仅仅是计算出一个合适的前进方向而不需要像星际1中那样计算出一条全新的移动路径。即使在最坏的情况下,单位可以忽略移动半径而采用“流体运动”这种更高效的移动方式。


自动转向行为源代码实现示意


在上面的示意图中,星际1中的小狗开始攻击房子时,这群小狗正忙着决定各自的位置(可以看到处于队列后面的小狗会像无头苍蝇似的乱转一番);而星际2中位于后面的小狗会在接触房子到达攻击位置之前就开始自动转向。

  当然,有许多母巢之战的粉丝可能会不喜欢这样的改动,因为这使得“侧翼包夹”这种战术失去了市场,因为如果部队是像星际2中以聚集成团的方式进行移动,那么这种战术就基本无效了。侧翼包夹的小狗之所以能够对处于一条线上移动的机木仓兵造成巨大的伤害的主要是因为机木仓兵是远程攻击单位而小狗却是进程攻击单位。所以如果你能够减少自己部队的被攻击面积,那么你所受到的伤害也将大大减少。另外,由于部队数量的差异和伤害随着己方单位的死亡而急剧增加也是造成这一现象的原因。


上图出自OSL决赛中Flash对阵Effort。Flash的大量机木仓兵在行进过程中由于互相争夺相同的路径点而形成一字排开的队形,而Effort正是抓住了这一时机采用小狗进行侧翼包抄并消灭了Flash所有的机木仓兵。

  上图中情况表明,在星际1中,玩家对移动中的大部队进行手动控制往往能够大大增加部队的战斗效率,而在星际2中,电脑AI已经能够很好地自动优化队伍的移动队形,而玩家的手动操作则显得画蛇添足,甚至帮了倒忙。

  由于星际2中更智能的寻径AI,自动围杀的几率提高了。但是由于星际2中没有提速的小狗和农民具有相同的移动速度和碰撞体积,所以初期只能通过小狗围杀来消灭对方探路的农民,而操作侦查农民来躲避对方小狗的围杀就成为衡量高手的一个指标。


一个糟糕的围杀使得神族农民能够逃之夭夭

好了,今天就到这吧,欢迎来到星际争霸版块







点击在新窗播放
冬至陌离

ZxID:2962692

等级: 元老

举报 只看该作者 沙发   发表于: 2010-06-30 0
我不会玩·
本帖de评分: 1 条评分 DB +1
DB+1

NO  不删··好不容 ..

相思树下相思人,相思人上相思泪,相思泪中相思苦,相思苦啊苦相思,相思不到相思人。  
朴俊秀丶oL

ZxID:10293047

等级: 元帅
依然喜欢听歌~~~ 喔卖嘎~~~ 逊毙了~~~

举报 只看该作者 板凳   发表于: 2010-06-30 0
不错啊··
〆﹏相濡°

ZxID:3063857

等级: 元老
QQ972285

举报 只看该作者 地板   发表于: 2010-06-30 0
很不错
维他奶i

ZxID:9601349

等级: 禁止发言

举报 只看该作者 4楼  发表于: 2010-06-30 0
还不错`
xiaoziai1110

ZxID:12526626

等级: 列兵
举报 只看该作者 5楼  发表于: 2010-06-30 0
不错`
sly18

ZxID:12456074

等级: 大尉
举报 只看该作者 6楼  发表于: 2010-07-01 0
发贴辛苦了
邹邹邹邹星╮

ZxID:8507017

等级: 少将
高高高高调╮

举报 只看该作者 7楼  发表于: 2010-07-11 0
环游
路过。
77
本帖de评分: 1 条评分 DB +1
DB+1

请不要恶意灌水,恶意灌 ..

荷兰
输了
麻痹
盗头像木小JJ,头像私人专用!
盗头像木小JJ,头像私人专用!
盗头像木小JJ,头像私人专用!
盗头像木小JJ,头像私人专用!
« 返回列表
发帖 回复