FIFA Online3 前算法工程师带你深入分析游戏

时间:2015-05-13 来源:网络 浏览:
总是有玩家不断在研究FIFA Online3里谁的数值高,谁的跑位好,合卡爆率如何等等,特别是一些高手似乎已经研究出一些门道。但游戏毕竟是游戏,今天就来听一听一位前FIFA算法工程师分析他眼中的FIFA Online。

我是一个大四狗,去年参加了2K的校招,目前在上海这边做console game,都是负责做一些很基础的工作,核心王牌项目是见都没见过,不过有幸,上个礼拜公司调来了一个法国小哥,之前是在EA canada帮着David Rutter做了FIFA12,他的工作是Senior algorithm engineer,翻译过来大概就是高级算法工程师,楼主我作为一个忠实的FIFA粉丝,天天帮着小哥端茶送水讨好关系,和小哥的关系越来越好,也是无话不说,昨天我们两个聊到了FIFA ONLINE,小哥给我彻头彻尾的从技术角度讲了这种线上网游和单机FIFA在算法上的不同点。

首先说一句,FIFA Online3的AI,确实是存在作弊情况,其实主机版也存在这个现象,不过主机版主要是连败补偿机制,而网游则出现了一种反向的补偿机制,怎么个补偿法呢,听楼主慢慢道来。

首先要明白AI这个东西是什么,AI全名Artificial Intelligence,就是人工智能,在足球游戏中,你只能控制一个球员,而其他的20个球员,都是AI在控制着他们,但是AI是固定的吗,比如能力值100的张稀哲,在防守反击的时候,中场哈维在不停的Q,那么这个100能力值箭头红红的张稀哲,他的跑位是一定的吗?他每次都会选择那个最飘逸、最舒服的位置接球,然后像大家期待的那样上演80分钟上场帽子戏法的精彩表演吗?

答案是否定的,100次传球出去,全部同样的位置,同样的球员,张稀哲会有多种反应。这个不同的反应,就是足球网络游戏的立命之根了。

FIFA Online的AI一共分为四层:
第一层是局势和战术;
第二层是个体决策和区域决策;
第三层是球员肢体动作,比如大长腿拦截球这样的;
第四层是球和球员的物理模型,就是所谓的模型,大家都清楚。

开始从第一层最基本的开始讲,局势和战术,所谓局势与战术AI,就是根据场上球的位置以及比分状况,控球球队的球队状况,触发球队的不同的整体状态,FIFA12已经做到了280多种,fifaonline3最多100多种状态,这一层用状态机函数实现,是最简单的一层。

然后是是球员个体决策和区域配合,球员根据场上局势,例如对方球员位置/自己与球的距离/控球状态等做出局部决策进行进攻/助攻/防守/配合阻拦/跑位等行为,大概三十几种,这一层用状态机+决策树实现。注意了,这一层,是关键,状态机加决策树。

fifaonline3作为一个客户端游戏,他的运算,是放在服务器上的,所以,腾讯的服务器的工作量是巨大的,所以这样高负荷的服务器,抽风是必然的,更明显的是,游戏会有突然卡住然后快进现象,因为计算是在服务器端完成的,所以一旦卡住,服务器那端依然在工作,等恢复了你就会看到你卡住的那段时间的快进现象,所以,卡的爆率,闪率,球员AI,都不是你通过分析本地文件能查出来的,全部是放在客户端计算的。

一款游戏怎么才能长久不衰,宫本茂说过,做好的办法就是让玩家之间产生联系,联系有正面和负面关系,腾讯游戏,最擅长的就是营造负面关系,就是玩家之间的愤怒,争吵,从而延长玩家的游戏时间以及付费转化率。

一个游戏,怎么才会让人产生沉迷,答案在于让玩家对自己生气,比如,这个游戏,必须看起来非常简单,游戏目的十分明确,该怎么操作,但实际玩起来,发现自己玩的很烂,但又没烂到无药可救的地步,于是一边责怪自己不小心,一次次的返回起点,再来一次,各位,有没有似曾相识啊。

更多相关内容请访问:《FIFA Online3》专栏

(本文由11人足球网编辑发布)
留言与评论(共有 0 条评论)
   
验证码: