游戏伺服器可不可以可以只做数据中转站,把各个用户的游戏数据发送给玩家,玩家自己处理并计算数据?
就是说客户端充当游戏数据处理,直接在自己的电脑计算,并把数剧给本地的电脑,这样的话有什么问题吗?
有些游戏,每个客户端负责自己控制对象的状态,通过伺服器中转给其它客户端 光晕 刺客信条多人模式
有些游戏通过帧同步命令的方式,广播命令而不是状态 rts魔兽争霸
不过这些都是特殊游戏类型,没伺服器,或者要单机改网路
只要客户端可以置信,不怕作弊
就没问题
可以的。
FPS游戏很多就是这么干的。
但是因为客户端计算,也导致了外挂的泛滥。
只要在客户端的的计算,你藏的再好,外挂也能给你找出来……
有利有弊吧。
可以。举两个例子,
1.很多网游的导航系统就是客户端本地做的,还有一些游戏会把AI的计算放到各个客户端去做来减少伺服器压力
2.最简单的帧同步,伺服器就是只负责转发玩家的操作,各个客户端收到别人的操作然后在本地模拟
纯技术的角度,可以这么做,但弊端是很明显的,做游戏框架设计时很重要的一点就是认为客户端都是不可信的。把数据都放在客户端那么基本上也可以认为你的游戏数据都是可以任意作假的,各种外挂什么的,你没有任何防御机制。
可以说,想要商业化推广的游戏,都不可能这样做,而且不仅仅只是数据放在伺服器,很多逻辑也会放到伺服器来执行。暗黑3就是一个很典型的例子,他的AI都放到伺服器执行,没网路就没法玩,但也正是这种设计,保证了不会被破解和防外挂。
伺服器告诉你,我向你丢了一坨屎,导致你生命值减少10,但是你不认账,你非说你生命值是满的,怎么办?
推荐阅读: