当前位置:补丁教程首页 >> [NbaLive补丁教程] >> AIACT-Assignment 修改教程
AIACT-Assignment 修改教程 (2)
2008-06-15 02:14:58  来源:  文章整理:互联网  文字大小:【】【】【
  • AIACT-Assignment 修改教程 BY Woody 未经允许,严禁转载!!需要的工具-EA Graphics Editor, bigGUI用它们导出AIACT中的Assignment.act并用记事本编辑.打开Assignment.act后我们可以看到它分成4段,它们在平 ...

bsp;  0   0   0  0   0  0  0  0  0  0  0       

Post style
focal point            3   0   0   0   0   0   0  0   0 79  0 80 79 74  0       

Perimeter style
focal point            28   0   0   0   0   0   0  0  69  0  0  0 79 79 79
每一条都表示游戏对这类球员赋予的资格多少。
1  B 是球员类型识别码. 每一条的这个数值都可以改动,但我建议你们不要去改它。
2  C 应该是和球员的敏捷度,速度,和运球能力有关。(我对B和C也不太确定。)
3  D 应该是和球员的敏捷度,速度,和运球能力有关。
4  E应该是和球员的花式运球(dribble drive)有关. 在有值的条目中降低其数值将导致花式运球更多。
5  F 只有 post player 条目有值.我认为它是用来调整近距离和中距离跳投的。
6  G Dunks and Layups 归属于 "Good dunker" and "Good dunk_layup" 条。 调高其数值能使得扣篮上篮变少,同时减少球员在篮下的移动。如果调得太高他们将会做出极短距离的跳投。
7  H 关于传球. 调低其数值将看到更多传球.调得太低球员将会在不是真正需要传球时传球 。我一般把"Good passer"条的对应数值设为50。
8  I 是关于跳投的。调高跳投少,降低跳投多。
9  J 是关于3分投射的。
10  K 是关于内线得分的。
11  L 是关于重要性(PRIMACY)的。这一项如果你把0改成一个正数(positive number) 我想是不会跳出的。你调得越高,在游戏中这类球员被赋予的重要性等级越高。
M, N, O, and P 这几项是08新加的. 他们只在两个08新加的条目Post style focal point and Perimiter style focal point中有,我目前还不清楚它们的作用。

"Situation"这一段是控制游戏中的各种特殊情况的。这里有N多数值和项目看起来令人绝望。如果你能够理解它们在游戏中对应的情况并且了解它们在游戏中如何激发,那么你就会觉得修改这一部分容易些了。注意"SITUATION"标题下的数字,它表示这一部分一共有160条。稍后我将告诉你们为什么这个数字很重要。
我简要地说说吧。
这一部分非常明白, 每一项(一个数字)涉及一种情况, 但我们实在难以搞清这些分别都是什么情形。不过我们可以猜测,去体会这些数字之间的平衡。是的, 平衡才是关键.

这些数字像这样发生作用:
0 = 不可能发生
1-7 = 不可能发生到最可能发生,数值越大可能性越大,这就牵涉到平衡的问题。所有玩08的玩家都很讨厌内线球员篮下接球就投。我们找到situation底部的"Inside Out: Post Player: Take a Shot (jump)"这一条,并且注意第R项.
Code:
Inside Out: Post Player: Take a Shot (jump)     
B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R
0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1   7.....

它的数值是7!.看看上下条目的相同项发现大部分的数值都是比7小的,继续往上看直到你看到"Inside Out: Post Player: Take a Shot (dunk layup)"的R项同样是7.继续往上看你会发现一堆条目像中的数值都是比较低的,像 "Dunk_layup: in traffic down low"和"Shot: Covered close jumper". 看"Post: backdown"条, 它的数值是 6. 所以, 如果你希望内线多靠打,你可以尝试着降低第一部分Qualification里 "Poor Ball Handler"( "Post Players"的识别项), B项, 还记得么?) 的数值,或者你可以把 Inside Out Post Player 这一项的相应数值调低。关于扣篮上篮跳投的数值已经有了,所以你可以试着把"Inside Out" 的R项改成0, 或 1 and 然后看看在游戏中会发生什么. 它可能未必发生作用如果游戏中没有遇到相应的情况,因为我们不清楚每一项涉及哪一种情况。所以这个过程充满尝试和误差。你也可以看看每一条右边的最后几项,这些都是08新加的,08AI大部分新情况都与这几项相关,把这几项都设成0试试吧。 

仔细观察后你发现, "Situation"段上下条目中R, W, 和 X 这几项有数值的最多,所以这几项对游戏AI的影响应该也是最大的。

