嗨皮网 首页 技术文汇 查看内容

怪物及地图的生成系统

2014-3-14 13:51| 发布者: 七夕| 查看: 204| 评论: 0

摘要: 一、怪物的位置怪物的产生位置由两种方法来确定。一种是随机产生,另一种是在某确定的地图处产生确定种类的怪物。 1. 固定产生在固定的场景产生固定种类的怪物。当然,仅仅是场景固定而已,怪物产生的位置并非精确固 ...
一、怪物的位置
怪物的产生位置由两种方法来确定。一种是随机产生,另一种是在某确定的地图处产生确定种类的怪物。

1. 固定产生
在固定的场景产生固定种类的怪物。当然,仅仅是场景固定而已,怪物产生的位置并非精确固定的。按这种方法确定位置的有:所有的城镇NPC,固定暗金怪物,所有的任务金怪,以及某些场景的普通怪物。例如,Act1的鲜血荒地上总是会出现沉沦魔和沉沦巫师,而Act5的血腥丘陵上也少不了投石机。

2. 随机产生
每个场景的怪物生成系统都会从一个预先设定好的怪物集合中随机选择怪物种类,每个场景均会做三次选择。这其中,每个场景的怪物种类数量由Levels.txt中的NumMon列决定,MonX几列决定了该场景允许出现的怪物种类(X代表1~10)。有多少堆普通怪物由MonDen这一列决定,多少堆带头目的怪物由MonUMin/MonUMax列决定。有些怪物总是伴随着周围的一群喽啰一起出现,这是由MonStats.txt决定的;同时该txt的MinGrp和MaxGrp也定义了每个单独怪物群体的数量(上限和下限)。若该怪群内有首领怪物(例如沉沦巫师),则系统转由PartyMin和PartyMax列决定该怪物带多少Minions。MonStats.txt的Rarity列决定了该类怪物出现的几率。
在三个难度,一些配置数据会改变。系统采取一些检测机制来避免整个场景的怪物全部都是远程攻击类型。
随机的头目怪物和暗金怪物数量由Levels.txt的MonUMin和MonUMax列决定。在普通难度,它们的种类由Levels.txt的UMonX列和MonStats.txt的Rarity列决定,噩梦和地狱难度由Levels.txt的NMonX列决定(X代表1~10)。
因此,你可能会在某些时候遇到在 按照“三次选择”原则出现的怪物种类 之外的其他怪物种类——暗金怪或者头目怪。

二、举例
拿Act5的血腥丘陵来说,督军总是出现在固定的位置。而他的Minion种类已经规定好了,因此无论他产生在哪个地方,他身旁都会跟着相同种类的仆从。固定金怪达克法恩总是产生在血腥丘陵出口的瓶颈处。它的仆从类别与它自己相同,所以它总是带着一群恶魔妖精。
投石机被独立分配一个位置。
在这个场景,两个怪物种类随机分布。在普通难度,你还可以看到仆魔和巨锤死神,其他怪物都不会出现;在噩梦和地狱难度将会出现大量的Guest Monster——客串怪物,但每次场景初始化只能有两个选择。MonStats.txt的Rarity列导致燃烧的死法师选择几率比其他客串怪物要高。因为只有两个选择,所以一旦选择了燃烧的死法师,那么将不会再选择其他的法师,因为它们都是远程攻击。
距离玩家、玩家的雇佣兵以及玩家的召唤生物两屏以内的怪物会在游戏内显示,各种数据都会确定下来不再更改;距离怪物大约半屏距离的时候,它们会发现玩家并发动进攻(这个距离随怪物的不同而不同,取决于怪物的AI设定)。

三、地图的生成
地图的生成同样有两种方式。 有时候你会看到预先设置好的地图,它们永远不会变化;而更多情况下你会遇到随机产生的迷宫地图,每次重新进入游戏都会发生变化。
一些场景的地图是从预先设置好的几个地图样板中随机挑选的,例如Act1和Act2的城镇;一些迷宫类的地图则会包含预先设定好的大块区域,或者从一些预先设置的区域中随机挑选,例如火焰之河场景地图中的熔岩。固定不变的场景如下
Act1
洞穴二层
遗忘的高塔第五层 (两种布局)
内侧回廊
大教堂
崔斯特瑞姆
地下墓穴第四层
Act2
女眷住处
皇宫监牢
都瑞尔的房间
Act3
下水道第二层
库拉斯特堤道
崔凡克
憎恶的囚牢第三层
Act4
混沌避难所
Act5
尼拉塞克的神殿
亚瑞特山脉巅峰
毁灭的王座
世界之石大殿

随机地图涉及程序代码,原理未知。

鲜花

握手

雷人

路过

鸡蛋
发表评论

最新评论

返回顶部