大型网络游戏设计与AI赋能-7

接上文!!!

顶层架构设计方面,我们从需求出发,但是关注点是在整体,而不是在细节。就是我们更关注顶层需求,比如说我刚刚说到的,我们必须要去考虑的游戏类型、发布平台、游戏玩法、玩家体验。好的游戏类型里面它会涉及到的,比如说你要用什么引擎,他会影响到你会用什么引擎,用什么同步方式,用什么网络协议,用什么美术规划规范。比如说我今天要去开发一款MMORPG游戏,我们的网络协议大部分会用TCP的。那我们的同步方式更多的会用什么?状态同步。

什么叫网络同步?也就是说,我这个玩家在登录我的客户端,我看到的其他玩家,他的状态的改变的时候,我是要知道的。那你就想一个问题,如果比如说一个很火爆的MMO,然后某个地区站个几百号人,甚至上千号人,我是a玩家,另外一个b玩家,他动都不动,他就在那挂机,你说这个时候,需要把他的数据不断地同步给我吗?那是种浪费对不对,但是我要知道什么?知道他等会来了,走了一步,他从位置a移动到位置b,这个是我要知道的。而且我要立刻知道,不然就不合理。所以为什么要用状态同步,状态同步本质是当你状态发生改变时,我再同步。

但是,如果你今天做的是一个竞技类的游戏,那你想想应该用什么同步方式?今天一款游戏里面,我们可能还可以用几种网络协议。同时运用,比如说UDP,它经常会用,它早期用在什么地方,是用在媒体聊天这块,比如说QQ聊天,它的网络协议基本上用的UDP。UDP的本质是我发给你一样东西,但是我不告诉你我发给你了,就是服务器在是a把一个信息发给一个客户端的时候,他是不通知的。我直接发,我不管你有没有拿到,但是我直接发过去了。

而TCP是一种很稳定的连接,它在发之前要先建立连接。所以你想想应用场景在聊天的时候,a用户给b用户发一段语音,或者发个消息的时候,我其实不关心他收没收到,我只是一个留言,当然他如果收到了,他仍在屏幕前,他会马上回给我,就是这个意思。

所以你比如说一款游戏里面有社交这个东西,他的社交还是个强属性的社交,比如说Serg的社交属性就很强,MMO的社交属性就很强。那社交这一块,他应该用什么样的网络协议。

然后就是发布平台,这里面也会牵扯到引擎、游戏类型。比如说我们是做SLG的游戏的,大体上就是个手游,这个时候我们可能更多的会用什么,用unity。而且比如说我们做个S1级,我们需要去做一个次时代的s,因为S1级的用户根本不是很care你的画面。

目前两大主流的商业引擎都是跨平台的,所以基本上你只要去确定,你是做手游还是做PC,就可以了。然后往下就是游戏的玩法。游戏玩法会涉及到很多具体的技术,就是你的架构层面的一些思考。比如说你这个游戏玩法里面是否要提供战斗回放,战斗回放是不是很重要,是不是要千人的同频战斗,是这种大世界形式的地图,还是那种小地图不断的切换的那种,这些都会影响到你的架构。

然后再用户体验这一块,比如说断线筒重连的一个机制,然后你如果是个对抗性游戏,你是否是真实的物理碰撞。因为真实的物理碰撞给玩家的这种手感会更好。但是真实物理碰撞带来的性能开销又很大,这个时候如果我们还是采用了,服务器去计算整个这个战斗过程,那怎么办?也就是说,我们在服务器上做真实的物理碰撞,物理模拟的话,你采用哪种技术,是2D还是3D的,我需不需要提供3D的画面渲染,或者我们要提供的是二次元的这种画面效果。

那你就要想一想这所有的东西,这些都是需求。但是转变而来的,就是我们整个顶层设计,我们的架构设计这一块,所以综合这些这些信息,我们就要去选客户端,那边要做技术选择,服务端也做技术选择,要选择开发语言、数据库,开发的一个整个系统是什么样子的,然后整体的设计有有哪些,要做什么。

首先带来到第一个客户端,我们要做引擎的选择。那引擎的选择,不同的游戏类型,它其实有一些必须会带的,就是这种游戏类型,基本上都会有的这种特性。比如说FPS类型游戏几乎都需要提供高效的渲染,渲染大型三维虚拟世界的这么一个能力。所以引擎的选择,我们这里就不详细去讲,也没什么意义。因为现在市面上也就是U3D和Cocos,不是U3D和UE.然后刚刚也说过了,你做手游,U3D基本上都能满足。然后做PC的话,用UE更容易做出好的画面效果,反正PC的性能上面来说的话,都能hold得住。当然也不代表U3D就不能做PC,也不代表UE就一定不能做手游,具体还是要看你的项目,然后也要看你的团队,也要看你的团队的能力hold不hold住。

 扫描下方二维码,领取免费训练营!


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值