"ACTION" 段最容易导致游戏跳出,如果你把这些数字瞎改的话。 我过去只对这部分做最小程度的改动,如果你还记得我以前改的AIACT球员快攻在没人防守时也会做出过人动作和转身这就是因为我改了这一段。这一段很简单,只有两种可能的选项, 0 or 1.
1 表示 yes
0 表示 no
我对这一段再也不感觉混乱了。(I don't mess with that section anymore.)

"JOB" 是我最喜欢的一段, 因为它基本上指向不同情况,与它们相互联系被处理成一串共同决定游戏中AI的表现。说清楚他们是如何发生作用的是件难事,特别是因为我自己也不是了解得很清楚,这是一个谜题就像你画画时需要尝试让各个部分相互匹配协调从而让它们组合成你希望看到的样子。
还记得"SITUATION"标题下的数字160 么? 在这里我们就可以见出为什么它很重要了。参照"SITUATIONS"段, 0 = "_DEFAULT",SITUATION 段的第一条,而在我们现在看的"JOB"段并没有对应的条目。数下来一直到159条 "FastBreak: Receiver uncovered: wing ahead open", 也就是"SITUATION"段的最后一条。我们看JOB 段各个条目的第3和第5项,你应该意识到第三项(第3个数字)表示对应"SITUATION"段的第几条。所以,你看到"Shot: out of time" 第三项数值是 "1"。把 "SITUATIONS"段的"_DEFAULT" 条算作0开始数, Shot:Out of time就是1.下面一条是 Pass: to pg, 这就应该是2, 你会看到"JOB"段中第三项的数值就是2。再看看第5项,是 41。这是因为每一个"Pass" 或 "Passer"条总是有"Receiver"对应并且需要第二个对应的相关项.如果你数到"SITUATION s"段的第41条(要记得,第一条 _DEFAULT, 腰算成 0, 而不是 1), 你将会找到 "Receiver: to pg"。我希望看到这里你们对EA的这种安排格式有点小理解了。如果你乐意的话你可以改变这些数值,虽然我不知道这样会造成什么影响,而且它还可能导致跳出,如果你加入个游戏不喜欢的数据的话 。不过如果你以 "Receiver"的情况(第5项数值对应的)为指引,应该是不会导致跳出的。有些JOBS条目第 4项有数值,但它总是和这条的第3项一样。

前两项和后两项多多少少和 IN and OUT指向其他情况有关,但是,其中一些"规定"("RULE" over)了确定的情况。(The first two and the last two are more or less the IN and OUT points from other situations, however, a few of them "RULE" over certain situations.)

举个例子, 让我们看看JOBS的条中随便一条和扣篮或上篮有关的。
代码:
Dunk_layup: covered close layup (guard)    2   0   102   0   0   8   1

注意第6项, 它总会是 8。 8 对应的是 "Pass: from ground in backcourt"。 如果你把这个数字改了, 球员将不会扣篮或上篮,我也不知道为什么。但是, 看 "Pass: player cutting with open lane" (第三项数值是68 你可以很容易找到这条)如果你把它第六项的数值改成 8(Pass from ground in backcourt), 在游戏中当控球人员过半场时你将看见一些to cutting players的传球。这就是我在JaoSming的Street07的AI中修改的东西。

就像你看到的这样, 这部分也许是最难理解的一块。所以我将再和你们多谈谈一些。看"JOB"段第 "29"条 :"Pass: stagnant offense." Stagnant 的意思是进攻的方式是 standing around. 接着我们往下看到第 65条:"Drive advance to basket."看第一项, 正是 29。你知道我想说什么吗? 当 AI 决定"stagnant"的进攻方式,它可以牵涉到"Drive: advance to basket"这项会触发持球人尝试drive。也许如果我们把数值"29" 放到 "Play(screen): use screen(or Play(screen):wait for screen)" 它会告诉持球人当进攻是 "stagnant"的情况时使用screen。

我对第二和第七项如何发生作用还不是很清楚。看第"91", Pass: from Backdown. 第七项是 50, 50就是 "Receiver: to guard in backcourt"。这就是让你明白, 后场并非总是牵涉到在后场的球员还包括在处在一般方向的球员(just players in that general direction)。所以, 如果你在背打后传球,它会传到后场的后位手中,但它还牵涉到"Receiver: from backdown"(第五项92), 所以你可以看到它牵涉到两种情况。
注意事项:任何地方都不要使用数字25, 它将导致CPU试图把球传给自己。不要改动任意条第六项的 "1", 它是控制cpu 投篮的。
同时, 这一段的条目是没有先后顺序的。把其中的任何一条调上调下都不会造成它的发生几率变化之类的情况发生。

还有,如果你决定删除"Situation"段其中的一条, "JOB"段中所有与之相关的条目也需要随之改动。让我们谈谈删除"Situation"段中的"Drive:Open Drive"的情况(别这样做, 狂笑)。由于它在"JOB"段中的相应数值是 3, 所有其它条目中比3大的数字都必须减1。 同时你还得记得把SITUATION标题下的数字减1使它同条目总数对应。

最后我想说的是 EA 做了些奇怪的事。比如, 它们禁止(disabled) "Secondary Break: Drive: Beat Defender"条:在 JOB 段把它拼错,然后在第一项中赋值0 (在 07是这样)。在07中,我将这个拼写改正并且添上数字1, CPU 的移动就多了很多,就像它们移动得不够一样,所以也许EA是故意这么做的。他们在07中把06中的情况"FstBrk: Pass: www(and Receiver)" 换成"Pass: Off of dribble penetration", 但他们忘了在JOB段加入这条,同时禁止(disabled)了Pass: Off of dribble penetration 条:把第三项赋值为0 (因为某种原因,0实际上是与"_DEFAULT" 相关)。同时, HB工作室添加了一些EA系列已经有的AI situations,同时也将其中的一些EA'的SITUATION 条目改成了它们自己的。我认为其中的某个改动造成了滑稽的inbounds passes。

无论如何,我希望你们喜欢这个教程,也许你们比我更有干劲去把08变成一个更好的游戏,并且做出一些很棒的ASSIGNMENT和AIACT文件。

[1] [2]
相关文章

  • 我乐NBA篮球站

  • Copyright © 2007 - 2009 我乐NBA-做最好的NBA游戏,NBA直播网站 All rights reserved. 网站地图(xml) 联系我们   浙ICP备07027460号