CN101420347B - 一种将Flash单机双人游戏在双主机上同步运行的方法 - Google Patents

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

Info

Publication number
CN101420347B
CN101420347B CN 200810087318 CN200810087318A CN101420347B CN 101420347 B CN101420347 B CN 101420347B CN 200810087318 CN200810087318 CN 200810087318 CN 200810087318 A CN200810087318 A CN 200810087318A CN 101420347 B CN101420347 B CN 101420347B
Authority
CN
China
Prior art keywords
player
main
event message
frame
flash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 200810087318
Other languages
English (en)
Other versions
CN101420347A (zh
Inventor
薛平安
王睿斌
任博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
王睿斌
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 王睿斌 filed Critical 王睿斌
Priority to CN 200810087318 priority Critical patent/CN101420347B/zh
Publication of CN101420347A publication Critical patent/CN101420347A/zh
Application granted granted Critical
Publication of CN101420347B publication Critical patent/CN101420347B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

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

Description

一种将Flash单机双人游戏在双主机上同步运行的方法
关键术语定义
1.同步:当两台主机上同时运行同一个游戏,两个主机上的游戏画面和互动过程均保持一致。
2.主机:指具有计算能力的电子系统,包括但不限于电脑、手机、服务器、PMP等。
3.Flash::是指采用SWF格式的一种多媒体文件。
4.网络通信:通过网络进行传输信息,进行事件交互。
5.帧:影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。6.Action Script:Flash所使用的脚本语言。是一类计算机高级语言,能够控制动画元素实现交互功能。
7.通信过程:本发明中的通信过程分为逻辑层和通信层,通信层可以为各种通信方式(例如:互联网、无线网络等)。
8.跳帧:当硬件执行速度跟不上帧率要求的时候,通过跳过几帧不显示,来达到追上帧率的目的。
技术领域
本发明型技术方案涉及计算机网络通信技术领域,本技术方案支持各种设备上的基于Flash的互动应用,如游戏、学习等。
背景技术
现有的Flash单机双人游戏,需要玩家使用同一个键盘或者鼠标,在同一个显示器上观看游戏,受制于键盘和显示器的大小,玩家很难得到好的游戏体验。现有的Flash网络游戏,采用与服务器通讯,然后服务器来处理整个游戏中的逻辑事务,服务器再把处理结果发送给客户。传统的支持多人的Flash网络游戏,首先在Flash创作上,它需要创作人员编写相当数量的Flash脚本语言(Action Script),来处理与游戏服务器的通讯和游戏本身的逻辑事务,增加了游戏制作的难度和开发的成本。其次,现有的Flash网络游戏,都需要昂贵的Flash多媒体服务器(Flash Media Server)或者Flash通讯服务器(FlashCommunication Server)来协调处理各个玩家发送的数据,然后反馈数据给各个玩家,使游戏运行过程复杂化也提高了商业成本。最后,现有的Flash游戏需要Flash脚本语言(Action Script)反复地与服务器通讯,所以Flash游戏运行的相对慢,不同的玩家之间的时间延迟相对长,不适合玩各种需要快速反应的游戏。
发明内容
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做任何修改,就能够支持网络多人对打功能,而且只要对现有的单人游戏简单修改,如简单加入另外一个游戏角色,就可以使其支持网络多人游戏,减少了游戏制作的难度和开发的成本。
2.不需要昂贵的Flash媒体服务器(Flash Media Server)或者Flash通讯服务器(FlashCommunication Server)来协调处处理各个玩家发送的数据,不需要任何Server。只需要客户端,就可以使游戏正常运行,这样不仅运行过程简单,从经济方面,也节约了成本。
3.比现有的Flash游戏运行的速度更快,不同的玩家之间的时间延迟更小,更适合玩各种需要快速反应的游戏。
附图说明
下面结合附图对本发明型进一步说明。
图1是本发明的网络同步执行机制原理图。
具体实施方式
本发明的主要核心技术,是网络同步执行机制。其原理,详见下述。附图1为其原理图。
首先要让Player初始化,验证双方的玩家(Player)的软件版本号、Flash文件等信息,确认允许双方建立连接,网络连接初始化。主玩家(Player)发送一个随机种子(Random Seed),并等待从玩家(Player)的应答;从玩家(Player)等待接收主玩家(Player)的随机种子(RandomSeed),接收到后立即应答主玩家(Player)。主从玩家(Player)进入主循环。
主玩家(Player)工作原理:
1.主玩家(Player)计算出走帧数,并发送给从玩家(Player)。
2.主玩家(Player)等待从玩家(Player)的应答。
3.主玩家(Player)接收到从玩家(Player)的应答后,立即播放走帧。
4.走帧结束后,主玩家(Player)取出事件消息,并发送给从玩家(Player)。
5.主玩家(Player)执行自己的事件消息。
6.主玩家(Player)等待从玩家(Player)的事件消息。
7.主玩家(Player)接收到从玩家(Player)的事件消息,并执行它。
8.主玩家(Player)接受消息处理,进入下一轮循环。
从玩家(Player)工作原理:
1.从玩家(Player)等待主玩家(Player)的走帧数。
2.从玩家(Player)接收到主玩家(Player)的走帧数,立即应答主玩家(Player)。
3.从玩家(Player)播放走帧。
4.从玩家(Player)等待主玩家(Player)的事件消息。
5.从玩家(Player)接收到主玩家(Player)的事件消息后,立即执行它。
6.从玩家(Player)取出自己的事件消息,并发送给主玩家(Player)。
7.从玩家(Player)执行自己的事件消息,进入下一轮循环。

Claims (2)

1.一种将Flash单机双人游戏在两个主机上同步运行的方法,其特征在于,该方法利用一套网络通信和同步技术,使两台主机上能够同步运行一个游戏,并且两个主机上的游戏画面和互动过程均保持一致,采用网络同步执行机制,首先主从玩家初始化,验证双方的软件版本号、Flash文件信息,确认允许双方建立连接,网络连接初始化,主玩家发送一个随机种子,并等待从玩家的应答;从玩家等待接收主玩家的随机种子,接收到后立即应答主玩家,主从玩家进入主循环,
主玩家工作原理:
1)、主玩家计算出走帧数,并发送给从玩家;
2)、主玩家等待从玩家的应答;
3)、主玩家接收到从玩家的应答后,立即播放走帧;
4)、走帧结束后,主玩家取出事件消息,并发送给从玩家;
5)、主玩家执行自己的事件消息;
6)、主玩家等待从玩家的事件消息;
7)、主玩家接收到从玩家的事件消息,并执行它;
8)、主玩家接受消息处理,进入下一轮循环;
从玩家工作原理:
1)、从玩家等待主玩家的走帧数;
2)、从玩家接收到主玩家的走帧数,立即应答主玩家;
3)、从玩家播放走帧;
4)、从玩家等待主玩家的事件消息;
5)、从玩家接收到主玩家的事件消息后,立即执行它;
6)、从玩家取出自己的事件消息,并发送给主玩家;
7)、从玩家执行自己的事件消息,进入下一轮循环。
2.根据权利要求1所述的方法,其特征在于其中所述的主机是具有计算能力的电子系统。
CN 200810087318 2008-03-18 2008-03-18 一种将Flash单机双人游戏在双主机上同步运行的方法 Active CN101420347B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810087318 CN101420347B (zh) 2008-03-18 2008-03-18 一种将Flash单机双人游戏在双主机上同步运行的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810087318 CN101420347B (zh) 2008-03-18 2008-03-18 一种将Flash单机双人游戏在双主机上同步运行的方法

Publications (2)

Publication Number Publication Date
CN101420347A CN101420347A (zh) 2009-04-29
CN101420347B true CN101420347B (zh) 2011-11-09

Family

ID=40630966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810087318 Active CN101420347B (zh) 2008-03-18 2008-03-18 一种将Flash单机双人游戏在双主机上同步运行的方法

Country Status (1)

Country Link
CN (1) CN101420347B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999153B (zh) * 2011-09-08 2016-05-04 北京林业大学 基于自然人机交互的二维数据对象控制系统及其方法
CN103036850A (zh) * 2011-09-30 2013-04-10 深圳市快播科技有限公司 游戏操作复制方法、装置与客户端
CN103634333B (zh) 2012-08-21 2015-04-08 腾讯科技(深圳)有限公司 网络应用的数据同步方法和装置
CN103618701A (zh) * 2013-11-14 2014-03-05 北京奇虎科技有限公司 一种进行网页游戏交互的方法和浏览器
CN108540454B (zh) * 2018-03-16 2020-09-15 武汉微派网络科技有限公司 碰撞同步方法、客户端及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040179554A1 (en) * 2003-03-12 2004-09-16 Hsi-Kang Tsao Method and system of implementing real-time video-audio interaction by data synchronization
CN1567822A (zh) * 2003-06-23 2005-01-19 英华达(上海)电子有限公司 令多个电子装置同时进行网络游戏的方法
CN1629809A (zh) * 2003-12-19 2005-06-22 英华达(上海)电子有限公司 即时网络连线游戏的画面同步方法与装置
CN1992705A (zh) * 2005-12-31 2007-07-04 英业达股份有限公司 一种达成移动装置游戏同步的方法及其系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040179554A1 (en) * 2003-03-12 2004-09-16 Hsi-Kang Tsao Method and system of implementing real-time video-audio interaction by data synchronization
CN1567822A (zh) * 2003-06-23 2005-01-19 英华达(上海)电子有限公司 令多个电子装置同时进行网络游戏的方法
CN1629809A (zh) * 2003-12-19 2005-06-22 英华达(上海)电子有限公司 即时网络连线游戏的画面同步方法与装置
CN1992705A (zh) * 2005-12-31 2007-07-04 英业达股份有限公司 一种达成移动装置游戏同步的方法及其系统

Also Published As

Publication number Publication date
CN101420347A (zh) 2009-04-29

Similar Documents

Publication Publication Date Title
KR102509237B1 (ko) 가상 토너먼트를 위한 동기화 모델
CN102968549B (zh) 基于智能移动终端设备的多人在线交互方法与系统
CN111526927B (zh) 在失去主动控制之后通过用户模拟的临时游戏控制
EP3807766B1 (en) Shadow tracking of real-time interactive simulations for complex system analysis
Bettner et al. 1500 archers on a 28.8: Network programming in Age of Empires and beyond
RU2507568C2 (ru) Система для ускорения доставки веб-страницы
CN1759909B (zh) 在线游戏观众系统
US20140155174A1 (en) System and method for sharing score experiences
WO2018104921A1 (en) A system and method for collaborative learning using virtual reality
CN101420347B (zh) 一种将Flash单机双人游戏在双主机上同步运行的方法
CN113209632B (zh) 一种云游戏的处理方法、装置、设备及存储介质
TW200952495A (en) Apparatus for combining aplurality of views of real-time streaming interactive video
TW201041400A (en) Temporary decoder apparatus and method
TW200949567A (en) Apparatus for combining recorded application state with application streaming interactive video output
TW200935920A (en) System and method for compressing video by allocating bits to image tiles based on detected intraframe motion or scene complexity
JP2015524677A (ja) インタラクティブ・ゲームプレイのためのシステム及び方法
TW200952494A (en) Method for multicasting views of real-time streaming interactive video
TW200939780A (en) Video compression system and method for compensating for bandwidth limitations of a communication channel
TW200941232A (en) Video compression system and method for reducing the effects of packet loss over a communication channel
CN113710335A (zh) 事务存储器同步
US20170304727A1 (en) User Save Data Migration Based on Location Information
CN111880845A (zh) 控制目标应用的方法、系统及装置
CN103780694B (zh) 广域网实时互动游戏分布式联网方法、装置及系统
Otten Broadcasting virtual games in the internet
US20200014738A1 (en) Selective capture with rapid sharing of user or mixed reality actions and states using interactive virtual streaming

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: TENCENT TECHNOLOGY (SHENZHEN) CO., LTD.

Free format text: FORMER OWNER: WANG RUIBIN

Effective date: 20110928

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 230031 HEFEI, ANHUI PROVINCE TO: 518044 SHENZHEN, GUANGDONG PROVINCE

DD01 Delivery of document by public notice

Addressee: Wang Ruibin

Document name: Notice of extension

TA01 Transfer of patent application right

Effective date of registration: 20110928

Address after: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Applicant after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: 1601, room 1, 230031 rainbow home, 321 West Changjiang Road, Hefei, Anhui

Applicant before: Wang Ruibin