一种新的游戏同步技术

IT商界

  随着越来越多的网络游戏的产生,同步技术成为游戏编程技术中的一个重要组成部分。笔者现在就给大家介绍一种新的游戏同步技术。

  首先,先介绍一下目前应用最多的游戏同步技术。举个例子。假设A机为游戏服务端,B、C两机为游戏客户端。B机、C机根据游戏的不同进程向A机发送数据,A机在本机某一时刻处理对应时刻收到的数据,再发送数据到B机和C机。这种同步技术用在网络对战游戏上是没问题的,可是当应用在双人网络过关游戏上呢?你可能经常会看到你的战友因为网速瞬间变慢了一两秒而被前方的敌人杀死吧?

  可见这种同步技术存在着缺陷。由于B、C两机与A机的传送数据速度可能会不同,如果两机同时向A机发送数据,可能B机用了1秒传送完数据,而C机用了2秒,但A即按本机某一定时刻处理数据,这样,就造成了数据处理的不一致性。

  为了解决这一问题,新的同步技术产生了。它对原有的同步技术进行了改进。它把客户端发送的数据改为游戏数据+时间数据,再由服务端来处理时间数据相同的游戏数据,这样就不会出现数据处理的不一致性了。

  你也许会问,为什么说它解决了双人网络过关游戏的问题呢?由于双人网络过关游戏的服务端是一位玩家,而当另一位玩家网速瞬间变慢时,它的时间数据发送也会瞬间变慢,它会限制服务端的速度,从而使游戏速度下降;当他的网速恢复时,时间数据发送速度立刻提升,游戏也就恢复常速。这样便达到了数据处理的一致性。

  这种同步技术的应用面主要是网上过关游戏,它的功能不光是不让玩家“死人”,在游戏别的方面它也还是有用处的。笔者在这里介绍的也只是抛砖引玉,喜爱做网上过关游戏的编程爱好者不妨试一试。