FPS游戏框架漫谈第十天

下面我们来谈谈PVE 他是什么呢 Player Vs Computer 即玩家对抗在游戏中玩家挑战游戏程序所控制的NPC怪物和BOSS
一般是多个玩家一起合作对抗 电脑程序

那么如何设计PVE的架构呢?????
1.如何刷怪 2.ai行走路径 客户端寻路还是服务器寻路 3.技能如何同步 4.移动同步

下面我来讲下我的思路 我的思路是对战开局之前 后台会通过Respawn的方式刷出boss和小怪 至于你协议是批量还是单个都ky
既然怪出来了,那么这个怪支持多少技能,具体技能是什么,那么技能属于应该有什么,很明显这个是可以策划配置的,针对不同的怪配置不同的技能,技能属性包括当前技能开始释放的时间,技能释放总时长也就是技能需要播放多久,技能释放的当前位置,技能释放的目标位置,当然技能释放目标位置这种肯定是服务器根据战场动态计算获得,技能释放多久策划配置。以及技能的类型 比如你是开枪还是喷火。
一般来说PVE AI最多具备5个阶段的技能 第一个阶段是移动 第二个阶段是旋转 第三个阶段是预攻击 第四个阶段是攻击
第五个阶段是攻击结束

每个阶段包含 开始释放时间,技能时长,技能开始目标,技能释放目标,技能需要的旋转角度,等等其实有了这些数据我们足够客户端模拟怪物的技能展示了。

技能如何保持同步 那么需要注意的是后台下发的技能阶段已经确定了技能播放的开始时间和结束时间,客户端只是进行模拟,这个方案其实就已经同步了,客户端要做的事就是技能的动作时长和后台给的技能播放时长必须匹配, 怎么做呢,通过后台给的技能播放时长来修改技能动作的播放速度即可同步。

寻路 我们这个是采用服务器进行寻路 后台会根据目标 对ai进行寻路,然后下发关键路径到客户端,客户端进行移动模拟即可
那么由于后台下发的移动包也是指定了当前PathNode是什么时间开始移动,以及需要移动的目标位置,以及移动的时长。并且后台会对特殊路点作为关键路径,因此客户端如何做到同步可以检测移动包是不是过期可以采用后台提供的数据进行强制同步。

还有策划提的各种情况 比如是否忽略动作 是否采用动作进行移动 等客户端需要进行正确的处理
第11天见

你可能感兴趣的:(unity,FPS,游戏)