用服务器打游戏是一种很差的体验,因为服务器是用来做数据处理的,并不适合运行游戏程序。而且大型的3D游戏,对于GPU处理能力要求非常高。GPU处理能力就是图形处理能力,而服务器不具备强大的图形处理能力,所以玩游戏会变得很卡。
玩家在玩电脑游戏的时候,最好还是用配置比较高的台式电脑,因为这些电脑才是为工作、游戏来配置的。
服务器其他情况简介。
服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。
个人认为,选择韩国服务器好一些,国内的浏览器在一些地方有限制。下面给出具体说明。
目前服务器也就分国内服务器 跟国外服务器。由于国内机房大部分有白名单,游戏网页没法通过审核,所以一般都将游戏程序放置到国内机器。然后找个国外主机来单独放置游戏网页。韩国的就不会,而且免备案,速度也和国内双线差不多,做游戏的话挺合适的。
还有一种就是直接用国外服务器,比如韩国服务器。 同时放置游戏网页 游戏数据库。再者就是,有的不怕风险,把游戏数据 跟游戏网页一块放置到国内机房。
选择服务器时应注意的三条:
第一:服务器要稳定性强, 速度快。
第二:服务器带宽要足够大,容量大。
第三:服务器要防御强。
首先要知道游戏类型是什么,然后知道承载人数是多少,以及开发周期多少。需要根据这些来决定游戏架构和技术选型。
对于gameplay来说,本身就是个大循环,一定频率进行tick,接收来客户端或者其他服务器的rpc,处理逻辑,然后数据落地以及发送数据给客户端或者其他服务器,一般gameplay来说在同一个进程里都是同步的方式去编写,同步的实现大多数是单线程的,或者使用coroutine来实现actor这种模式。大部分游戏交互都是比较多,所以不论service和service之间的交互还是玩家和玩家之间的交互,如果考虑多线程的同步的问题,会非常复杂以及很容易做错,所以一个service内同一个时刻都是在一个线程中执行的。
针对mmo或者一些竞技类游戏往往有场景管理的概念,就是游戏AOI,比如一个玩家移动,需要告诉周围所有的玩家,复杂度在n*n,如果减少这个n,就有了AOI算法,比如九宫格,十字链表等,如果刚开服的时候很多人挤到一个主城中,就算采用九宫格和十字链表等AOI等算法,往往同屏内玩家数量还是很大,客户端渲染的单位数量比服务器少一个数量级的,所以场景管理这里还可以有个分线的做法,玩家多的时候,不同线不可见,玩家少的时候进行合并。
如果做帧同步一些关键点为表现要和逻辑分离,随机算法和随机种子的一致性,数学库浮点换定点,三角函数采用泰勒展开或者查表法,需要保序的容器,timer不能基于钟表时间而需要帧timer,以及防作弊(一般都是投票法,或者服务器跑个验证端)
现在很多游戏在线更新bug甚至不停服更新慢慢变成一种强需求了,实现这种方式主要使用脚本热更新,热重启+逻辑内存以及ab服切换来实现。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)