<@乌龟:>[翻译]开放街道下的竞速类游戏人工智能(1)

前言:

    由于目前项目的需要和缺少中文的游戏人工智能相关的文章,看到这篇文章的时候我很高兴,决定翻译一下,我的英语不怎么样,希望大家对我的翻译内容多多指正.

    另外我翻译的方式将是意译,一些东西我会按照自己的方式来说,格式与原版文章保持相同.如果有需要的话,大家可以参考原版的文章:

    http://www.gamasutra.com/features/20010124/adzima_01.htm

     另外,转载请注明出处

概述:

     Angel Studio的Midtown Madness2(PC) 和 Midnight Club(PS2)是开放街道的竞速类游戏.这类游戏的特点是在一个活生生的城市中,玩家可以随意穿行,到任何他们想到的地方去,并和一些实体(比如对手,警察,交通和行人)交互.

     人工智能在期中扮演的角色是让这些高级的实体可行而且拟真;对手必须有竞争力但是不能是不可击败的.警察当发现你违反法律的时候必须尽职尽责的尝试减慢你的速度或者阻止你.周围的交通工具当对周围的碰撞和不可预知的情况反应的时候,必须遵守交通法规.而且行人必须按照他们原定的方式行走,直到你改变方向冲向他们使得他们逃跑以保住小命.

     这篇文章为那些想开发开放街道的竞速类游戏的程序员们提供了一些策略,这些是我们在Angel Studio的成功开发中获得的,下面的讨论将集中于游戏中使用的高级智能体的自治结构.在游戏中,这种自治结构使得每个实体(entity)可以能够自己决定怎样对周围即时发生的时间进行反应.这种方法有利于创造看起来很真实的实体,虽然他们不一定是我们的重点,但是当玩家发现他们的时候,会很惊讶.

 

AI地图:道路,十字路口和开放区域

     在最高的层次上,为了AI地图,城市被划分为3个主要的区域:道路,十字路口和开放区域(见图一),大部分的AI地图由道路和十字路口组成.为了我们的目标,交叉点杯定义为道路相交部分的二维区域.捷径(shortcut)跟道路差不多,有点不一样的是,捷径可以位于3个主要的区域之上.捷径可以帮助电脑AI来寻找开放区域部分的路线.这些东西都是在软件中定义的.

 

Figure 1. The AI map elements appear as green and blue line segments for roads and sidewalks, 2D areas for intersections, and additional line segments for shortcuts across open areas.
[Expand Image]

     "道路"这个对象包含了所有的这些数据来描绘街道,换句话说,就是有一堆3D的顶点组成.道路的定义主要包括左/右边界,以及中线,方向向量.还有一个重要的地方道路还包括了车行道和人行道,道路的长度和宽度.一条道路最少由4组顶点(比如说中线,左右边界)组成,每组顶点的数目相同.

     路口对象包括了指向所连接的捷径和道路的指针.在初始化的时候,指针的排序是按照顺时针方向.这样可以帮助周围的交通工具找到去其他地方的道路.路口对象还需要包括红绿灯和障碍物等内容的指针.

     大城市的解决方案:Leveraging the city和GenBAI工具.Angel工作室用来建造一个巨大的城市的内部软件被称为"City Tool".这个工具不仅建造了城市物理上的东西.而且还包含了AI所需要的元数据.这个工具能够帮助设计师们从原型中很快的建造出城市,而且可以解决很多AI运行中的问题.

     GenBAI是另外一个工具,它用来处理City Tool中产生的元数据,将其转化为实时代码所需要的格式.

     为了在一个巨大的城市中获得不错的AI表现,将整个城市用来计算是不可能是任务.解决方案是定义一个包围球(bubble)来运算可以看到的道路,为了合理的运算行人和交通情况,我们同意使用包围球来剔除不需要运算的大部分区域.

     GenBAI的另外一个功能是将这些数据转化为二进制的格式,因为二进制可以直接被程序加载,这样可以大大减少程序的加载时间.

     数据文件:建立比赛.比赛中的AI由下面两个数据文件中的一个来定义:城市级的地图信息或者比赛的信息.城市级的地图信息包含了默认的AI的设置,每个比赛包含了比赛专用的AI设置信息.比赛的数据可以替换原AI设置中的数据.这种方式很强大,游戏设计师们可以方便的设置城市的默认信息,而且可以在比赛中轻而易举的将其改写.

     举几个例子说明在比赛的数据文件中需要出现的一些内容:对手信息,警察,还有一些专门为比赛定义的行人和交通工具,还有比赛的数据文件还可以重新定义人口密度和速度限制.

 

-----------

乌龟和毛驴的技术小屋原创,转载请注明出处

posted on 2009-01-28 13:52  乌龟_毛驴  阅读(1193)  评论(2编辑  收藏  举报

导航