————给所有萌新 在这里先给大家提一下人工智能的重要性啊 人工智能是你这艘船的灵魂,不研究人工智能,这个游戏百分之六七十的乐趣就没了 攻击可以手操,但是防御不行,不设置人工智能你的这艘船就毫无防御能力。而且越到后面,别人越看不起你手操。 像素星舰是为数不多的不充钱玩家可以打败充钱玩家的游戏,但是前提是你的战术得玩出花来,好的战术靠什么来实现?就是人工智能。反之,你冲再多,没有人工智能,也是个废物! 人工智能不难,只不过是选项多一点罢了,只要把这篇文章每一个字都啃下来,保证你学会。 所以好好学习吧,这个游戏不常见的,希望你们能好好珍惜,并为国人争光! 像素星舰前期人工智能基本原理 这里给大家解释一下前期的概念,是4000杯以前! 一.分类和运作原理的概念 AI=人工智能(虽然它一点都不智能) 每条人工智能,都分"条件"和"行动"两个部分 人工智能按照行动的类型分为四种: 1.电力(比如:设置最大电力,设置一格电力等) 2.定位(适用于船员和炮,比如:定位或瞄准敌方镭射炮,定位我方护盾,定位条件房间等) 3.弹药选择(适用于导弹,机库,机器人比如:选择最高火项目,选择最便宜项目等) 4.能力(仅船员,比如:使用特殊能力,不要使用特殊能力) 人工智能是从第一条到最后一条顺序运作,每秒运行40次(指的是四十个循环,无论你有多少条ai,即便有50条,每1/40秒就给你从1-50轮一次)所以延迟可以忽略不计。 每个房间的ai单独形成一个循环 在一个循环中,你会发现所有的ai前面都会有数字标号,还能改变排列顺序。这非常重要!标号大小决定了ai执行的优先度,排位越靠前,优先度越高,当激活ai时就会先考虑优先度高的ai! 那么,ai是如何被激活的呢?在对战时,“条件”部分得到满足,并且“行动”部分可以执行的ai,就会变为“可执行ai”,注意:条件和行动必须全部满足,缺一不可!然后,结合上一段,“可执行ai”里面优先度最高的一条会被执行,而其他同种类型的人工智能就看作不会执行了!(就拿定位ai举例,你定位了敌方的镭射炮你就不能再定位其他房间了,除非这条ai不执行。所以其他定位ai可以忽略不计,看作不执行),换句话说,你大可以把四种类型的ai分开编写。只要保证同种ai的优先度不被打乱就好了 划重点!在同种类型ai中,第一条条件行动都满足的ai会被执行!其他的都不执行! 二.特殊AI条件/行动的解析 接下来对一些特殊的AI条件和行动进行讲解 1.“无“条件,就是无论什么时候都满足的条件,覆盖所有条件,只要行动满足,它就是“可执行ai”,因此很少有无条件的定位ai放在第一条。 2.假设某武器房间只有ai:无,定位敌方镭射炮,或该条ai放在第一条,那么该武器在摧毁完一个随机敌方镭射炮类型的房间后,会继续摧毁敌方其他镭射炮类型房间,直到摧毁完为止,不满足行动“定位敌方镭射炮”(因为敌方没有镭射炮可以打了,血量为零相当于没有这个房间)(笔者吐槽:这种战术真的没效率!你打电力也是一样) 但是幸运的是,一开始所有的武器房间定位的镭射炮(电力室、导弹blah blah blah)都是同一个房间,也就是就是说一开始所有的炮都会打同一个房间,再去打其他的。所以这就为我们的集火提供了有利条件,请参阅后文。 在这里补充一条非常实用的定律,当一个房间没有可执行AI时,就比如上述情况,定位类型AI将会持续定位最后一个定位的房间,在上述情况中表现为一直打最后一个被摧毁的镭射炮,弹药选择AI将会选择最后还在使用的弹药,之后按照顺序消耗其他类型的弹药,直到用完为止,电力AI同。 3设置最大电力和增加一格电力在电力充足时没有本质区别,但是电力缺乏时,电力会优先分配给设置“最大电力”AI的房间。 4. 手动操作会使各类型AI停留在最后的状态,不会改变。比如定位,弹药,但是千万千万不要手动修改电力,由于电力是全船分配的,所以手动调整后,一个房间被打,及时修好了,电力也不会自动配给,相当于删除了整艘船上的电力AI! 好了,干货讲了这么多,还是要以实践为主。接下来是初期最常用的普及版ai 像素星舰普及人工智能及说明 一.跑修AI ————船不修何以修天下? 这是刚刚接触游戏时第一个要学会编写的ai。一般情况是新手看到对面的船员会自己修复房间的时候,才初步体会到人工智能的作用之大。然而,一般的新手在前期的发展中会忽视修理,尤其是传送流(人全部传过去了,剩下的只有加速或者几个功能人)。笔者在此郑重强调,修理是所有战术的根基,是每次战斗不输的前提。每艘船一定,必须配备多个 专职跑修船员。而且不能用机器人代替 很多人都说我用机器人跑修,但是你看看机器人这可怜的修理数值,火弹修的起来吗?粽子固然血厚,但只能起到辅助作用! 一定要!不要看过就算数!看完这篇就去搞跑修船员! 以下为基础版跑修ai 1. A房间血量<100% 定位条件房间 2. B房间血量<100% 定位条件房间 3. C房间血量<100% 定位条件房间 根据“可执行”原则,A房间损坏了,跑修船员先修A,B房间坏了,跑修船员先修B。如果AC都坏了,那么先修A再修C。 那么如果先修A的话,C怎么办呢?个人建议(不是建议,是必须!)是多配置几个(2~3)个跑修船员(九级以前给我凑5个以上,练血,加血装备,专职),并且分别设置不同的优先度,就是这个先去修镭射,这个先去修盾,那个先去修机器人。根据优先度原则,只要把优先修理的房间提前就行了。 以上是跑修ai的第一部分。所谓跑修,就是跑着修。将跑修船员一开始站位的房间看作初始房间,修完损坏的房间之后,可以回到初始房间避伤。所以,只要在最后加上一条,无,定位原本房间就可以了。再加一条4来保证所有的房间都可以修到。 1. A房间血量<100% 定位条件房间 2. B房间血量<100% 定位条件房间 3. C房间血量<100% 定位条件房间 4. 我方任意房间<100% 定位条件房间 5. 无 定位原本房间 AI试题1:为什么无,定位原本房间要放在最后?(结合无的性质和优先度定律) 大家可以看看干货中“ai在战斗中是如何激活的”那一段,分别讨论有房间坏了,和没房间坏的两种情况,上面这套ai分别是如何执行的,自己从上到下脑补运行一下,像计算机一样:第一条能不能执行?,不能,那么第二条能不能执行?能,好那就执行,就是这样的一种脑补运行过程。 二.集火AI ————造他就完了 前期新手们采用的普遍战术就是打光电力室,相当于断了命根子,这样的战术在5级以前固然是有效的,但是在这个时期,船员的修理速度是绝对大于你的火力的,所以最有效的办法还是盯着一个房间打。毕竟战斗的目的就是想方设法磨掉敌方的船体血量。前期最有效的办法就是————集火(什么?!你还在担心对面火力太强?赶快去搞修理啊啊啊) 以下是最基础的集火ai 1.敌方任意房间<25% 定位条件房间 2.无 定位敌方xx房间 (xx房间一般是镭射炮,护盾,机器人,玩飞机的可以考虑防空) AI试题2:为什么1,2两条顺序不能互换?(结合优先度,无的性质) 接下来就是大家喜闻乐见的———— 参考答案 估计你也不会用心去想,而且这个东西大部分人不讲是答不出来的 AI试题1:为什么无,定位原本房间要放在最后?(结合无的性质和优先度定律) 相信大家也脑补过了,要是无定位原本房间放在第一条的话,跑修船员只能站在原本的房间发呆,因为无是永远满足的,定位原本房间也是能够实现的。要是他的优先度最高那么就只能执行这一条了,就把下面的ai全毁了。 (以后每写完一套ai,都要按照前面介绍的的脑补运行方法检查一遍,有没有差错,尤其是有没有一条ai把下面全毁了的情况) AI试题2:为什么1,2两条顺序不能互换?(结合优先度,无的性质) 这里就由我来帮大家脑补一下了。对战开始!首先,先看第一条 敌方任意房间<25% 定位条件房间 对面有房间<25吗?显然没有。那么条件不满足,跳掉这一条,看第二条(此时炮还没有定位任何房间!) 2.无 定位敌方xx房间 好,无这个条件满足了,对面有xx房间吗?有,好那么所有炮就打xx房间 接下来就循环了,直到... 对面xx房间被开窗了!这时照理来说应该是打其他的镭射炮房间的,但是ai在循环,系统还在一条条地检视判断,所以开窗的一瞬间,第一条ai任意房间小于25%的条件满足了,它的行动,定位条件房间也是满足的,而且优先度比第二条来得高,所以就执行第一条,定位条件房间。于是就实现了集火的目的,即使这个房间被修好了,炮也会盯着这个房间打(自己脑补)。
|