当前位置: 首页 > 专利查询>王睿斌专利>正文

一种将Flash单机双人游戏在双主机上同步运行的方法技术

技术编号:3542750 阅读:259 留言:0更新日期:2012-04-11 18:40
一种将Flash单机双人游戏在双机上同步运行的方法,其特征是利用一套网络通信和同步技术,使两台主机上同步运行同一个游戏,并且两个机器上的游戏画面和互动过程均保持一致,实现游戏对打的效果。

【技术实现步骤摘要】
关键术语定义1.同步:当两台主机上同时运行同一个游戏,两个主机上的游戏画面和互动过程均保持一致。2.主机:指具有计算能力的电子系统,包括但不限于电脑、手机、服务器、PMP等。3.Flash::是指采用SWF格式的一种多媒体文件。4.网络通信:通过网络进行传输信息,进行事件交互。5.帧:影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。6.Action Script:Flash所使用的脚本语言。是一类计算机高级语言,能够控制动画元素实现交互功能。7.通信过程:本专利技术中的通信过程分为逻辑层和通信层,通信层可以为各种通信方式(例如:互联网、无线网络等)。8.跳帧:当硬件执行速度跟不上帧率要求的时候,通过跳过几帧不显示,来达到追上帧率的目的。1 所属
本专利技术型技术方案涉及计算机网络通信
,本技术方案支持各种设备上的基于Flash的互动应用,如游戏、学习等。2 
技术介绍
现有的Flash单机双人游戏,需要玩家使用同一个键盘或者鼠标,在同一个显示器上观看游戏,受制于键盘和显示器的大小,玩家很难得到好的游戏体验。现有的Flash网络游戏,采用与服务器通讯,然后服务器来处理整个游戏中的逻辑事务,服务器再把处理结果发送给客户。传统的支持多人的Flash网络游戏,首先在Flash创作上,它需要创作人员编写相当数量的Flash脚本语言(Action Script),来处理与游戏服务器的通讯和游戏本身的逻辑事务,增加了游戏制作的难度和开发的成本。其次,现有的Flash网络游戏,都需要昂贵的Flash多媒体服务器(Flash Media Server)或者Flash通讯服务器(Flash Communication Server)来协调处理各个玩家发送的数据,然后反馈数据给各个玩家,使游戏运行过程复杂化也提高了商业成本。最后,现有的Flash游戏需要Flash脚本语言(Action Script)反复地与服务器通讯,所以Flash游戏运行的相对慢,不同的玩家之间的时间延迟相对长,不适合玩各种需要快速反应的游戏。-->3 
技术实现思路
3.1 本专利技术所要解决的技术问题本专利技术的目的是为了克服现有的单机双人游戏只能在同一台电脑上进行,不方便两个玩家同时操作游戏的不足,从而专利技术单机双人游戏在双主机上同步运行的方法。本专利技术所要解决的最核心的问题就是同一个游戏在不同主机之间的同步执行技术。同步是指,两台主机上同时运行同一个游戏,两个主机上的游戏画面和互动过程均保持一致。即不同客户端所呈现的游戏画面和游戏逻辑结果同步。本方法主要通过封装网络通信和一系列同步技术来解决单机双人游戏在双主机上同步运行的技术难题。运用该方法对Flash游戏不需做任何改动,就能使游戏同步运行在两台不同的主机上,使每个玩家同时独占一台机器进行游戏,更好地享受游戏体验。该专利技术中所提到的游戏,是指基于虚拟机上运行的游戏,包括但不限于Flash游戏。3.2 本专利技术提供的完整技术方案本专利技术的目的是利用网络通信和同步技术,让原本只能在一台主机上运行的Flash游戏,能够在两台或者多台主机上同步运行。由于Flash游戏,必须支持帧同步和Flash脚本语言(ActionScript)执行同步。而用户输入触发的事件序列和客户端独立的一些Flash脚本语言(ActionScript),都会影响到帧同步和Flash脚本语言(ActionScript)的执行,所以用户输入触发的事件序列和客户端独立的Flash脚本语言(ActionScript)也必须同步。下面我们就从同步方法及其具体应用上来详细介绍本专利技术。3.2.1 同步方法同步方法就是,通过网络通信,不同的客户端交换同步信息(同步元语、同步命令和同步数据等)。基于不同的客户端可以运行在不同网络环境中(如串口、以太网、Wifi、Bluetooth、红外等),我们把同步通信分为逻辑通信层和硬件通信层。逻辑通信层负责把硬件通信层和执行引擎分隔开,使硬件通信层与执行引擎的耦合尽可能地减小。逻辑通信层,主要负责接受我们的客户端执行引擎所产生的同步信号,并把它组装成不同的同步信息,然后发送给硬件通信层;接受硬件通信层收到的同步信息,并拆分组成同步信号发送给执行引擎。硬件通信层,主要负责接受逻辑通信层发来的同步信息,把它们组合拆分为成特定的网络通信数据包,通过它下面特定的硬件驱动发送到特定的网络中;从特定的网络中接受数据包,并组合拆分成同步信息,发送给逻辑通信层。3.2.2 帧同步信号的组装和发送考虑到不同的Flash游戏的帧速和Flash脚本语言(ActionScript)的复杂程度的不同,以及不同的网络环境下带宽和质量的差异,对同步数据包的大小和发送速率也要采取有效地控制。同时,还要保证同步数据包的时序,避免造成数据包之间碰撞,产生同步元语死锁。由于Flash本身就是基于帧的概念,而且大部分Flash脚本语言(ActionScript)也是和帧对应的,所以接下来的问题就是帧同步信号的组装和发送。为了达到事件同步(鼠标和键盘的动作同步等),要使每个客户端产生的事件都被映射到其他的客户端上,而且每个客户端都按同样的顺序处理所有的事件,使每个事件的当前执行环境都相同,产生同样的结果。于是本专利技术采用一种特定的同步元语和同步数据包,使得同步信息包的发送接受和当前-->的网络质量相匹配。同时,在逻辑通信层,我们加入了一种特定的调度策略,保证同步数据包的发送和接受的时序。所以,抛开底层协议栈,同步元语和数据包的大小、网络质量和调度策略三者之间是相互影响和制约的。数据包发送接收速率越快,对网络带宽要求就越高;网络信号质量越差,数据包的时间延迟越大,数据包的时序混乱的可能性就越大;数据包时序越差,调度策略就需要越复杂,造成的时间延迟越大,使得数据包堆积地越多,就需要更多更快的发送。通过上面的讨论,可见只要允许时间延迟过大,同步的矛盾就可以解决。由于时间延迟过大,会严重影响到用户的体验。所以,在一定的网络条件下,我们通过更合理的同步数据包的构造组合和更有效率的调度策略,来更好地提高用户的体验。3.2.3 同步方法中Flash帧的处理Flash允许跳帧,其实Flash的游戏逻辑反映到画面上就是各种不同的Flash元素的跳帧。跳帧,会改变当前的执行环境,破环当前的同步,所以需要在跳帧之后尽快地重新建立同步,减少延迟。客户端独立的一些Flash脚本语言(ActionScript)(getTimer和rand等)的同步,可以分为两种:一种是rand,只需要在客户端初始化的时候,同步它们的rand seed;另一种是getTimer,由于和当前的平台环境密切相关,需要特别的同步方法。在精度要求不高和帧同步的前提下,我们可以利用帧数等Flash自身元素来模拟那些硬件相关操作结果;如果精度要求很高,我们可以利用其中一个客户端产生的相关结果,通过同步元语发送给其他客户端,使其同步,但是它需要消耗一定的网络资源和造成客户端之间的同步等待,尤其是在Flash脚本语言(ActionScript)执行这种命令过多过快的情况下。3.3 本专利技术方法带来的有益效果是:1.在Flash创作方面,不需要创作人员对Flash做任何修改,就能够支持网络多人对打功能,而且本文档来自技高网
...

【技术保护点】
一种将Flash单机双人游戏在两个主机上同步运行的方法,其特征是利用一套网络通信和同步技术,使两台主机上可以同步运行一个游戏,并且两个机器上的游戏画面和互动过程均保持一致。

【技术特征摘要】
1.一种将Flash单机双人游戏在两个主机上同步运行的方法,其特征是利用一套网络通信和同步技术,使两台主机上可以同步运行一个游戏,并且两个机器上的游戏画面和互动过程均保持一致。...

【专利技术属性】
技术研发人员:薛平安王睿斌任博
申请(专利权)人:王睿斌
类型:发明
国别省市:34[中国|安徽]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利